chore(deps): update all-minor-updates #9

Open
renovate-bot wants to merge 1 commits from renovate/minor into main
Collaborator

This PR contains the following updates:

Package Type Update Change
@types/node (source) devDependencies minor 25.5.025.9.5
@types/react (source) devDependencies patch 19.2.1419.2.18
@types/react-dom (source) devDependencies patch 19.2.319.2.4
autoprefixer dependencies minor 10.4.2710.5.4
axios (source) dependencies minor 1.14.01.19.0
eslint (source) devDependencies minor 10.1.010.8.1
eslint-config-next (source) devDependencies minor 16.2.116.3.0
next (source) dependencies minor 16.2.116.3.0
node (source) minor 25.8.225.9.0
pnpm (source) packageManager minor 10.33.010.34.5
postcss (source) dependencies patch 8.5.88.5.26
react (source) dependencies patch 19.2.419.2.8
react-dom (source) dependencies patch 19.2.419.2.8
vitest (source) devDependencies patch 4.1.24.1.10
yarn (source) packageManager minor 4.13.04.18.0

Release Notes

postcss/autoprefixer (autoprefixer)

v10.5.4

Compare Source

v10.5.3

Compare Source

v10.5.2

Compare Source

  • Moved -webkit-fill-available before -moz-available, so Firefox
    will use -webkit- version which is closer to stretch.

v10.5.1

Compare Source

v10.5.0

Compare Source

  • Added mask-position-x and mask-position-y support (by @​toporek).
axios/axios (axios)

v1.19.0

Compare Source

This release raises the form-data security floor, adds configuration and type-system capabilities, and fixes NO_PROXY matching, interceptor errors, progress reporting, and serialization edge cases.

v1.18.1

Compare Source

v1.18.1 — June 21, 2026

This release focuses on Node HTTP adapter fixes, safer AxiosError serialisation, runtime/type correctness fixes, documentation updates, and dependency maintenance.

🐛 Bug Fixes

  • AxiosError Serialisation: Made AxiosError#cause non-enumerable to prevent circular JSON serialisation failures when errors include nested causes. (#​10913)
  • Node HTTP Adapter: Guarded socket.setKeepAlive for proxy agent streams, accepted path-only URLs when socketPath is configured, deferred environment proxy handling to Node, and explicitly passed maxBodyLength through to follow-redirects. (#​10917, #​10930, #​10942, #​10993)
  • Runtime and Type Correctness: Fixed several runtime crashes, type definition mismatches, and incorrect error handling paths. (#​10959, #​11021)
  • AxiosURLSearchParams: Switched the encoder callback to an arrow function so encoder.call(this) receives the AxiosURLSearchParams instance correctly. (#​11019)

🔧 Maintenance & Chores

🌟 New Contributors

We are thrilled to welcome our new contributors. Thank you for helping improve axios:

Full Changelog

v1.18.0

Compare Source

This release hardens redirect and URL handling, improves the validateStatus configuration semantics, and includes updates to documentation, dependencies, and release metadata.

v1.17.0

Compare Source

This release adds Node HTTP zstd decompression, hardens config and release workflows, and fixes authentication, header, proxy, and type-handling regressions.

v1.16.1

Compare Source

This release ships a defence-in-depth fix for prototype pollution in formDataToJSON, hardens proxy and CI workflows, restores Webpack 4 compatibility for the fetch adapter, and includes several small bug fixes and maintenance improvements.

v1.16.0

Compare Source

This release adds support for the QUERY HTTP method and a new ECONNREFUSED error constant, lands a substantial wave of HTTP, fetch, and XHR adapter bug fixes around redirects, aborts, headers, and timeouts, and welcomes 23 new contributors.

v1.15.2

Compare Source

This release delivers prototype-pollution hardening for the Node HTTP adapter, adds an opt-in allowedSocketPaths allowlist to mitigate SSRF via Unix domain sockets, fixes a keep-alive socket memory leak, and ships supply-chain hardening across CI and security docs.

v1.15.1

Compare Source

This release ships a coordinated set of security hardening fixes across headers, body/redirect limits, multipart handling, and XSRF/prototype-pollution vectors, alongside a broad sweep of bug fixes, test migrations, and threat-model documentation updates.

v1.15.0

Compare Source

Bug Fixes
Features
  • fomdata: added support for spec-compliant FormData & Blob types; (#​5316) (6ac574e)
Contributors to this release
PRs

⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459

1.2.6 (2023-01-28)

Bug Fixes
  • headers: added missed Authorization accessor; (#​5502) (342c0ba)
  • types: fixed CommonRequestHeadersList & CommonResponseHeadersList types to be private in commonJS; (#​5503) (5a3d0a3)
Contributors to this release
PRs

⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459

1.2.5 (2023-01-26)

Bug Fixes
  • types: fixed AxiosHeaders to handle spread syntax by making all methods non-enumerable; (#​5499) (580f1e8)
Contributors to this release
PRs

⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459

1.2.4 (2023-01-22)

Bug Fixes
Contributors to this release
PRs

⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459

1.2.3 (2023-01-10)

Bug Fixes
  • types: fixed AxiosRequestConfig header interface by refactoring it to RawAxiosRequestConfig; (#​5420) (0811963)
Contributors to this release
PRs

⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459

[1.2.2] - 2022-12-29

Fixed
Chores
  • chore(ci): set conventional-changelog header config #​5406
  • chore(ci): fix automatic contributors resolving #​5403
  • chore(ci): improved logging for the contributors list generator #​5398
  • chore(ci): fix release action #​5397
  • chore(ci): fix version bump script by adding bump argument for target version #​5393
  • chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2 #​5342
  • chore(ci): GitHub Actions Release script #​5384
  • chore(ci): release scripts #​5364
Contributors to this release

[1.2.1] - 2022-12-05

Changed
  • feat(exports): export mergeConfig #​5151
Fixed
  • fix(CancelledError): include config #​4922
  • fix(general): removing multiple/trailing/leading whitespace #​5022
  • fix(headers): decompression for responses without Content-Length header #​5306
  • fix(webWorker): exception to sending form data in web worker #​5139
Refactors
  • refactor(types): AxiosProgressEvent.event type to any #​5308
  • refactor(types): add missing types for static AxiosError.from method #​4956
Chores
  • chore(docs): remove README link to non-existent upgrade guide #​5307
  • chore(docs): typo in issue template name #​5159
Contributors to this release
PRs

⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459

[1.2.0] - 2022-11-10

Changed
  • changed: refactored module exports #​5162
  • change: re-added support for loading Axios with require('axios').default #​5225
Fixed
  • fix: improve AxiosHeaders class #​5224
  • fix: TypeScript type definitions for commonjs #​5196
  • fix: type definition of use method on AxiosInterceptorManager to match the README #​5071
  • fix: __dirname is not defined in the sandbox #​5269
  • fix: AxiosError.toJSON method to avoid circular references #​5247
  • fix: Z_BUF_ERROR when content-encoding is set but the response body is empty #​5250
Refactors
  • refactor: allowing adapters to be loaded by name #​5277
Chores
  • chore: force CI restart #​5243
  • chore: update ECOSYSTEM.md #​5077
  • chore: update get/index.html #​5116
  • chore: update Sandbox UI/UX #​5205
  • chore:(actions): remove git credentials after checkout #​5235
  • chore(actions): bump actions/dependency-review-action from 2 to 3 #​5266
  • chore(packages): bump loader-utils from 1.4.1 to 1.4.2 #​5295
  • chore(packages): bump engine.io from 6.2.0 to 6.2.1 #​5294
  • chore(packages): bump socket.io-parser from 4.0.4 to 4.0.5 #​5241
  • chore(packages): bump loader-utils from 1.4.0 to 1.4.1 #​5245
  • chore(docs): update Resources links in README #​5119
  • chore(docs): update the link for JSON url #​5265
  • chore(docs): fix broken links #​5218
  • chore(docs): update and rename UPGRADE_GUIDE.md to MIGRATION_GUIDE.md #​5170
  • chore(docs): typo fix line #​856 and #​920 #​5194
  • chore(docs): typo fix #​800 #​5193
  • chore(docs): fix typos #​5184
  • chore(docs): fix punctuation in README.md #​5197
  • chore(docs): update readme in the Handling Errors section - issue reference #​5260 #​5261
  • chore: remove \b from filename #​5207
  • chore(docs): update CHANGELOG.md #​5137
  • chore: add sideEffects false to package.json #​5025
Contributors to this release
PRs

⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459

[1.1.3] - 2022-10-15

Added
  • Added custom params serializer support #​5113
Fixed
  • Fixed top-level export to keep them in-line with static properties #​5109
  • Stopped including null values to query string. #​5108
  • Restored proxy config backwards compatibility with 0.x #​5097
  • Added back AxiosHeaders in AxiosHeaderValue #​5103
  • Pin CDN install instructions to a specific version #​5060
  • Handling of array values fixed for AxiosHeaders #​5085
Chores
  • docs: match badge style, add link to them #​5046
  • chore: fixing comments typo #​5054
  • chore: update issue template #​5061
  • chore: added progress capturing section to the docs; #​5084
Contributors to this release
PRs

⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459

[1.1.2] - 2022-10-07

Fixed
  • Fixed broken exports for UMD builds.
Contributors to this release
PRs

⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459

[1.1.1] - 2022-10-07

Fixed
  • Fixed broken exports for common js. This fix breaks a prior fix, I will fix both issues ASAP but the commonJS use is more impactful.
Contributors to this release
PRs

⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459

[1.1.0] - 2022-10-06

Fixed
  • Fixed missing exports in type definition index.d.ts #​5003
  • Fixed query params composing #​5018
  • Fixed GenericAbortSignal interface by making it more generic #​5021
  • Fixed adding "clear" to AxiosInterceptorManager #​5010
  • Fixed commonjs & umd exports #​5030
  • Fixed inability to access response headers when using axios 1.x with Jest #​5036
Contributors to this release
PRs

⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459

[1.0.0] - 2022-10-04

Added
  • Added stack trace to AxiosError #​4624
  • Add AxiosError to AxiosStatic #​4654
  • Replaced Rollup as our build runner #​4596
  • Added generic TS types for the exposed toFormData helper #​4668
  • Added listen callback function #​4096
  • Added instructions for installing using PNPM #​4207
  • Added generic AxiosAbortSignal TS interface to avoid importing AbortController polyfill #​4229
  • Added axios-url-template in ECOSYSTEM.md #​4238
  • Added a clear() function to the request and response interceptors object so a user can ensure that all interceptors have been removed from an axios instance #​4248
  • Added react hook plugin #​4319
  • Adding HTTP status code for transformResponse #​4580
  • Added blob to the list of protocols supported by the browser #​4678
  • Resolving proxy from env on redirect #​4436
  • Added enhanced toFormData implementation with additional options 4704
  • Adding Canceler parameters config and request #​4711
  • Added automatic payload serialization to application/x-www-form-urlencoded #​4714
  • Added the ability for webpack users to overwrite built-ins #​4715
  • Added string[] to AxiosRequestHeaders type #​4322
  • Added the ability for the url-encoded-form serializer to respect the formSerializer config #​4721
  • Added isCancel type assert #​4293
  • Added data URL support for node.js #​4725
  • Adding types for progress event callbacks #​4675
  • URL params serializer #​4734
  • Added axios.formToJSON method #​4735
  • Bower platform add data protocol #​4804
  • Use WHATWG URL API instead of url.parse() #​4852
  • Add ENUM containing Http Status Codes to typings #​4903
  • Improve typing of timeout in index.d.ts #​4934
Changed
  • Updated AxiosError.config to be optional in the type definition #​4665
  • Updated README emphasizing the URLSearchParam built-in interface over other solutions #​4590
  • Include request and config when creating a CanceledError instance #​4659
  • Changed func-names eslint rule to as-needed #​4492
  • Replacing deprecated substr() with slice() as substr() is deprecated #​4468
  • Updating HTTP links in README.md to use HTTPS #​4387
  • Updated to a better trim() polyfill #​4072
  • Updated types to allow specifying partial default headers on instance create #​4185
  • Expanded isAxiosError types #​4344
  • Updated type definition for axios instance methods #​4224
  • Updated eslint config #​4722
  • Updated Docs #​4742
  • Refactored Axios to use ES2017 #​4787
Deprecated
  • There are multiple deprecations, refactors and fixes provided in this release. Please read through the full release notes to see how this may impact your project and use case.
Removed
  • Removed incorrect argument for NetworkError constructor #​4656
  • Removed Webpack #​4596
  • Removed function that transform arguments to array #​4544
Fixed
  • Fixed grammar in README #​4649
  • Fixed code error in README #​4599
  • Optimized the code that checks cancellation #​4587
  • Fix url pointing to defaults.js in README #​4532
  • Use type alias instead of interface for AxiosPromise #​4505
  • Fix some word spelling and lint style in code comments #​4500
  • Edited readme with 3 updated browser icons of Chrome, FireFox and Safari #​4414
  • Bump follow-redirects from 1.14.9 to 1.15.0 #​4673
  • Fixing http tests to avoid hanging when assertions fail #​4435
  • Fix TS definition for AxiosRequestTransformer #​4201
  • Fix grammatical issues in README #​4232
  • Fixing instance.defaults.headers type #​4557
  • Fixed race condition on immediate requests cancellation #​4261
  • Fixing Z_BUF_ERROR when no content #​4701
  • Fixing proxy beforeRedirect regression #​4708
  • Fixed AxiosError status code type #​4717
  • Fixed AxiosError stack capturing #​4718
  • Fixing AxiosRequestHeaders typings #​4334
  • Fixed max body length defaults #​4731
  • Fixed toFormData Blob issue on node>v17 #​4728
  • Bump grunt from 1.5.2 to 1.5.3 #​4743
  • Fixing content-type header repeated #​4745
  • Fixed timeout error message for http 4738
  • Request ignores false, 0 and empty string as body values #​4785
  • Added back missing minified builds #​4805
  • Fixed a type error #​4815
  • Fixed a regression bug with unsubscribing from cancel token; #​4819
  • Remove repeated compression algorithm #​4820
  • The error of calling extend to pass parameters #​4857
  • SerializerOptions.indexes allows boolean | null | undefined #​4862
  • Require interceptors to return values #​4874
  • Removed unused imports #​4949
  • Allow null indexes on formSerializer and paramsSerializer #​4960
Chores
  • Set permissions for GitHub actions #​4765
  • Included githubactions in the dependabot config #​4770
  • Included dependency review #​4771
  • Update security.md #​4784
  • Remove unnecessary spaces #​4854
  • Simplify the import path of AxiosError #​4875
  • Fix Gitpod dead link #​4941
  • Enable syntax highlighting for a code block #​4970
  • Using Logo Axios in Readme.md #​4993
  • Fix markup for note in README #​4825
  • Fix typo and formatting, add colons #​4853
  • Fix typo in readme #​4942
Security
Contributors to this release
eslint/eslint (eslint)

v10.8.1

Compare Source

Bug Fixes

  • 18eb0a7 fix: prevent ASI hazard in no-unused-labels autofix (#​21173) (dongkyu lee)
  • 151ba3f fix: false positives in getter-return and accessor-pairs (#​21163) (Grit)
  • 6898df9 fix: ignore meta-property names in id-denylist (#​21166) (Pixel)
  • 4d7db66 fix: ignore meta-property names in id-match (#​21167) (Pixel)
  • 677214e fix: handle ASI hazards in no-unused-vars removeVar suggestion (#​20935) (kuldeep kumar)

Documentation

  • 7d0cbf8 docs: Update README (GitHub Actions Bot)
  • 0a05812 docs: add missing backticks to no-duplicate-imports.js (#​21183) (Lee Daeun)
  • 678c90b docs: Update README (GitHub Actions Bot)
  • 8a10424 docs: Update README (GitHub Actions Bot)
  • 69bb948 docs: Update README (GitHub Actions Bot)

Chores

v10.8.0

Compare Source

Features

Bug Fixes

  • 6b8d2f7 fix: escape reserved characters in rule id in html formatter (#​21129) (Francesco Trotta)
  • 9091071 fix: prevent no-unreachable-loop crash when all loop types are ignored (#​21116) (Pixel)
  • e23fafe fix: prefer-object-spread add semicolon when adding parenthesis (#​21081) (synthex-byte)
  • 20b5ad0 fix: quadratic-time regex in prefer-template (#​21096) (Milos Djermanovic)
  • 8b6f6c0 fix: apply ignore configs to computed methods in class-methods-use-this (#​21094) (Pixel)
  • b2c608c fix: NewExpression with parenthesized callee in preserve-caught-error (#​21083) (Francesco Trotta)

Documentation

  • 6ddf858 docs: fix broken Specify Parser Options anchor link (#​21106) (Minsu)
  • 784dfbe docs: Clarify no-eq-null description (#​21120) (Park Harin)
  • 7ec733a docs: Fix typos and grammar in glossary (#​21095) (Marry (Subin Yang))
  • 92bb13f docs: replace quake link (#​21108) (Jung Hyeon Jun)
  • 68eb4a5 docs: fix broken Specify Globals anchor links in rule pages (#​21103) (Minsu)
  • d28f697 docs: replace Code Climate CLI links with Qlty CLI links (#​21099) (Jung Hyeon Jun)
  • eccc68d docs: correct --suppressions-location option description (#​21093) (Ga eun Lee)
  • c5963f7 docs: Update README (GitHub Actions Bot)

Chores

  • 4fbf46d test: pin webpack version to 5.108.4 (#​21137) (Francesco Trotta)
  • 2d063e2 chore: update HTTP URLs to HTTPS in JSDoc and comments (#​21101) (Bo Hyun Kim)
  • eccbe7b test: add error locations to no-class-assign (#​21123) (devoil)
  • e7d1e43 ci: bump actions/setup-go from 6 to 7 (#​21118) (dependabot[bot])
  • e9d66d0 ci: bump actions/setup-node from 6 to 7 (#​21119) (dependabot[bot])
  • ee225b6 test: Add error location details to no-eq-null rule (#​21117) (Park Harin)
  • 044a627 chore: update minimatch to ^10.2.5 (#​21107) (김채영)
  • fb09aa8 chore: update ecosystem plugins (#​21115) (ESLint Bot)
  • 5abd878 test: add error locations to no-proto (#​21114) (Gihyeon Jeong / 정기현)
  • 9715887 test: Add error location details to no-div-regex (#​21110) (Park Harin)
  • a746ec6 test: add error locations to no-new-wrappers (#​21109) (Gihyeon Jeong / 정기현)
  • 8dde645 test: add error locations to no-ex-assign (#​21102) (devoil)
  • 13ab0ec test: add error locations to no-label-var (#​21098) (Gihyeon Jeong / 정기현)
  • a99906f test: Add error location details to no-delete-var rule (#​21105) (Park Harin)
  • c47e8dc chore: add missing backticks to languages/js/index.js (#​21104) (beeen)
  • 0174428 chore: add missing backticks to translate-cli-options.js (#​21097) (dongkyu lee)
  • 3d36589 chore: add missing backticks to serialization.js (#​21091) (이규환)
  • dcc9312 test: add error locations to eqeqeq (#​21090) (Ga eun Lee)
  • 2710b18 ci: Add explicit permissions to rebuild-docs-sites workflow (#​21089) (Marry (Subin Yang))
  • 5d2f866 chore: update dependency prettier to v3.9.5 (#​21086) (renovate[bot])
  • d584e31 chore: fix failing ecosystem test for eslint-plugin-unicorn (#​21084) (Francesco Trotta)
  • bf3eda0 chore: update ecosystem plugins (#​21079) (ESLint Bot)

v10.7.0

Compare Source

Features

  • cf2a9bf feat: add errorClassNames option to preserve-caught-error rule (#​21032) (sethamus)
  • f8b873a feat: max-nested-callbacks option for constructor callbacks (#​21063) (fnx)
  • 557fde8 feat: support computed Number.parseInt member access in radix rule (#​21041) (Pixel)
  • 0b4a73b feat: add suggestions to no-compare-neg-zero (#​21034) (den$)
  • 96cdd42 feat: report invalid signed numeric radix values in radix rule (#​21030) (Pixel)

Bug Fixes

  • 3e7bf15 fix: apply ignoreClassesWithImplements to class expressions (#​21069) (Pixel)
  • 0d7d70c fix: insert cause outside wrapping parens in preserve-caught-error (#​21062) (Mahin Anowar)
  • 75ec753 fix: handle static template literals in eqeqeq rule (#​21058) (Pixel)
  • b717a22 fix: prevent eqeqeq null option from reporting non-equality operators (#​21057) (Pixel)
  • e35b05f fix: avoid no-invalid-regexp false positive for shadowed RegExp (#​21051) (Pixel)
  • a3172b6 fix: avoid no-control-regex false positive for shadowed RegExp (#​21050) (Pixel)
  • d1f637e fix: parenthesize sequence expression operands in no-implicit-coercion (#​21045) (spokodev)
  • 8859baf fix: avoid prefer-numeric-literals false positive for shadowed globals (#​21047) (한국)
  • a9e5961 fix: use-isnan false positive on shadowed NaN/Number (#​20958) (sethamus)
  • 8a240a7 fix: avoid false positives in radix rule for spread arguments (#​21044) (Pixel)

Documentation

  • c30d808 docs: Update README (GitHub Actions Bot)
  • 5139800 docs: document ESLint migration codemods in v9 and v10 guides (#​20980) (Alex Bit)
  • 04174cb docs: Update README (GitHub Actions Bot)
  • 026e130 docs: update semver policy for bug fixes (#​21048) (Milos Djermanovic)
  • 9d42fef docs: Update README (GitHub Actions Bot)
  • b230159 docs: Update README (GitHub Actions Bot)
  • 0129972 docs: correct **/.js glob to **/*.js in config files guide (#​21036) (EduardF1)

Chores

v10.6.0

Compare Source

Features

  • b1f9106 feat: detect Symbol() and BigInt() in no-constant-binary-expression (#​20981) (Taejin Kim)
  • f291007 feat: add checkRelationalComparisons to no-constant-binary-expression (#​20948) (sethamus)

Bug Fixes

  • 6b05784 fix: prefer-exponentiation-operator invalid autofix at statement start (#​20997) (Milos Djermanovic)
  • bb9eb2a fix: account for shadowed Boolean in no-extra-boolean-cast (#​21013) (den$)
  • 8fd8741 fix: don't report shadowed undefined in radix rule (#​21011) (Pixel)
  • 5784980 fix: don't report shadowed undefined in no-throw-literal (#​21010) (Pixel)
  • 9cd1e6d fix: suppress invalid class suggestion in no-promise-executor-return (#​21008) (Pixel)
  • d4eb2dc fix: don't report shadowed undefined in prefer-promise-reject-errors (#​21006) (Pixel)
  • 2360464 fix: prefer-promise-reject-errors false positives for shadowed Promise (#​21003) (den$)
  • 63d52d2 fix: restore max-classes-per-file report range (#​21002) (Pixel)
  • 7feaff0 fix: callback detection logic for IIFEs in max-nested-callbacks (#​20979) (fnx)
  • 399a2ec fix: don't report inner non-callbacks in max-nested-callbacks (#​20995) (Milos Djermanovic)

Documentation

  • a83683d docs: Update README (GitHub Actions Bot)
  • f5449f9 docs: document userland patterns for global assertionOptions in RuleT… (#​20986) (playgirl)
  • bea49f7 docs: Update README (GitHub Actions Bot)
  • e5f70f9 docs: update code-path diagrams (#​20984) (Tanuj Kanti)
  • 8890c2d docs: add TypeScript config guidance for MCP server (#​20796) (Pierluigi Lenoci)
  • 3eb3d9b docs: Update README (GitHub Actions Bot)
  • c5bb59c docs: Update README (GitHub Actions Bot)
  • eb3c97c docs: fix grammar in prefer-const rule description (#​20983) (lumir)

Chores

v10.5.0

Compare Source

Features

  • 5ca8c52 feat: correct stack tracking in max-nested-callbacks (#​20973) (Pixel998)
  • b565783 feat: report no-with violations at the with keyword (#​20971) (Pixel998)
  • 2ce032f feat: report max-lines-per-function violations at function head (#​20966) (Pixel998)
  • 732cb3e feat: report max-nested-callbacks violations at function head (#​20967) (Pixel998)
  • f9c138a feat: report max-depth violations on keywords (#​20943) (Pixel998)
  • bdb496c feat: correct max-depth handling for else-if chains (#​20944) (Pixel998)
  • c296873 feat: update error loc in max-statements to function header (#​20907) (Taejin Kim)

Documentation

  • 8ae1b5b docs: Update README (GitHub Actions Bot)
  • ca7eb90 docs: update Node.js prerequisites to include ICU support (#​20962) (Francesco Trotta)
  • f99b47a docs: Update README (GitHub Actions Bot)
  • acf03d4 docs: clarify precedence of parserOptions over languageOptions (#​20926) (sethamus)

Chores

v10.4.1

Compare Source

Bug Fixes

  • e557467 fix: update @eslint/plugin-kit version to 0.7.2 (#​20930) (Francesco Trotta)
  • d4ce898 fix: propagate failures from delegated commands (#​20917) (Minh Vu)
  • f4f3507 fix: prefer-arrow-callback invalid autofix with newline after async (#​20916) (kuldeep kumar)
  • c5bc78b fix: false positive for reference in finally block (#​20655) (Tanuj Kanti)
  • 27538c0 fix: add missing CodePath and CodePathSegment types (#​20853) (Pixel998)

Documentation

  • 61b0add docs: remove deprecated rule from related rules of max-params (#​20921) (Tanuj Kanti)
  • 305d5b9 docs: remove deprecated rules from related rules section (#​20911) (Tanuj Kanti)
  • 49b0202 docs: fix display: none of ad (#​20901) (Tanuj Kanti)
  • 9067f94 docs: switch build to Node.js 24 (#​20893) (Milos Djermanovic)
  • c91b041 docs: Update README (GitHub Actions Bot)
  • e349265 docs: clarify semver strings in rule deprecation objects (#​20885) (Milos Djermanovic)

Chores

v10.4.0

Compare Source

Features

  • 1a45ec5 feat: check sequence expressions in for-direction (#​20701) (kuldeep kumar)
  • 450040b feat: add includeIgnoreFile() to eslint/config (#​20735) (Kirk Waiblinger)

Bug Fixes

Documentation

  • 7e52a71 docs: add mention of @eslint-react/eslint-plugin (#​20869) (Pavel)
  • db3468b docs: tweak wording around ambiguous CJS-vs-ESM config (#​20865) (Kirk Waiblinger)
  • 9084664 docs: Update README (GitHub Actions Bot)
  • 9cc7387 docs: Update README (GitHub Actions Bot)
  • 3d7b548 docs: Update README (GitHub Actions Bot)
  • 191ec3c docs: Update README (GitHub Actions Bot)

Chores

  • 6616856 chore: upgrade knip to v6 (#​20875) (Pixel998)
  • d13b084 ci: ensure auto-created PRs run CI (#​20860) (lumir)
  • e71c7af ci: bump pnpm/action-setup from 6.0.5 to 6.0.7 (#​20862) (dependabot[bot])
  • d84393d test: add unit tests for SuppressionsService.applySuppressions() (#​20863) (kuldeep kumar)
  • 24db8cb test: add tests for SuppressionsService.save() (#​20802) (kuldeep kumar)
  • 2ef0549 chore: update ecosystem plugins (#​20857) (github-actions[bot])
  • a429791 ci: remove eslint-webpack-plugin types integration test (#​20668) (Milos Djermanovic)
  • 9e37386 chore: replace recast with range approach in code-sample-minimizer (#​20682) (Copilot)
  • 0dd1f9f test: disable warning for vm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER (#​20845) (Francesco Trotta)
  • 9da3c7b refactor: remove deprecated meta.language and migrate meta.dialects (#​20716) (Pixel998)
  • 2099ed1 refactor: add meta.defaultOptions to more rules, enable linting (#​20800) (xbinaryx)
  • f1dfbc9 chore: update ecosystem plugins (#​20836) (github-actions[bot])
  • c759413 ci: bump pnpm/action-setup from 6.0.3 to 6.0.5 (#​20843) (dependabot[bot])
  • 5b817d6 test: add unit tests for lib/shared/ast-utils (#​20838) (kuldeep kumar)
  • 1c13ae3 test: add unit tests for lib/shared/severity (#​20835) (kuldeep kumar)

v10.3.0

Compare Source

Features

  • 379571a feat: add suggestions for no-unused-private-class-members (#​20773) (sethamus)

Bug Fixes

  • b6ae5cf fix: handle unavailable require cache (#​20812) (Simon Podlipsky)
  • 6fb3685 fix: rule suggestions cause continuation in class body (#​20787) (Milos Djermanovic)

Documentation

  • 32cc7ab docs: fix typos in docs and comments (#​20809) (Tanuj Kanti)
  • 7f47937 docs: Update README (GitHub Actions Bot)

Chores

  • d32235e ci: use pnpm in eslint-flat-config-utils type integration test (#​20826) (Francesco Trotta)
  • 3ffb14e chore: clean up typos in comments and JSDoc (#​20821) (Pixel998)
  • 22eb58a chore: add missing continue-on-error to ecosystem-tests.yml (#​20818) (Josh Goldberg )
  • 88bf002 ci: bump pnpm/action-setup from 6.0.1 to 6.0.3 (#​20815) (dependabot[bot])
  • 97c8c33 chore: update ilshidur/action-discord action to v0.4.0 (#​20811) (renovate[bot])
  • 2f58136 chore: pin peter-evans/create-pull-request action to 5f6978f (#​20810) (renovate[bot])
  • 77add7f chore: add initial ecosystem plugin tests workflow (#​19643) (Josh Goldberg )
  • 4023b55 test: Add unit tests for SuppressionsService.prune() (#​20797) (kuldeep kumar)
  • 54080da test: add unit tests for ForkContext (#​20778) (kuldeep kumar)
  • f0e2bcc test: add unit tests for SuppressionsService.suppress() method (#​20765) (kuldeep kumar)
  • a7f0b94 chore: update dependency prettier to v3.8.3 (#​20782) (renovate[bot])
  • 7bf93d9 chore: update TypeScript to v6 (#​20677) (sethamus)
  • b42dd72 ci: bump pnpm/action-setup from 6.0.0 to 6.0.1 (#​20781) (dependabot[bot])
  • 2b252be test: add unit tests for IdGenerator (#​20775) (kuldeep kumar)

v10.2.1

Compare Source

Bug Fixes

  • 14be92b fix: model generator yield resumption paths in code path analysis (#​20665) (sethamus)
  • 84a19d2 fix: no-async-promise-executor false positives for shadowed Promise (#​20740) (xbinaryx)
  • af764af fix: clarify language and processor validation errors (#​20729) (Pixel998)
  • e251b89 fix: update eslint (#​20715) (renovate[bot])

Documentation

  • ca92ca0 docs: reuse markdown-it instance for markdown filter (#​20768) (Amaresh S M)
  • 57d2ee2 docs: Enable Eleventy incremental mode for watch (#​20767) (Amaresh S M)
  • c1621b9 docs: fix typos in code-path-analyzer.js (#​20700) (Ayush Shukla)
  • 1418d52 docs: Update README (GitHub Actions Bot)
  • 39771e6 docs: Update README (GitHub Actions Bot)
  • 71e0469 docs: fix incomplete JSDoc param description in no-shadow rule (#​20728) (kuldeep kumar)
  • 22119ce docs: clarify scope of for-direction rule with dead code examples (#​20723) (Amaresh S M)
  • 8f3fb77 docs: document meta.docs.dialects (#​20718) (Pixel998)

Chores

  • 7ddfea9 chore: update dependency prettier to v3.8.2 (#​20770) (renovate[bot])
  • fac40e1 ci: bump pnpm/action-setup from 5.0.0 to 6.0.0 (#​20763) (dependabot[bot])
  • 7246f92 test: add tests for SuppressionsService.load() error handling (#​20734) (kuldeep kumar)
  • 4f34b1e chore: update pnpm/action-setup action to v5 (#​20762) (renovate[bot])
  • 51080eb test: processor service (#​20731) (kuldeep kumar)
  • e7e1889 chore: remove stale babel-eslint10 fixture and test (#​20727) (kuldeep kumar)
  • 4e1a87c test: remove redundant async/await in flat config array tests (#​20722) (Pixel998)
  • 066eabb test: add rule metadata coverage for languages and docs.dialects (#​20717) (Pixel998)

v10.2.0

Compare Source

Features

Bug Fixes

Documentation

  • a2af743 docs: add language to configuration objects (#​20712) (Francesco Trotta)
  • 845f23f docs: Update README (GitHub Actions Bot)
  • 5fbcf59 docs: remove sourceType from ts playground link (#​20477) (Tanuj Kanti)
  • 8702a47 docs: Update README (GitHub Actions Bot)
  • ddeaded docs: Update README (GitHub Actions Bot)
  • 2b44966 docs: add Major Releases section to Manage Releases (#​20269) (Milos Djermanovic)
  • eab65c7 docs: update eslint versions in examples (#​20664) (루밀LuMir)
  • 3e4a299 docs: update ESM Dependencies policies with note for own-usage packages (#​20660) (Milos Djermanovic)

Chores

  • 8120e30 refactor: extract no unmodified loop condition (#​20679) (kuldeep kumar)
  • 46e8469 chore: update dependency markdownlint-cli2 to ^0.22.0 (#​20697) (renovate[bot])
  • 01ed3aa test: add unit tests for unicode utilities (#​20622) (Manish chaudhary)
  • 811f493 ci: remove --legacy-peer-deps from types integration tests (#​20667) (Milos Djermanovic)
  • 6b86fcf chore: update dependency npm-run-all2 to v8 (#​20663) (renovate[bot])
  • 632c4f8 chore: add prettier update commit to .git-blame-ignore-revs (#​20662) (루밀LuMir)
  • b0b0f21 chore: update dependency eslint-plugin-regexp to ^3.1.0 (#​20659) (Milos Djermanovic)
  • 228a2dd chore: update dependency eslint-plugin-eslint-plugin to ^7.3.2 (#​20661) (Milos Djermanovic)
  • 3ab4d7e test: Add tests for eslintrc-style keys (#​20645) (kuldeep kumar)
vercel/next.js (eslint-config-next)

v16.3.0

Compare Source

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.

v16.2.9

Compare Source

Empty release to ensure next@latest points at a stable release. Next.js only allows publishing with Trusted Publishing enabled. In order to fix NPM dist-tags, we have to release a new version. Updating dist-tags is not possible with Trusted Publishing.

v16.2.8

Compare Source

Release with no changes in an attempt to fix next@latest pointing at a prerelease version.

v16.2.7

Compare Source

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

Core Changes
  • Backport documentation fixes for v16.2 (#​93804)
  • [backport] Patch playwright-core to resolve _finishedPromise on requestFailed (#​93920)
  • [backport] Fix dev mode hydration failure when page is served from HTTP cache (#​93492)
  • [backport] Fix catch-all router.query corruption with basePath + rewrites (#​93917)
  • [backport] Encode non-ASCII characters in cache tags at construction (#​93918)
  • [backport] Fix server action forwarding loop with middleware rewrites (#​93919)
  • [backport] Turbopack: switch from base40 to base38 hash encoding (#​93932)
  • [ci] Disable hanging node 24 typescript tests on 16.2 backport branch (#​94164)
  • [backport] Fix "type: module" in project dir when using standalone or adapters (#​94050)
  • [backport] Propagate adapter preferred regions (#​94200)
  • [16.2.x] Don't drop FormData entries (#​94240)
  • [backport] feat(turbopack): add LocalPathOrProjectPath PostCSS config resolution (#​94284)
Credits

Huge thanks to @​eps1lon, @​icyJoseph, @​unstubbable, @​mischnic, @​bgw, @​timneutkens, and @​lukesandberg for helping!

v16.2.6

Compare Source

[!NOTE]
This release contains security fixes and backported bug fixes. It does not include all pending features/changes on canary.

Security Fixes

The following advisories have been addressed:

High:

Moderate:

Low:

Core Changes
  • fix: preserve HTTP access fallbacks during prerender recovery (#​92231)
  • Fix fallback route params case in app-page handler (#​91737)
  • Fix invalid HTML response for route-level RSC requests in deployment adapter (#​91541)
  • Patch setHeader for direct route handlers (#​93101)
  • Include deployment id in cacheHandlers keys (#​93453)
  • Fix double-encoding of URL pathname parts in client param parsing (#​93491)

v16.2.5

Compare Source

[!NOTE]
This release contains security fixes and backported bug fixes. It does not include all pending features/changes on canary.

Security Fixes

The following advisories have been addressed:

High:

Moderate:

Low:

Core Changes
  • fix: preserve HTTP access fallbacks during prerender recovery (#​92231)
  • Fix fallback route params case in app-page handler (#​91737)
  • Fix invalid HTML response for route-level RSC requests in deployment adapter (#​91541)
  • Patch setHeader for direct route handlers (#​93101)
  • Include deployment id in cacheHandlers keys (#​93453)
  • Fix double-encoding of URL pathname parts in client param parsing (#​93491)

v16.2.4

Compare Source

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

Core Changes
  • chore: Bump reqwest to 0.13.2 (Fixes Google Fonts with Turbopack for Windows on ARM64) (#​92713)
  • Turbopack: fix filesystem watcher config not applying follow_symlinks(false) (#​92631)
  • Scope Safari ?ts= cache-buster to CSS/font assets only (Pages Router) (#​92580)
  • Compiler: Support boolean and number primtives in next.config defines (#​92731)
  • turbo-tasks: Fix recomputation loop by allowing cell cleanup on error during recomputation (#​92725)
  • Turbopack: shorter error for ChunkGroupInfo::get_index_of (#​92814)
  • Turbopack: shorter error message for ModuleBatchesGraph::get_entry_index (#​92828)
  • Adding more system info to the 'initialize project' trace (#​92427)
Credits

Huge thanks to @​Badbird5907, @​lukesandberg, @​andrewimm, @​sokra, and @​mischnic for helping!

v16.2.3

Compare Source

[!NOTE]
This release is backporting security and bug fixes. For more information about the fixed security vulnerability, please see https://vercel.com/changelog/summary-of-cve-2026-23869. The release does not include all pending features/changes on canary.

Core Changes
  • Ensure app-page reports stale ISR revalidation errors via onRequestError (#​92282)
  • Fix [Bug]: manifest.ts breaks HMR in Next.js 16.2 (#​91981 through #​92273)
  • Deduplicate output assets and detect content conflicts on emit (#​92292)
  • Fix styled-jsx race condition: styles lost due to concurrent rendering (#​92459)
  • turbo-tasks-backend: stability fixes for task cancellation and error handling (#​92254)
Credits

Huge thanks to @​icyJoseph, @​sokra, @​wbinnssmith, @​eps1lon and @​ztanner for helping!

v16.2.2

Compare Source

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

Core Changes
  • backport: Move expanded adapters docs to API reference (#​92115) (#​92129)
  • Backport: TypeScript v6 deprecations for baseUrl and moduleResolution (#​92130)
  • [create-next-app] Skip interactive prompts when CLI flags are provided (#​91840)
  • next.config.js: Accept an option for serverFastRefresh (#​91968)
  • Turbopack: enable server HMR for app route handlers (#​91466)
  • Turbopack: exclude metadata routes from server HMR (#​92034)
  • Fix CI for glibc linux builds
  • Backport: disable bmi2 in qfilter #​92177
  • [backport] Fix CSS HMR on Safari (#​92174)
Credits

Huge thanks to @​nextjs-bot, @​icyJoseph, @​ijjk, @​gaojude, @​wbinnssmith, @​lukesandberg, and @​bgw for helping!

nodejs/node (node)

v25.9.0: 2026-04-01, Version 25.9.0 (Current), @​aduh95

Compare Source

Notable Changes
Test runner module mocking improvements

MockModuleOptions.defaultExport and MockModuleOptions.namedExports have been
consolidated into a single option MockModuleOptions.exports to align with user
expectations and other test runners.

A default property on MockModuleOptions.exports represents the default
export, and own enumerable properties are treated as named exports.

An automated migration is available to update user code:
https://github.com/nodejs/userland-migrations/tree/main/recipes/mock-module-exports

npx codemod @nodejs/mock-module-exports

Contributed by sangwook in #​61727.

Other notable changes
  • [312476cb84] - (SEMVER-MINOR) async_hooks: add using scopes to AsyncLocalStorage (Stephen Belanger) #​61674
  • [62d2cd473b] - (SEMVER-MINOR) cli: add --max-heap-size option (tannal) #​58708
  • [d0ebf0e44b] - (SEMVER-MINOR) crypto: add TurboSHAKE and KangarooTwelve Web Cryptography algorithms (Filip Skokan) #​62183
  • [f85b9d9fa8] - (SEMVER-MINOR) repl: add customizable error handling (Anna Henningsen) #​62188
  • [67b854d407] - (SEMVER-MINOR) repl: remove dependency on node:domain (Matteo Collina) #​61227
  • [966b700623] - (SEMVER-MINOR) sea: support code cache for ESM entrypoint in SEA (Joyee Cheung) #​62158
  • [e1f0d2a014] - (SEMVER-MINOR) stream: add stream/iter Implementation (James M Snell) #​62066
Commits
pnpm/pnpm (pnpm)

v10.34.5: pnpm 10.34.5

Compare Source

Patch Changes

  • 78e29fe: Prevent a crafted pnpm-lock.yaml from writing package content outside the virtual store. A dependency path key whose name reconstructs to a path-traversal sequence (e.g. ../../../tmp/x@1.0.0) is now rejected by the isolated (virtual-store) linker and the Plug'n'Play resolver map, matching the containment already applied to the hoisted linker. Under the global virtual store, a traversal in the version-derived path segment (e.g. a snapshot version: "../../x") is now rejected at iterateHashedGraphNodes, the single point every global-virtual-store slot path funnels through.
  • 78e29fe: Fixed a path traversal vulnerability where a dependency whose manifest name was a scoped path traversal (e.g. @x/../../../<path>) could be written outside node_modules to an attacker-controlled location during pnpm install, even with --ignore-scripts. The isolated linker now validates the package name before using it as a directory name, matching the existing protection in the hoisted linker.
  • 47ef6f0: Fixed switching to and self-updating to pnpm v12. pnpm v12 (the Rust port) ships as the pnpm and @pnpm/exe npm packages whose bins are placeholders replaced at install time by the host's native binary from a @pnpm/exe.<platform>-<arch>[-musl] optional dependency. Because pnpm installs its own engine with --ignore-scripts, that relinking never ran, leaving a non-executable placeholder. pnpm now relinks the native binary itself for v12 (recognizing the new platform-package naming scheme and the native pnpm package), and verifies the native binary's npm registry signature before running it.
  • 36928be: ${...} environment-variable placeholders in the httpProxy, httpsProxy, noProxy, proxy, and noproxy settings are no longer expanded when these settings come from a project's pnpm-workspace.yaml. They now receive the same protection already applied to registry.

Platinum Sponsors

Bit

Gold Sponsors

Sanity Discord Vite
SerpApi CodeRabbit Stackblitz
Workleap Nx

v10.34.4: pnpm 10.34.4

Compare Source

Patch Changes

  • 352ae48: Security: validate config dependency names and versions before using them to build filesystem paths. A pnpm-workspace.yaml with a traversal-shaped configDependencies name (such as ../../PWNED) or version (such as ../../../PWNED) could previously cause pnpm install to create symlinks or write package files outside node_modules/.pnpm-config and the store. Names must now be valid npm package names and versions must be exact semver versions. See GHSA-qrv3-253h-g69c.

  • 352ae48: Reject path-traversal and reserved dependency aliases (such as ../../../escape, .bin, .pnpm, or node_modules) that come from a lockfile rather than a freshly resolved manifest. A crafted lockfile alias could otherwise be joined directly under a hoisted node_modules directory, letting package files be written outside the intended install root or overwrite pnpm-owned layout.

    The nodeLinker: hoisted graph builder now validates each alias at the directory sink (safeJoinModulesDir), matching the validation pnpm already performs when resolving aliases from manifests. See GHSA-fr4h-3cph-29xv.

  • 352ae48: Prevent pnpm patch-remove from removing files outside the configured patches directory.

  • 217fbe0: Hardened the warning printed when a project .npmrc uses environment variables in registry/auth settings: the suggested pnpm config set command is now only included for keys made up of shell-inert characters. Because the key comes from a repository-controlled .npmrc and a shell expands $(...), backticks, and $VAR even inside double quotes, a crafted key could otherwise have turned the suggested copy-paste command into command execution.

Platinum Sponsors

Bit

Gold Sponsors

Sanity Discord Vite
SerpApi CodeRabbit Stackblitz
Workleap Nx

v10.34.3: pnpm 10.34.3

Compare Source

⚠️ Security fix — environment variables in a project .npmrc (action may be required)

Following GHSA-3qhv-2rgh-x77r, pnpm no longer expands ${ENV_VAR} placeholders that come from a repository-controlled config file, because a malicious repository could otherwise use them to leak your environment secrets (npm tokens, CI job tokens, etc.) to an attacker-controlled registry during install. This applies to:

  • the project/workspace .npmrcregistry, @scope:registry, proxy URLs, URL-scoped keys (//host/…), and credential values (_authToken, _auth, _password, username, tokenHelper, cert, key);
  • registry URLs in pnpm-workspace.yaml.

This release also closes a bypass where a project .npmrc could set userconfig, globalconfig, or prefix to make pnpm load a repo-supplied file as trusted config (via @pnpm/npm-conf@3.0.3).

Environment variables are still expanded in trusted config: your user-level ~/.npmrc, the global config, CLI options, and environment config.

If your authentication broke after upgrading, move the token out of the committed .npmrc:


# Writes to your user/global config, not the repository:
pnpm config set "//registry.npmjs.org/:_authToken" "$NPM_TOKEN"

Or keep the ${NPM_TOKEN} line but put it in your user-level ~/.npmrc instead of the repo. In GitHub Actions, actions/setup-node with registry-url already writes a user-level .npmrc, so NODE_AUTH_TOKEN keeps working. For other CI where editing each pipeline is hard, set NPM_CONFIG_USERCONFIG=.npmrc in the CI environment to declare the project .npmrc trusted.

See https://pnpm.io/npmrc for full migration details.

Patch Changes

  • Improved the warning printed when a project .npmrc uses an environment variable in a registry/proxy URL or in registry credentials. The message now explains why the setting was ignored and how to migrate it to a trusted source — for example by running pnpm config set "<key>" <value> to store it in the global config, or by keeping the ${...} line in the user-level ~/.npmrc — with a link to https://pnpm.io/npmrc.
  • A repository-controlled project or workspace .npmrc can no longer redirect which files pnpm loads as its trusted user and global configuration. Previously such a file could set userconfig, globalconfig, or prefix to point at an attacker-supplied file shipped in the repository, and pnpm would load it as a trusted config source — bypassing the protection that prevents repository config from expanding environment variables into registry request destinations and credentials, and allowing it to set tokenHelper. The user/global config file locations are now resolved only from trusted sources (CLI options, environment config, the npm builtin config, and defaults) before the project and workspace .npmrc files are read. Fixed by upgrading @pnpm/npm-conf to 3.0.3.

Platinum Sponsors

Bit

Gold Sponsors

Sanity Discord Vite
SerpApi CodeRabbit Stackblitz
Workleap Nx

v10.34.2: pnpm 10.34.2

Compare Source

⚠️ Security fix — environment variables in a project .npmrc (action may be required)

Following GHSA-3qhv-2rgh-x77r, pnpm no longer expands ${ENV_VAR} placeholders that come from a repository-controlled config file, because a malicious repository could otherwise use them to leak your environment secrets (npm tokens, CI job tokens, etc.) to an attacker-controlled registry during install. This applies to:

  • the project/workspace .npmrcregistry, @scope:registry, proxy URLs, URL-scoped keys (//host/…), and credential values (_authToken, _auth, _password, username, tokenHelper, cert, key);
  • registry URLs in pnpm-workspace.yaml.

This release also closes a bypass where a project .npmrc could set userconfig, globalconfig, or prefix to make pnpm load a repo-supplied file as trusted config (via @pnpm/npm-conf@3.0.3).

Environment variables are still expanded in trusted config: your user-level ~/.npmrc, the global config, CLI options, and environment config.

If your authentication broke after upgrading, move the token out of the committed .npmrc:


# Writes to your user/global config, not the repository:
pnpm config set "//registry.npmjs.org/:_authToken" "$NPM_TOKEN"

Or keep the ${NPM_TOKEN} line but put it in your user-level ~/.npmrc instead of the repo. In GitHub Actions, actions/setup-node with registry-url already writes a user-level .npmrc, so NODE_AUTH_TOKEN keeps working. For other CI where editing each pipeline is hard, set NPM_CONFIG_USERCONFIG=.npmrc in the CI environment to declare the project .npmrc trusted.

See https://pnpm.io/npmrc for full migration details.

Patch Changes

  • Package-manager bootstrap traffic is now resolved through trusted registries and trusted network config. When pnpm downloads the pnpm version requested by a repository's packageManager field, the registry it fetches from (and the proxy/TLS settings used for that traffic) now come exclusively from trusted config sources — CLI options, env config, user and global .npmrc — defaulting to the public npm registry, instead of the repository's project/workspace settings.
  • pnpm now verifies the npm registry signature of a package-manager binary before spawning it. When the packageManager field (or pnpm self-update) makes pnpm download another pnpm version, the staged install is verified corepack-style: the integrity recorded in the staged lockfile must carry a valid npm registry signature for the exact name@version, validated against npm's public signing keys that ship embedded in the pnpm CLI. Verification fails closed — a tampered download, an unsigned package, or an unreachable registry refuses the version switch rather than running an unverified binary. It runs only when the wanted version is actually downloaded (a tools-directory cache miss), so repeated commands pay no extra network round trip.
  • Environment variable expansion is now trust-aware for registry/auth config and request destinations. Repository-controlled config files (the project and workspace .npmrc and pnpm-workspace.yaml) can no longer expand ${...} placeholders in registry/proxy request destinations, URL-scoped keys, or registry credential values, preventing repository-controlled configuration from exfiltrating environment secrets through request URLs. Trusted user/global/CLI/env config keeps full env expansion, so existing token and registry setup flows continue to work.
  • Reject reserved manifest bin names ("", ".", "..", and scoped forms such as @scope/..) when resolving a package's bins. These names previously passed the bin-name guard and, when joined to the global bin directory during global remove/update/add operations, could resolve to the global bin directory itself or its parent and have it recursively deleted.
  • Require trusted package identity before package-name onlyBuiltDependencies (and allowBuilds) entries can approve lifecycle scripts for git, git-hosted tarball, direct tarball, and local directory artifacts. To approve one of those artifacts explicitly, use its peer-suffix-free lockfile depPath as the key. Lockfile entries are now rejected when a registry-style dependency path (name@semver) is backed by a git, directory, or git-hosted tarball resolution (ERR_PNPM_RESOLUTION_SHAPE_MISMATCH), so the dependency path is a reliable artifact identity by the time scripts can run.
  • pnpm now verifies the detached OpenPGP signature of a Node.js release's SHASUMS256.txt against the Node.js release team's public keys (embedded in the pnpm CLI) before trusting its hashes. The Node.js download mirror is repository-configurable (node-mirror:<channel> in .npmrc), and the integrity check previously trusted a SHASUMS256.txt fetched from that same mirror — a circular check that a malicious mirror could satisfy with a tampered binary and matching hashes. A mirror that proxies the real signed SHASUMS keeps working unchanged. Only the release channel publishes signed SHASUMS files, so pre-release channels (rc, nightly, …) remain unverified.

Platinum Sponsors

Bit

Gold Sponsors

Sanity Discord Vite
SerpApi CodeRabbit Stackblitz
Workleap Nx

v10.34.1: pnpm 10.34.1

Compare Source

Patch Changes

  • Reject pnpm-lock.yaml entries whose remote tarball resolution: block is missing the integrity field. Previously the worker that extracts a downloaded tarball skipped hash verification when no integrity was supplied and minted a fresh one from the unverified bytes, so an attacker who could both alter the lockfile (e.g. via a pull request that strips integrity:) and serve modified content at the referenced tarball URL could install a tampered package without any error — including under --frozen-lockfile. pnpm now fails closed at lockfile-read time with ERR_PNPM_MISSING_TARBALL_INTEGRITY. Git-hosted tarballs (gitHosted: true or a URL on codeload.github.com / bitbucket.org / gitlab.com) and file: tarballs are exempt — the commit SHA in a git-host URL and the user-controlled local path already anchor the bytes.

Platinum Sponsors

Bit

Gold Sponsors

Sanity Discord Vite
SerpApi CodeRabbit Stackblitz
Workleap Nx

v10.34.0: pnpm 10.34

Compare Source

Minor Changes

  • Treat tarball-integrity mismatches against the lockfile as a hard failure by default. Previously, pnpm install (non-frozen) would log ERR_PNPM_TARBALL_INTEGRITY, silently re-resolve from the registry, and overwrite the locked integrity — which meant a compromised registry, proxy, or republished version could substitute attacker-controlled content on a clean machine even though the project shipped a committed lockfile.

    pnpm install now exits with ERR_PNPM_TARBALL_INTEGRITY and a hint pointing at the new opt-in flag.

    The only opt-in is pnpm install --update-checksums — narrowly scoped to refreshing the locked integrity values from what the registry currently serves. Mirrors yarn's flag of the same name. A warning still prints when the bypass takes effect so the operation is auditable.

    --force and pnpm update deliberately do not bypass the integrity check. They are routine refresh operations; silently overwriting a locked integrity in those flows would erase the protection a committed lockfile is supposed to provide. --frozen-lockfile behavior is unchanged. --fix-lockfile keeps its documented purpose (filling in missing lockfile entries) and is also not a bypass.

Patch Changes

  • Pin unscoped per-registry settings (_authToken, _auth, username/_password, tokenHelper, inline cert/key) to the registry declared in the same config source at load time, so a later layer overriding registry= (workspace .npmrc, pnpm-workspace.yaml, CLI --registry) cannot redirect a credential or client certificate authored for a different host. A deprecation warning is emitted whenever an unscoped per-registry setting is encountered, naming the source and the URL it was pinned to. Reported by JUNYI LIU.
  • Fixed minimumReleaseAge handling when cached metadata is abbreviated. The npm registry returns abbreviated package metadata (without the per-version time field) by default, which made the maturity check throw ERR_PNPM_MISSING_TIME whenever cached abbreviated metadata was reused. pnpm now upgrades cached abbreviated metadata to the full document via a follow-up fetch when minimumReleaseAge is active, persists the upgrade to the on-disk cache so subsequent installs skip the extra fetch, and lets ERR_PNPM_MISSING_TIME from the cache fast-path fall through to the network fetch even under strict mode.
  • Reject git resolutions whose commit field is not a 40-character hexadecimal SHA before invoking git. A malicious lockfile could otherwise smuggle a value such as --upload-pack=<command> through git fetch / git checkout, which on SSH or local-file transports executes the supplied command.
  • Reject patch files whose diff --git headers reference paths outside the patched package directory. Previously a malicious .patch file added via a pull request could write, delete, or rename arbitrary files reachable by the user running pnpm install.
  • Fixed --prefix=<dir> not being honored when locating the workspace root. The --prefix → dir rename was applied after workspace detection, so workspace settings declared in <dir>/pnpm-workspace.yaml were not loaded when pnpm was invoked from outside <dir> #​11535.
  • Reject dependency aliases that contain path-traversal segments (such as @x/../../../../../.git/hooks) when reading them from a package manifest or symlinking them into node_modules. A malicious registry package could otherwise use a transitive dependency key to make pnpm install create symlinks at attacker-chosen paths outside the intended node_modules directory.

Platinum Sponsors

Bit

Gold Sponsors

Sanity Discord Vite
SerpApi CodeRabbit Stackblitz
Workleap Nx

v10.33.4: pnpm 10.33.4

Compare Source

Patch Changes

  • Pin the integrity of git-hosted tarballs (codeload.github.com, gitlab.com, bitbucket.org) in the lockfile so that subsequent installs detect a tampered or substituted tarball and refuse to install it. Previously the lockfile only stored the tarball URL for git dependencies, so a compromised git host or a man-in-the-middle could serve arbitrary code on later installs without lockfile changes.

    A new gitHosted: true field is recorded on git-hosted tarball resolutions in the lockfile, letting every reader/writer route them by a single typed check instead of pattern-matching the tarball URL in each call site. Lockfiles written by older pnpm versions are enriched on load (URL fallback) so the field can be relied on uniformly across the codebase.

  • Fix a regression where pnpm --recursive --filter '!<pkg>' run/exec/test/add would include the workspace root in the matched projects. The workspace root is now correctly excluded by default when only negative --filter arguments are provided, matching the documented behavior. To include the root, pass --include-workspace-root #​11341.

Platinum Sponsors

Bit

Gold Sponsors

Sanity Discord Vite
SerpApi CodeRabbit Stackblitz
Workleap Nx

v10.33.3: pnpm 10.33.3

Compare Source

Patch Changes

  • When self-updating from v10's @pnpm/exe to v11+ on Intel macOS (darwin-x64), pnpm self-update now transparently switches to the JS-only pnpm package on npm instead of installing @pnpm/exe@v11+ (which doesn't ship a working binary for Intel Macs because of an upstream Node.js SEA bug — see #​11423 and nodejs/node#62893). Without this, the self-update would silently leave the user with no working pnpm binary. The new install requires Node.js to be available on PATH; a warning is printed when the swap happens. All other host/version combinations are unchanged.
  • pnpm self-update (with no version argument) no longer downgrades pnpm when the registry's latest dist-tag points to an older release than the currently active version. Run pnpm self-update latest to force a downgrade #​11418.

Platinum Sponsors

Bit

Gold Sponsors

Sanity Discord Vite
SerpApi CodeRabbit Stackblitz
Workleap Nx

v10.33.2: pnpm 10.33.2

Compare Source

Patch Changes

  • Globally-installed bins no longer fail with ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND when pnpm was installed via the standalone @pnpm/exe binary (e.g. curl -fsSL https://get.pnpm.io/install.sh | sh -) on a system without a separate Node.js installation. Previously, when which('node') failed during pnpm add --global, pnpm fell back to process.execPath, which in @pnpm/exe is the pnpm binary itself — and that path was baked into the generated bin shim, causing the shim to invoke pnpm instead of Node #​11291, #​4645.

  • Fix an infinite fork-bomb that could happen when pnpm was installed with one version (e.g. npm install -g pnpm@A) and run inside a project whose package.json selected a different pnpm version via the packageManager field (e.g. pnpm@B), while a pnpm-workspace.yaml also existed at the project root.

    The child's environment is now forced to manage-package-manager-versions=false (v10) and pm-on-fail=ignore (v11+), which disables the package-manager-version handling in whichever pnpm runs as the child.

    Fixes #​11337.

Platinum Sponsors

Bit

Gold Sponsors

Sanity Discord Vite
SerpApi CodeRabbit Stackblitz
Workleap Nx

v10.33.1: pnpm 10.33.1

Compare Source

Patch Changes

  • When a project's packageManager field selects pnpm v11 or newer, commands that v10 would have passed through to npm (version, login, logout, publish, unpublish, deprecate, dist-tag, docs, ping, search, star, stars, unstar, whoami, etc.) are now handed over to the wanted pnpm, which implements them natively. Previously they silently shelled out to npm — making, for example, pnpm version --help print npm's help on a project with packageManager: pnpm@11.0.0-rc.3 #​11328.

Platinum Sponsors

Bit

Gold Sponsors

Sanity Discord Vite
SerpApi CodeRabbit Stackblitz
Workleap Nx
postcss/postcss (postcss)

v8.5.26

Compare Source

  • Fixed list.split() regression (by @​lazerg).
  • Track symlinks in path protection in source map loading (by @​drengir1).

v8.5.25

Compare Source

  • Fixed 8.5.17 visitor regression.
  • Fixed list.split() for non-string values (by @​amir-rezaei).

v8.5.24

Compare Source

  • Preserve the BOM after the processing (by @​hdimer).

v8.5.23

Compare Source

  • Do not load source map without opts.from for security reasons.

v8.5.22

Compare Source

v8.5.21

Compare Source

v8.5.20

Compare Source

v8.5.19

Compare Source

  • Fixed cleaning before for new nodes inserted to Root (by @​MahinAnowar).

v8.5.18

Compare Source

  • Restricted loading previous source maps file to the opts.from folder for security reasons (use unsafeMap: true to disable the check).

v8.5.17

Compare Source

  • Fixed Maximum call stack size exceeded error.
  • Fixed Prototype hijacking for postcss.fromJSON().
  • Fixed Input#origin() for unmapped end position (by @​chatman-media).

v8.5.16

Compare Source

v8.5.15

Compare Source

  • Fixed declaration parsing performance (by @​homanp).

v8.5.14

Compare Source

v8.5.13

Compare Source

  • Fixed postcss-scss commend regression.

v8.5.12

Compare Source

  • Fixed reading any file via user-generated CSS.
  • Added opts.unsafeMap to disable checks.

v8.5.11

Compare Source

  • Fixed nested brackets parsing performance (by @​offset).

v8.5.10

Compare Source

  • Fixed XSS via unescaped </style> in non-bundler cases (by @​TharVid).

v8.5.9

Compare Source

  • Speed up source map encoding paring in case of the error.
react/react (react)

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

Compare Source

React Server Components

v19.2.7

Compare Source

React Server Components

v19.2.6

Compare Source

React Server Components

v19.2.5

Compare Source

React Server Components
vitest-dev/vitest (vitest)

v4.1.10

Compare Source

   🐞 Bug Fixes
    View changes on GitHub

v4.1.9

Compare Source

🐞 Bug Fixes
  • Fix importOriginal with optimizer and query import [backport to v4] - by Hiroshi Ogawa, David Harris, Codexand Vladimir in #​10546 (a5180)
  • browser:
    • Wait for orchestrator readiness before resolving browser sessions [backport to v4] - by Vladimir and Séamus O'Connor in #​10555 (7fb29)
    • Wait for iframe tester readiness before preparing [backport to v4] - by Vladimir and Séamus O'Connor in #​10497 and #​10556 (fbc62)
  • mocker:
    • Hoist vi.mock() for vite-plus/test imports [backport to v4] - by Hiroshi Ogawa, LongYinan, Claude Opus 4.8 and Vladimir in #​10548 (2c955)
  • pool:
    • Prevent test run hang on worker crash [backport to v4] - by Ari Perkkiö and Jattioui Ismail in #​10543 and #​10564 (934b0)
View changes on GitHub

v4.1.8

Compare Source

   🐞 Bug Fixes
    View changes on GitHub

v4.1.7

Compare Source

   🐞 Bug Fixes
    View changes on GitHub

v4.1.6

Compare Source

   🐞 Bug Fixes
   🏎 Performance
    View changes on GitHub

v4.1.5

Compare Source

   🚀 Experimental Features
   🐞 Bug Fixes
    View changes on GitHub

v4.1.4

Compare Source

   🚀 Experimental Features
   🐞 Bug Fixes
    View changes on GitHub

v4.1.3

Compare Source

   🚀 Experimental Features
   🐞 Bug Fixes
    View changes on GitHub
yarnpkg/berry (yarn)

v4.18.0: v4.18.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/yarnpkg/berry/compare/@yarnpkg/cli/4.17.1...@&#8203;yarnpkg/cli/4.18.0

v4.17.1: v4.17.1

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/yarnpkg/berry/compare/@yarnpkg/cli/4.17.0...@&#8203;yarnpkg/cli/4.17.1

v4.17.0: v4.17.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/yarnpkg/berry/compare/@yarnpkg/cli/4.16.0...@&#8203;yarnpkg/cli/4.17.0

v4.16.0: v4.16.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/yarnpkg/berry/compare/@yarnpkg/cli/4.15.0...@&#8203;yarnpkg/cli/4.16.0

v4.15.0: v4.15.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/yarnpkg/berry/compare/@yarnpkg/cli/4.14.1...@&#8203;yarnpkg/cli/4.15.0

v4.14.1: v4.14.1

Compare Source

What's Changed

  • fix: Widen EBADF fstat version gate to include Node 24.15+ by @​rfoel in #​7104

New Contributors

Full Changelog: https://github.com/yarnpkg/berry/compare/@yarnpkg/cli/4.14.0...@&#8203;yarnpkg/cli/4.14.1

v4.14.0: v4.14.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/yarnpkg/berry/compare/@yarnpkg/cli/4.13.0...@&#8203;yarnpkg/cli/4.14.0


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 | Type | Update | Change | |---|---|---|---| | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | devDependencies | minor | [`25.5.0` → `25.9.5`](https://renovatebot.com/diffs/npm/@types%2fnode/25.5.0/25.9.5) | | [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)) | devDependencies | patch | [`19.2.14` → `19.2.18`](https://renovatebot.com/diffs/npm/@types%2freact/19.2.14/19.2.18) | | [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom)) | devDependencies | patch | [`19.2.3` → `19.2.4`](https://renovatebot.com/diffs/npm/@types%2freact-dom/19.2.3/19.2.4) | | [autoprefixer](https://github.com/postcss/autoprefixer) | dependencies | minor | [`10.4.27` → `10.5.4`](https://renovatebot.com/diffs/npm/autoprefixer/10.4.27/10.5.4) | | [axios](https://axios-http.com) ([source](https://github.com/axios/axios)) | dependencies | minor | [`1.14.0` → `1.19.0`](https://renovatebot.com/diffs/npm/axios/1.14.0/1.19.0) | | [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | minor | [`10.1.0` → `10.8.1`](https://renovatebot.com/diffs/npm/eslint/10.1.0/10.8.1) | | [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)) | devDependencies | minor | [`16.2.1` → `16.3.0`](https://renovatebot.com/diffs/npm/eslint-config-next/16.2.1/16.3.0) | | [next](https://nextjs.org) ([source](https://github.com/vercel/next.js)) | dependencies | minor | [`16.2.1` → `16.3.0`](https://renovatebot.com/diffs/npm/next/16.2.1/16.3.0) | | [node](https://nodejs.org) ([source](https://github.com/nodejs/node)) | | minor | `25.8.2` → `25.9.0` | | [pnpm](https://pnpm.io) ([source](https://github.com/pnpm/pnpm/tree/HEAD/pnpm11/pnpm)) | packageManager | minor | [`10.33.0` → `10.34.5`](https://renovatebot.com/diffs/npm/pnpm/10.33.0/10.34.5) | | [postcss](https://postcss.org/) ([source](https://github.com/postcss/postcss)) | dependencies | patch | [`8.5.8` → `8.5.26`](https://renovatebot.com/diffs/npm/postcss/8.5.8/8.5.26) | | [react](https://react.dev/) ([source](https://github.com/react/react/tree/HEAD/packages/react)) | dependencies | patch | [`19.2.4` → `19.2.8`](https://renovatebot.com/diffs/npm/react/19.2.4/19.2.8) | | [react-dom](https://react.dev/) ([source](https://github.com/react/react/tree/HEAD/packages/react-dom)) | dependencies | patch | [`19.2.4` → `19.2.8`](https://renovatebot.com/diffs/npm/react-dom/19.2.4/19.2.8) | | [vitest](https://vitest.dev) ([source](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | devDependencies | patch | [`4.1.2` → `4.1.10`](https://renovatebot.com/diffs/npm/vitest/4.1.2/4.1.10) | | [yarn](https://github.com/yarnpkg/berry) ([source](https://github.com/yarnpkg/berry/tree/HEAD/packages/yarnpkg-cli)) | packageManager | minor | [`4.13.0` → `4.18.0`](https://renovatebot.com/diffs/npm/yarn/4.13.0/4.18.0) | --- ### Release Notes <details> <summary>postcss/autoprefixer (autoprefixer)</summary> ### [`v10.5.4`](https://github.com/postcss/autoprefixer/blob/HEAD/CHANGELOG.md#1054) [Compare Source](https://github.com/postcss/autoprefixer/compare/10.5.3...10.5.4) - Fixed prefixed rule duplication (by [@&#8203;xianjianlf2](https://github.com/xianjianlf2)). ### [`v10.5.3`](https://github.com/postcss/autoprefixer/blob/HEAD/CHANGELOG.md#1053) [Compare Source](https://github.com/postcss/autoprefixer/compare/10.5.2...10.5.3) - Fixed brackets and gradient parser ([@&#8203;alanturing881](https://github.com/alanturing881)). ### [`v10.5.2`](https://github.com/postcss/autoprefixer/blob/HEAD/CHANGELOG.md#1052) [Compare Source](https://github.com/postcss/autoprefixer/compare/10.5.1...10.5.2) - Moved `-webkit-fill-available` before `-moz-available`, so Firefox will use `-webkit-` version which is closer to `stretch`. ### [`v10.5.1`](https://github.com/postcss/autoprefixer/blob/HEAD/CHANGELOG.md#1051) [Compare Source](https://github.com/postcss/autoprefixer/compare/10.5.0...10.5.1) - Fixed `grid-area` span reset for overriding areas (by [@&#8203;puneetdixit200](https://github.com/puneetdixit200)). ### [`v10.5.0`](https://github.com/postcss/autoprefixer/blob/HEAD/CHANGELOG.md#1050-Each-Endeavouring-All-Achieving) [Compare Source](https://github.com/postcss/autoprefixer/compare/10.4.27...10.5.0) - Added `mask-position-x` and `mask-position-y` support (by [@&#8203;toporek](https://github.com/toporek)). </details> <details> <summary>axios/axios (axios)</summary> ### [`v1.19.0`](https://github.com/axios/axios/blob/HEAD/CHANGELOG.md#v1190--July-22-2026) [Compare Source](https://github.com/axios/axios/compare/v1.18.1...v1.19.0) This release raises the form-data security floor, adds configuration and type-system capabilities, and fixes NO\_PROXY matching, interceptor errors, progress reporting, and serialization edge cases. ### [`v1.18.1`](https://github.com/axios/axios/releases/tag/v1.18.1) [Compare Source](https://github.com/axios/axios/compare/v1.18.0...v1.18.1) #### v1.18.1 — June 21, 2026 This release focuses on Node HTTP adapter fixes, safer AxiosError serialisation, runtime/type correctness fixes, documentation updates, and dependency maintenance. #### 🐛 Bug Fixes - AxiosError Serialisation: Made AxiosError#cause non-enumerable to prevent circular JSON serialisation failures when errors include nested causes. ([#&#8203;10913](https://github.com/axios/axios/issues/10913)) - Node HTTP Adapter: Guarded socket.setKeepAlive for proxy agent streams, accepted path-only URLs when socketPath is configured, deferred environment proxy handling to Node, and explicitly passed maxBodyLength through to follow-redirects. ([#&#8203;10917](https://github.com/axios/axios/issues/10917), [#&#8203;10930](https://github.com/axios/axios/issues/10930), [#&#8203;10942](https://github.com/axios/axios/issues/10942), [#&#8203;10993](https://github.com/axios/axios/issues/10993)) - Runtime and Type Correctness: Fixed several runtime crashes, type definition mismatches, and incorrect error handling paths. ([#&#8203;10959](https://github.com/axios/axios/issues/10959), [#&#8203;11021](https://github.com/axios/axios/issues/11021)) - AxiosURLSearchParams: Switched the encoder callback to an arrow function so `encoder.call(this)` receives the `AxiosURLSearchParams` instance correctly. ([#&#8203;11019](https://github.com/axios/axios/issues/11019)) #### 🔧 Maintenance & Chores - Documentation: Documented sensitive headers and status transition behaviour, prepared cleaned-up docs, added Deno install instructions, and clarified that request data is request-specific ([#&#8203;11007](https://github.com/axios/axios/issues/11007), [#&#8203;11010](https://github.com/axios/axios/issues/11010), [#&#8203;11023](https://github.com/axios/axios/issues/11023), [#&#8203;11025](https://github.com/axios/axios/issues/11025)) - Dependencies: Bumped vite, rollup, form-data, js-yaml, and multer across the root project, docs, smoke tests, and module test workspaces. ([#&#8203;11011](https://github.com/axios/axios/issues/11011), [#&#8203;11012](https://github.com/axios/axios/issues/11012), [#&#8203;11013](https://github.com/axios/axios/issues/11013), [#&#8203;11014](https://github.com/axios/axios/issues/11014), [#&#8203;11015](https://github.com/axios/axios/issues/11015), [#&#8203;11016](https://github.com/axios/axios/issues/11016), [#&#8203;11017](https://github.com/axios/axios/issues/11017), [#&#8203;11026](https://github.com/axios/axios/issues/11026)) #### 🌟 New Contributors We are thrilled to welcome our new contributors. Thank you for helping improve axios: - [@&#8203;webdevelopersrinu](https://github.com/webdevelopersrinu) ([#&#8203;10913](https://github.com/axios/axios/issues/10913)) - [@&#8203;sijie-Z](https://github.com/sijie-Z) ([#&#8203;10993](https://github.com/axios/axios/issues/10993)) - [@&#8203;bartlomieju](https://github.com/bartlomieju) ([#&#8203;11023](https://github.com/axios/axios/issues/11023)) - [@&#8203;JSap0914](https://github.com/JSap0914) ([#&#8203;11019](https://github.com/axios/axios/issues/11019)) [Full Changelog](https://github.com/axios/axios/compare/v1.18.0...v1.18.1) ### [`v1.18.0`](https://github.com/axios/axios/blob/HEAD/CHANGELOG.md#v1180--June-13-2026) [Compare Source](https://github.com/axios/axios/compare/v1.17.0...v1.18.0) This release hardens redirect and URL handling, improves the validateStatus configuration semantics, and includes updates to documentation, dependencies, and release metadata. ### [`v1.17.0`](https://github.com/axios/axios/blob/HEAD/CHANGELOG.md#v1170--June-1-2026) [Compare Source](https://github.com/axios/axios/compare/v1.16.1...v1.17.0) This release adds Node HTTP zstd decompression, hardens config and release workflows, and fixes authentication, header, proxy, and type-handling regressions. ### [`v1.16.1`](https://github.com/axios/axios/blob/HEAD/CHANGELOG.md#v1161--May-13-2026) [Compare Source](https://github.com/axios/axios/compare/v1.16.0...v1.16.1) This release ships a defence-in-depth fix for prototype pollution in `formDataToJSON`, hardens proxy and CI workflows, restores Webpack 4 compatibility for the fetch adapter, and includes several small bug fixes and maintenance improvements. ### [`v1.16.0`](https://github.com/axios/axios/blob/HEAD/CHANGELOG.md#v1160--May-2-2026) [Compare Source](https://github.com/axios/axios/compare/v1.15.2...v1.16.0) This release adds support for the QUERY HTTP method and a new `ECONNREFUSED` error constant, lands a substantial wave of HTTP, fetch, and XHR adapter bug fixes around redirects, aborts, headers, and timeouts, and welcomes 23 new contributors. ### [`v1.15.2`](https://github.com/axios/axios/blob/HEAD/CHANGELOG.md#v1152---April-21-2026) [Compare Source](https://github.com/axios/axios/compare/v1.15.1...v1.15.2) This release delivers prototype-pollution hardening for the Node HTTP adapter, adds an opt-in `allowedSocketPaths` allowlist to mitigate SSRF via Unix domain sockets, fixes a keep-alive socket memory leak, and ships supply-chain hardening across CI and security docs. ### [`v1.15.1`](https://github.com/axios/axios/blob/HEAD/CHANGELOG.md#v1151---April-19-2026) [Compare Source](https://github.com/axios/axios/compare/v1.15.0...v1.15.1) This release ships a coordinated set of security hardening fixes across headers, body/redirect limits, multipart handling, and XSRF/prototype-pollution vectors, alongside a broad sweep of bug fixes, test migrations, and threat-model documentation updates. ### [`v1.15.0`](https://github.com/axios/axios/blob/HEAD/CHANGELOG.md#130-2023-01-31) [Compare Source](https://github.com/axios/axios/compare/v1.14.0...v1.15.0) ##### Bug Fixes - **headers:** fixed & optimized clear method; ([#&#8203;5507](https://github.com/axios/axios/issues/5507)) ([9915635](https://github.com/axios/axios/commit/9915635c69d0ab70daca5738488421f67ca60959)) - **http:** add zlib headers if missing ([#&#8203;5497](https://github.com/axios/axios/issues/5497)) ([65e8d1e](https://github.com/axios/axios/commit/65e8d1e28ce829f47a837e45129730e541950d3c)) ##### Features - **fomdata:** added support for spec-compliant FormData & Blob types; ([#&#8203;5316](https://github.com/axios/axios/issues/5316)) ([6ac574e](https://github.com/axios/axios/commit/6ac574e00a06731288347acea1e8246091196953)) ##### Contributors to this release - <img src="https://avatars.githubusercontent.com/u/12586868?v&#x3D;4&amp;s&#x3D;18" alt="avatar" width="18"/> [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS "+352/-67 (#&#8203;5514 #&#8203;5512 #&#8203;5510 #&#8203;5509 #&#8203;5508 #&#8203;5316 #&#8203;5507 )") - <img src="https://avatars.githubusercontent.com/u/35015993?v&#x3D;4&amp;s&#x3D;18" alt="avatar" width="18"/> [ItsNotGoodName](https://github.com/ItsNotGoodName "+43/-2 (#&#8203;5497 )") ##### PRs - CVE 2023 45857 ( [#&#8203;6028](https://api.github.com/repos/axios/axios/pulls/6028) ) ``` ⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 ``` #### [1.2.6](https://github.com/axios/axios/compare/v1.2.5...v1.2.6) (2023-01-28) ##### Bug Fixes - **headers:** added missed Authorization accessor; ([#&#8203;5502](https://github.com/axios/axios/issues/5502)) ([342c0ba](https://github.com/axios/axios/commit/342c0ba9a16ea50f5ed7d2366c5c1a2c877e3f26)) - **types:** fixed `CommonRequestHeadersList` & `CommonResponseHeadersList` types to be private in commonJS; ([#&#8203;5503](https://github.com/axios/axios/issues/5503)) ([5a3d0a3](https://github.com/axios/axios/commit/5a3d0a3234d77361a1bc7cedee2da1e11df08e2c)) ##### Contributors to this release - ![avatar](https://avatars.githubusercontent.com/u/12586868?v=4\&s=16) [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS "+24/-9 (#&#8203;5503 #&#8203;5502 )") ##### PRs - CVE 2023 45857 ( [#&#8203;6028](https://api.github.com/repos/axios/axios/pulls/6028) ) ``` ⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 ``` #### [1.2.5](https://github.com/axios/axios/compare/v1.2.4...v1.2.5) (2023-01-26) ##### Bug Fixes - **types:** fixed AxiosHeaders to handle spread syntax by making all methods non-enumerable; ([#&#8203;5499](https://github.com/axios/axios/issues/5499)) ([580f1e8](https://github.com/axios/axios/commit/580f1e8033a61baa38149d59fd16019de3932c22)) ##### Contributors to this release - ![avatar](https://avatars.githubusercontent.com/u/12586868?v=4\&s=16) [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS "+82/-54 (#&#8203;5499 )") - ![avatar](https://avatars.githubusercontent.com/u/20516159?v=4\&s=16) [Elliot Ford](https://github.com/EFord36 "+1/-1 (#&#8203;5462 )") ##### PRs - CVE 2023 45857 ( [#&#8203;6028](https://api.github.com/repos/axios/axios/pulls/6028) ) ``` ⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 ``` #### [1.2.4](https://github.com/axios/axios/compare/v1.2.3...v1.2.4) (2023-01-22) ##### Bug Fixes - **types:** renamed `RawAxiosRequestConfig` back to `AxiosRequestConfig`; ([#&#8203;5486](https://github.com/axios/axios/issues/5486)) ([2a71f49](https://github.com/axios/axios/commit/2a71f49bc6c68495fa419003a3107ed8bd703ad0)) - **types:** fix `AxiosRequestConfig` generic; ([#&#8203;5478](https://github.com/axios/axios/issues/5478)) ([9bce81b](https://github.com/axios/axios/commit/186ea062da8b7d578ae78b1a5c220986b9bce81b)) ##### Contributors to this release - ![avatar](https://avatars.githubusercontent.com/u/12586868?v=4\&s=16) [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS "+242/-108 (#&#8203;5486 #&#8203;5482 )") - ![avatar](https://avatars.githubusercontent.com/u/9430821?v=4\&s=16) [Daniel Hillmann](https://github.com/hilleer "+1/-1 (#&#8203;5478 )") ##### PRs - CVE 2023 45857 ( [#&#8203;6028](https://api.github.com/repos/axios/axios/pulls/6028) ) ``` ⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 ``` #### [1.2.3](https://github.com/axios/axios/compare/1.2.2...1.2.3) (2023-01-10) ##### Bug Fixes - **types:** fixed AxiosRequestConfig header interface by refactoring it to RawAxiosRequestConfig; ([#&#8203;5420](https://github.com/axios/axios/issues/5420)) ([0811963](https://github.com/axios/axios/commit/08119634a22f1d5b19f5c9ea0adccb6d3eebc3bc)) ##### Contributors to this release - ![avatar](https://avatars.githubusercontent.com/u/12586868?v=4\&s=16) [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS "+938/-442 (#&#8203;5456 #&#8203;5455 #&#8203;5453 #&#8203;5451 #&#8203;5449 #&#8203;5447 #&#8203;5446 #&#8203;5443 #&#8203;5442 #&#8203;5439 #&#8203;5420 )") ##### PRs - CVE 2023 45857 ( [#&#8203;6028](https://api.github.com/repos/axios/axios/pulls/6028) ) ``` ⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 ``` #### \[1.2.2] - 2022-12-29 ##### Fixed - fix(ci): fix release script inputs [#&#8203;5392](https://github.com/axios/axios/pull/5392) - fix(ci): prerelease scipts [#&#8203;5377](https://github.com/axios/axios/pull/5377) - fix(ci): release scripts [#&#8203;5376](https://github.com/axios/axios/pull/5376) - fix(ci): typescript tests [#&#8203;5375](https://github.com/axios/axios/pull/5375) - fix: Brotli decompression [#&#8203;5353](https://github.com/axios/axios/pull/5353) - fix: add missing HttpStatusCode [#&#8203;5345](https://github.com/axios/axios/pull/5345) ##### Chores - chore(ci): set conventional-changelog header config [#&#8203;5406](https://github.com/axios/axios/pull/5406) - chore(ci): fix automatic contributors resolving [#&#8203;5403](https://github.com/axios/axios/pull/5403) - chore(ci): improved logging for the contributors list generator [#&#8203;5398](https://github.com/axios/axios/pull/5398) - chore(ci): fix release action [#&#8203;5397](https://github.com/axios/axios/pull/5397) - chore(ci): fix version bump script by adding bump argument for target version [#&#8203;5393](https://github.com/axios/axios/pull/5393) - chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2 [#&#8203;5342](https://github.com/axios/axios/pull/5342) - chore(ci): GitHub Actions Release script [#&#8203;5384](https://github.com/axios/axios/pull/5384) - chore(ci): release scripts [#&#8203;5364](https://github.com/axios/axios/pull/5364) ##### Contributors to this release - ![avatar](https://avatars.githubusercontent.com/u/12586868?v=4\&s=16) [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS) - ![avatar](https://avatars.githubusercontent.com/u/1652293?v=4\&s=16) [Winnie](https://github.com/winniehell) #### \[1.2.1] - 2022-12-05 ##### Changed - feat(exports): export mergeConfig [#&#8203;5151](https://github.com/axios/axios/pull/5151) ##### Fixed - fix(CancelledError): include config [#&#8203;4922](https://github.com/axios/axios/pull/4922) - fix(general): removing multiple/trailing/leading whitespace [#&#8203;5022](https://github.com/axios/axios/pull/5022) - fix(headers): decompression for responses without Content-Length header [#&#8203;5306](https://github.com/axios/axios/pull/5306) - fix(webWorker): exception to sending form data in web worker [#&#8203;5139](https://github.com/axios/axios/pull/5139) ##### Refactors - refactor(types): AxiosProgressEvent.event type to any [#&#8203;5308](https://github.com/axios/axios/pull/5308) - refactor(types): add missing types for static AxiosError.from method [#&#8203;4956](https://github.com/axios/axios/pull/4956) ##### Chores - chore(docs): remove README link to non-existent upgrade guide [#&#8203;5307](https://github.com/axios/axios/pull/5307) - chore(docs): typo in issue template name [#&#8203;5159](https://github.com/axios/axios/pull/5159) ##### Contributors to this release - [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS) - [Zachary Lysobey](https://github.com/zachlysobey) - [Kevin Ennis](https://github.com/kevincennis) - [Philipp Loose](https://github.com/phloose) - [secondl1ght](https://github.com/secondl1ght) - [wenzheng](https://github.com/0x30) - [Ivan Barsukov](https://github.com/ovarn) - [Arthur Fiorette](https://github.com/arthurfiorette) ##### PRs - CVE 2023 45857 ( [#&#8203;6028](https://api.github.com/repos/axios/axios/pulls/6028) ) ``` ⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 ``` #### \[1.2.0] - 2022-11-10 ##### Changed - changed: refactored module exports [#&#8203;5162](https://github.com/axios/axios/pull/5162) - change: re-added support for loading Axios with require('axios').default [#&#8203;5225](https://github.com/axios/axios/pull/5225) ##### Fixed - fix: improve AxiosHeaders class [#&#8203;5224](https://github.com/axios/axios/pull/5224) - fix: TypeScript type definitions for commonjs [#&#8203;5196](https://github.com/axios/axios/pull/5196) - fix: type definition of use method on AxiosInterceptorManager to match the README [#&#8203;5071](https://github.com/axios/axios/pull/5071) - fix: \_\_dirname is not defined in the sandbox [#&#8203;5269](https://github.com/axios/axios/pull/5269) - fix: AxiosError.toJSON method to avoid circular references [#&#8203;5247](https://github.com/axios/axios/pull/5247) - fix: Z\_BUF\_ERROR when content-encoding is set but the response body is empty [#&#8203;5250](https://github.com/axios/axios/pull/5250) ##### Refactors - refactor: allowing adapters to be loaded by name [#&#8203;5277](https://github.com/axios/axios/pull/5277) ##### Chores - chore: force CI restart [#&#8203;5243](https://github.com/axios/axios/pull/5243) - chore: update ECOSYSTEM.md [#&#8203;5077](https://github.com/axios/axios/pull/5077) - chore: update get/index.html [#&#8203;5116](https://github.com/axios/axios/pull/5116) - chore: update Sandbox UI/UX [#&#8203;5205](https://github.com/axios/axios/pull/5205) - chore:(actions): remove git credentials after checkout [#&#8203;5235](https://github.com/axios/axios/pull/5235) - chore(actions): bump actions/dependency-review-action from 2 to 3 [#&#8203;5266](https://github.com/axios/axios/pull/5266) - chore(packages): bump loader-utils from 1.4.1 to 1.4.2 [#&#8203;5295](https://github.com/axios/axios/pull/5295) - chore(packages): bump engine.io from 6.2.0 to 6.2.1 [#&#8203;5294](https://github.com/axios/axios/pull/5294) - chore(packages): bump socket.io-parser from 4.0.4 to 4.0.5 [#&#8203;5241](https://github.com/axios/axios/pull/5241) - chore(packages): bump loader-utils from 1.4.0 to 1.4.1 [#&#8203;5245](https://github.com/axios/axios/pull/5245) - chore(docs): update Resources links in README [#&#8203;5119](https://github.com/axios/axios/pull/5119) - chore(docs): update the link for JSON url [#&#8203;5265](https://github.com/axios/axios/pull/5265) - chore(docs): fix broken links [#&#8203;5218](https://github.com/axios/axios/pull/5218) - chore(docs): update and rename UPGRADE\_GUIDE.md to MIGRATION\_GUIDE.md [#&#8203;5170](https://github.com/axios/axios/pull/5170) - chore(docs): typo fix line [#&#8203;856](https://github.com/axios/axios/issues/856) and [#&#8203;920](https://github.com/axios/axios/issues/920) [#&#8203;5194](https://github.com/axios/axios/pull/5194) - chore(docs): typo fix [#&#8203;800](https://github.com/axios/axios/issues/800) [#&#8203;5193](https://github.com/axios/axios/pull/5193) - chore(docs): fix typos [#&#8203;5184](https://github.com/axios/axios/pull/5184) - chore(docs): fix punctuation in README.md [#&#8203;5197](https://github.com/axios/axios/pull/5197) - chore(docs): update readme in the Handling Errors section - issue reference [#&#8203;5260](https://github.com/axios/axios/issues/5260) [#&#8203;5261](https://github.com/axios/axios/pull/5261) - chore: remove \b from filename [#&#8203;5207](https://github.com/axios/axios/pull/5207) - chore(docs): update CHANGELOG.md [#&#8203;5137](https://github.com/axios/axios/pull/5137) - chore: add sideEffects false to package.json [#&#8203;5025](https://github.com/axios/axios/pull/5025) ##### Contributors to this release - [Maddy Miller](https://github.com/me4502) - [Amit Saini](https://github.com/amitsainii) - [ecyrbe](https://github.com/ecyrbe) - [Ikko Ashimine](https://github.com/eltociear) - [Geeth Gunnampalli](https://github.com/thetechie7) - [Shreem Asati](https://github.com/shreem-123) - [Frieder Bluemle](https://github.com/friederbluemle) - [윤세영](https://github.com/yunseyeong) - [Claudio Busatto](https://github.com/cjcbusatto) - [Remco Haszing](https://github.com/remcohaszing) - [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS) - [Csaba Maulis](https://github.com/om4csaba) - [MoPaMo](https://github.com/MoPaMo) - [Daniel Fjeldstad](https://github.com/w3bdesign) - [Adrien Brunet](https://github.com/adrien-may) - [Frazer Smith](https://github.com/Fdawgs) - [HaiTao](https://github.com/836334258) - [AZM](https://github.com/aziyatali) - [relbns](https://github.com/relbns) ##### PRs - CVE 2023 45857 ( [#&#8203;6028](https://api.github.com/repos/axios/axios/pulls/6028) ) ``` ⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 ``` #### \[1.1.3] - 2022-10-15 ##### Added - Added custom params serializer support [#&#8203;5113](https://github.com/axios/axios/pull/5113) ##### Fixed - Fixed top-level export to keep them in-line with static properties [#&#8203;5109](https://github.com/axios/axios/pull/5109) - Stopped including null values to query string. [#&#8203;5108](https://github.com/axios/axios/pull/5108) - Restored proxy config backwards compatibility with 0.x [#&#8203;5097](https://github.com/axios/axios/pull/5097) - Added back AxiosHeaders in AxiosHeaderValue [#&#8203;5103](https://github.com/axios/axios/pull/5103) - Pin CDN install instructions to a specific version [#&#8203;5060](https://github.com/axios/axios/pull/5060) - Handling of array values fixed for AxiosHeaders [#&#8203;5085](https://github.com/axios/axios/pull/5085) ##### Chores - docs: match badge style, add link to them [#&#8203;5046](https://github.com/axios/axios/pull/5046) - chore: fixing comments typo [#&#8203;5054](https://github.com/axios/axios/pull/5054) - chore: update issue template [#&#8203;5061](https://github.com/axios/axios/pull/5061) - chore: added progress capturing section to the docs; [#&#8203;5084](https://github.com/axios/axios/pull/5084) ##### Contributors to this release - [Jason Saayman](https://github.com/jasonsaayman) - [scarf](https://github.com/scarf005) - [Lenz Weber-Tronic](https://github.com/phryneas) - [Arvindh](https://github.com/itsarvindh) - [Félix Legrelle](https://github.com/FelixLgr) - [Patrick Petrovic](https://github.com/ppati000) - [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS) - [littledian](https://github.com/littledian) - [ChronosMasterOfAllTime](https://github.com/ChronosMasterOfAllTime) ##### PRs - CVE 2023 45857 ( [#&#8203;6028](https://api.github.com/repos/axios/axios/pulls/6028) ) ``` ⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 ``` #### \[1.1.2] - 2022-10-07 ##### Fixed - Fixed broken exports for UMD builds. ##### Contributors to this release - [Jason Saayman](https://github.com/jasonsaayman) ##### PRs - CVE 2023 45857 ( [#&#8203;6028](https://api.github.com/repos/axios/axios/pulls/6028) ) ``` ⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 ``` #### \[1.1.1] - 2022-10-07 ##### Fixed - Fixed broken exports for common js. This fix breaks a prior fix, I will fix both issues ASAP but the commonJS use is more impactful. ##### Contributors to this release - [Jason Saayman](https://github.com/jasonsaayman) ##### PRs - CVE 2023 45857 ( [#&#8203;6028](https://api.github.com/repos/axios/axios/pulls/6028) ) ``` ⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 ``` #### \[1.1.0] - 2022-10-06 ##### Fixed - Fixed missing exports in type definition index.d.ts [#&#8203;5003](https://github.com/axios/axios/pull/5003) - Fixed query params composing [#&#8203;5018](https://github.com/axios/axios/pull/5018) - Fixed GenericAbortSignal interface by making it more generic [#&#8203;5021](https://github.com/axios/axios/pull/5021) - Fixed adding "clear" to AxiosInterceptorManager [#&#8203;5010](https://github.com/axios/axios/pull/5010) - Fixed commonjs & umd exports [#&#8203;5030](https://github.com/axios/axios/pull/5030) - Fixed inability to access response headers when using axios 1.x with Jest [#&#8203;5036](https://github.com/axios/axios/pull/5036) ##### Contributors to this release - [Trim21](https://github.com/trim21) - [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS) - [shingo.sasaki](https://github.com/s-sasaki-0529) - [Ivan Pepelko](https://github.com/ivanpepelko) - [Richard Kořínek](https://github.com/risa) ##### PRs - CVE 2023 45857 ( [#&#8203;6028](https://api.github.com/repos/axios/axios/pulls/6028) ) ``` ⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 ``` #### \[1.0.0] - 2022-10-04 ##### Added - Added stack trace to AxiosError [#&#8203;4624](https://github.com/axios/axios/pull/4624) - Add AxiosError to AxiosStatic [#&#8203;4654](https://github.com/axios/axios/pull/4654) - Replaced Rollup as our build runner [#&#8203;4596](https://github.com/axios/axios/pull/4596) - Added generic TS types for the exposed toFormData helper [#&#8203;4668](https://github.com/axios/axios/pull/4668) - Added listen callback function [#&#8203;4096](https://github.com/axios/axios/pull/4096) - Added instructions for installing using PNPM [#&#8203;4207](https://github.com/axios/axios/pull/4207) - Added generic AxiosAbortSignal TS interface to avoid importing AbortController polyfill [#&#8203;4229](https://github.com/axios/axios/pull/4229) - Added axios-url-template in ECOSYSTEM.md [#&#8203;4238](https://github.com/axios/axios/pull/4238) - Added a clear() function to the request and response interceptors object so a user can ensure that all interceptors have been removed from an axios instance [#&#8203;4248](https://github.com/axios/axios/pull/4248) - Added react hook plugin [#&#8203;4319](https://github.com/axios/axios/pull/4319) - Adding HTTP status code for transformResponse [#&#8203;4580](https://github.com/axios/axios/pull/4580) - Added blob to the list of protocols supported by the browser [#&#8203;4678](https://github.com/axios/axios/pull/4678) - Resolving proxy from env on redirect [#&#8203;4436](https://github.com/axios/axios/pull/4436) - Added enhanced toFormData implementation with additional options [4704](https://github.com/axios/axios/pull/4704) - Adding Canceler parameters config and request [#&#8203;4711](https://github.com/axios/axios/pull/4711) - Added automatic payload serialization to application/x-www-form-urlencoded [#&#8203;4714](https://github.com/axios/axios/pull/4714) - Added the ability for webpack users to overwrite built-ins [#&#8203;4715](https://github.com/axios/axios/pull/4715) - Added string\[] to AxiosRequestHeaders type [#&#8203;4322](https://github.com/axios/axios/pull/4322) - Added the ability for the url-encoded-form serializer to respect the formSerializer config [#&#8203;4721](https://github.com/axios/axios/pull/4721) - Added isCancel type assert [#&#8203;4293](https://github.com/axios/axios/pull/4293) - Added data URL support for node.js [#&#8203;4725](https://github.com/axios/axios/pull/4725) - Adding types for progress event callbacks [#&#8203;4675](https://github.com/axios/axios/pull/4675) - URL params serializer [#&#8203;4734](https://github.com/axios/axios/pull/4734) - Added axios.formToJSON method [#&#8203;4735](https://github.com/axios/axios/pull/4735) - Bower platform add data protocol [#&#8203;4804](https://github.com/axios/axios/pull/4804) - Use WHATWG URL API instead of url.parse() [#&#8203;4852](https://github.com/axios/axios/pull/4852) - Add ENUM containing Http Status Codes to typings [#&#8203;4903](https://github.com/axios/axios/pull/4903) - Improve typing of timeout in index.d.ts [#&#8203;4934](https://github.com/axios/axios/pull/4934) ##### Changed - Updated AxiosError.config to be optional in the type definition [#&#8203;4665](https://github.com/axios/axios/pull/4665) - Updated README emphasizing the URLSearchParam built-in interface over other solutions [#&#8203;4590](https://github.com/axios/axios/pull/4590) - Include request and config when creating a CanceledError instance [#&#8203;4659](https://github.com/axios/axios/pull/4659) - Changed func-names eslint rule to as-needed [#&#8203;4492](https://github.com/axios/axios/pull/4492) - Replacing deprecated substr() with slice() as substr() is deprecated [#&#8203;4468](https://github.com/axios/axios/pull/4468) - Updating HTTP links in README.md to use HTTPS [#&#8203;4387](https://github.com/axios/axios/pull/4387) - Updated to a better trim() polyfill [#&#8203;4072](https://github.com/axios/axios/pull/4072) - Updated types to allow specifying partial default headers on instance create [#&#8203;4185](https://github.com/axios/axios/pull/4185) - Expanded isAxiosError types [#&#8203;4344](https://github.com/axios/axios/pull/4344) - Updated type definition for axios instance methods [#&#8203;4224](https://github.com/axios/axios/pull/4224) - Updated eslint config [#&#8203;4722](https://github.com/axios/axios/pull/4722) - Updated Docs [#&#8203;4742](https://github.com/axios/axios/pull/4742) - Refactored Axios to use ES2017 [#&#8203;4787](https://github.com/axios/axios/pull/4787) ##### Deprecated - There are multiple deprecations, refactors and fixes provided in this release. Please read through the full release notes to see how this may impact your project and use case. ##### Removed - Removed incorrect argument for NetworkError constructor [#&#8203;4656](https://github.com/axios/axios/pull/4656) - Removed Webpack [#&#8203;4596](https://github.com/axios/axios/pull/4596) - Removed function that transform arguments to array [#&#8203;4544](https://github.com/axios/axios/pull/4544) ##### Fixed - Fixed grammar in README [#&#8203;4649](https://github.com/axios/axios/pull/4649) - Fixed code error in README [#&#8203;4599](https://github.com/axios/axios/pull/4599) - Optimized the code that checks cancellation [#&#8203;4587](https://github.com/axios/axios/pull/4587) - Fix url pointing to defaults.js in README [#&#8203;4532](https://github.com/axios/axios/pull/4532) - Use type alias instead of interface for AxiosPromise [#&#8203;4505](https://github.com/axios/axios/pull/4505) - Fix some word spelling and lint style in code comments [#&#8203;4500](https://github.com/axios/axios/pull/4500) - Edited readme with 3 updated browser icons of Chrome, FireFox and Safari [#&#8203;4414](https://github.com/axios/axios/pull/4414) - Bump follow-redirects from 1.14.9 to 1.15.0 [#&#8203;4673](https://github.com/axios/axios/pull/4673) - Fixing http tests to avoid hanging when assertions fail [#&#8203;4435](https://github.com/axios/axios/pull/4435) - Fix TS definition for AxiosRequestTransformer [#&#8203;4201](https://github.com/axios/axios/pull/4201) - Fix grammatical issues in README [#&#8203;4232](https://github.com/axios/axios/pull/4232) - Fixing instance.defaults.headers type [#&#8203;4557](https://github.com/axios/axios/pull/4557) - Fixed race condition on immediate requests cancellation [#&#8203;4261](https://github.com/axios/axios/pull/4261) - Fixing Z\_BUF\_ERROR when no content [#&#8203;4701](https://github.com/axios/axios/pull/4701) - Fixing proxy beforeRedirect regression [#&#8203;4708](https://github.com/axios/axios/pull/4708) - Fixed AxiosError status code type [#&#8203;4717](https://github.com/axios/axios/pull/4717) - Fixed AxiosError stack capturing [#&#8203;4718](https://github.com/axios/axios/pull/4718) - Fixing AxiosRequestHeaders typings [#&#8203;4334](https://github.com/axios/axios/pull/4334) - Fixed max body length defaults [#&#8203;4731](https://github.com/axios/axios/pull/4731) - Fixed toFormData Blob issue on node>v17 [#&#8203;4728](https://github.com/axios/axios/pull/4728) - Bump grunt from 1.5.2 to 1.5.3 [#&#8203;4743](https://github.com/axios/axios/pull/4743) - Fixing content-type header repeated [#&#8203;4745](https://github.com/axios/axios/pull/4745) - Fixed timeout error message for http [4738](https://github.com/axios/axios/pull/4738) - Request ignores false, 0 and empty string as body values [#&#8203;4785](https://github.com/axios/axios/pull/4785) - Added back missing minified builds [#&#8203;4805](https://github.com/axios/axios/pull/4805) - Fixed a type error [#&#8203;4815](https://github.com/axios/axios/pull/4815) - Fixed a regression bug with unsubscribing from cancel token; [#&#8203;4819](https://github.com/axios/axios/pull/4819) - Remove repeated compression algorithm [#&#8203;4820](https://github.com/axios/axios/pull/4820) - The error of calling extend to pass parameters [#&#8203;4857](https://github.com/axios/axios/pull/4857) - SerializerOptions.indexes allows boolean | null | undefined [#&#8203;4862](https://github.com/axios/axios/pull/4862) - Require interceptors to return values [#&#8203;4874](https://github.com/axios/axios/pull/4874) - Removed unused imports [#&#8203;4949](https://github.com/axios/axios/pull/4949) - Allow null indexes on formSerializer and paramsSerializer [#&#8203;4960](https://github.com/axios/axios/pull/4960) ##### Chores - Set permissions for GitHub actions [#&#8203;4765](https://github.com/axios/axios/pull/4765) - Included githubactions in the dependabot config [#&#8203;4770](https://github.com/axios/axios/pull/4770) - Included dependency review [#&#8203;4771](https://github.com/axios/axios/pull/4771) - Update security.md [#&#8203;4784](https://github.com/axios/axios/pull/4784) - Remove unnecessary spaces [#&#8203;4854](https://github.com/axios/axios/pull/4854) - Simplify the import path of AxiosError [#&#8203;4875](https://github.com/axios/axios/pull/4875) - Fix Gitpod dead link [#&#8203;4941](https://github.com/axios/axios/pull/4941) - Enable syntax highlighting for a code block [#&#8203;4970](https://github.com/axios/axios/pull/4970) - Using Logo Axios in Readme.md [#&#8203;4993](https://github.com/axios/axios/pull/4993) - Fix markup for note in README [#&#8203;4825](https://github.com/axios/axios/pull/4825) - Fix typo and formatting, add colons [#&#8203;4853](https://github.com/axios/axios/pull/4853) - Fix typo in readme [#&#8203;4942](https://github.com/axios/axios/pull/4942) ##### Security - Update SECURITY.md [#&#8203;4687](https://github.com/axios/axios/pull/4687) ##### Contributors to this release - [Bertrand Marron](https://github.com/tusbar) - [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS) - [Dan Mooney](https://github.com/danmooney) - [Michael Li](https://github.com/xiaoyu-tamu) - [aong](https://github.com/yxwzaxns) - [Des Preston](https://github.com/despreston) - [Ted Robertson](https://github.com/tredondo) - [zhoulixiang](https://github.com/zh-lx) - [Arthur Fiorette](https://github.com/arthurfiorette) - [Kumar Shanu](https://github.com/Kr-Shanu) - [JALAL](https://github.com/JLL32) - [Jingyi Lin](https://github.com/MageeLin) - [Philipp Loose](https://github.com/phloose) - [Alexander Shchukin](https://github.com/sashsvamir) - [Dave Cardwell](https://github.com/davecardwell) - [Cat Scarlet](https://github.com/catscarlet) - [Luca Pizzini](https://github.com/lpizzinidev) - [Kai](https://github.com/Schweinepriester) - [Maxime Bargiel](https://github.com/mbargiel) - [Brian Helba](https://github.com/brianhelba) - [reslear](https://github.com/reslear) - [Jamie Slome](https://github.com/JamieSlome) - [Landro3](https://github.com/Landro3) - [rafw87](https://github.com/rafw87) - [Afzal Sayed](https://github.com/afzalsayed96) - [Koki Oyatsu](https://github.com/kaishuu0123) - [Dave](https://github.com/wangcch) - [暴走老七](https://github.com/baozouai) - [Spencer](https://github.com/spalger) - [Adrian Wieprzkowicz](https://github.com/Argeento) - [Jamie Telin](https://github.com/lejahmie) - [毛呆](https://github.com/aweikalee) - [Kirill Shakirov](https://github.com/turisap) - [Rraji Abdelbari](https://github.com/estarossa0) - [Jelle Schutter](https://github.com/jelleschutter) - [Tom Ceuppens](https://github.com/KyorCode) - [Johann Cooper](https://github.com/JohannCooper) - [Dimitris Halatsis](https://github.com/mitsos1os) - [chenjigeng](https://github.com/chenjigeng) - [João Gabriel Quaresma](https://github.com/joaoGabriel55) - [Victor Augusto](https://github.com/VictorAugDB) - [neilnaveen](https://github.com/neilnaveen) - [Pavlos](https://github.com/psmoros) - [Kiryl Valkovich](https://github.com/visortelle) - [Naveen](https://github.com/naveensrinivasan) - [wenzheng](https://github.com/0x30) - [hcwhan](https://github.com/hcwhan) - [Bassel Rachid](https://github.com/basselworkforce) - [Grégoire Pineau](https://github.com/lyrixx) - [felipedamin](https://github.com/felipedamin) - [Karl Horky](https://github.com/karlhorky) - [Yue JIN](https://github.com/kingyue737) - [Usman Ali Siddiqui](https://github.com/usman250994) - [WD](https://github.com/techbirds) - [Günther Foidl](https://github.com/gfoidl) - [Stephen Jennings](https://github.com/jennings) - [C.T.Lin](https://github.com/chentsulin) - [mia-z](https://github.com/mia-z) - [Parth Banathia](https://github.com/Parth0105) - [parth0105pluang](https://github.com/parth0105pluang) - [Marco Weber](https://github.com/mrcwbr) - [Luca Pizzini](https://github.com/lpizzinidev) - [Willian Agostini](https://github.com/WillianAgostini) - [Huyen Nguyen](https://github.com/huyenltnguyen) </details> <details> <summary>eslint/eslint (eslint)</summary> ### [`v10.8.1`](https://github.com/eslint/eslint/releases/tag/v10.8.1) [Compare Source](https://github.com/eslint/eslint/compare/v10.8.0...v10.8.1) #### Bug Fixes - [`18eb0a7`](https://github.com/eslint/eslint/commit/18eb0a7e787b9fac3049ef3dad0e845d2bd940a4) fix: prevent ASI hazard in `no-unused-labels` autofix ([#&#8203;21173](https://github.com/eslint/eslint/issues/21173)) (dongkyu lee) - [`151ba3f`](https://github.com/eslint/eslint/commit/151ba3f5834a0909e8b9b1736f4889ac694c0104) fix: false positives in `getter-return` and `accessor-pairs` ([#&#8203;21163](https://github.com/eslint/eslint/issues/21163)) (Grit) - [`6898df9`](https://github.com/eslint/eslint/commit/6898df9364639ee64b9448a4cb6b08a30c16bd37) fix: ignore meta-property names in `id-denylist` ([#&#8203;21166](https://github.com/eslint/eslint/issues/21166)) (Pixel) - [`4d7db66`](https://github.com/eslint/eslint/commit/4d7db6628e2badf0857cb88734fe641c3874bce9) fix: ignore meta-property names in `id-match` ([#&#8203;21167](https://github.com/eslint/eslint/issues/21167)) (Pixel) - [`677214e`](https://github.com/eslint/eslint/commit/677214e7eea83d8bc6e4b79eea871577e1369d5f) fix: handle ASI hazards in no-unused-vars removeVar suggestion ([#&#8203;20935](https://github.com/eslint/eslint/issues/20935)) (kuldeep kumar) #### Documentation - [`7d0cbf8`](https://github.com/eslint/eslint/commit/7d0cbf81cfdb7526b5c4cb7b222ddc7f257db560) docs: Update README (GitHub Actions Bot) - [`0a05812`](https://github.com/eslint/eslint/commit/0a05812adb12598b32e85297b98df5ad14501d60) docs: add missing backticks to `no-duplicate-imports.js` ([#&#8203;21183](https://github.com/eslint/eslint/issues/21183)) (Lee Daeun) - [`678c90b`](https://github.com/eslint/eslint/commit/678c90b55da2889d4400cbf6e2584ab683faf202) docs: Update README (GitHub Actions Bot) - [`8a10424`](https://github.com/eslint/eslint/commit/8a104242e8e1c5614940fab7324346974cff7d26) docs: Update README (GitHub Actions Bot) - [`69bb948`](https://github.com/eslint/eslint/commit/69bb948061105426dbe6e3c931fcda783286e020) docs: Update README (GitHub Actions Bot) #### Chores - [`0a14800`](https://github.com/eslint/eslint/commit/0a148005051fded2ef1d14cc228ae505251b4b10) chore: update github/codeql-action action to v4.37.4 ([#&#8203;21196](https://github.com/eslint/eslint/issues/21196)) (renovate\[bot]) - [`05adcb1`](https://github.com/eslint/eslint/commit/05adcb13542061dc7fadde5cd58d23d405a96d93) test: fix failing ecosystem test for `eslint-plugin-unicorn` ([#&#8203;21191](https://github.com/eslint/eslint/issues/21191)) (Lazizbek Ergashev) - [`5611035`](https://github.com/eslint/eslint/commit/56110356652dd614b3cf0933538abb551fc6bd6f) test: add error locations info to `no-void` ([#&#8203;21185](https://github.com/eslint/eslint/issues/21185)) (Lee Daeun) - [`ee47333`](https://github.com/eslint/eslint/commit/ee47333aa681cfc3cb54df08c38f211ea219cc2a) ci: bump github/codeql-action from 4 to 4.37.3 ([#&#8203;21176](https://github.com/eslint/eslint/issues/21176)) (dependabot\[bot]) - [`f131c03`](https://github.com/eslint/eslint/commit/f131c034ad91bbf06bcbb6b5e931447a8e419a46) chore: improve ecosystem test failure reporting ([#&#8203;20937](https://github.com/eslint/eslint/issues/20937)) (crimsonjay0) - [`1f6edde`](https://github.com/eslint/eslint/commit/1f6eddee609b369b50993eab08d437dda4700991) chore: update ecosystem plugins ([#&#8203;21182](https://github.com/eslint/eslint/issues/21182)) (ESLint Bot) - [`d3266fb`](https://github.com/eslint/eslint/commit/d3266fb26c719c6b90a6cbe54bb120c9335ad19c) chore: unpin `webpack` dependency ([#&#8203;21172](https://github.com/eslint/eslint/issues/21172)) (Francesco Trotta) - [`65a6519`](https://github.com/eslint/eslint/commit/65a6519cc8733b4688558a8611397cf9d01dd55d) chore: add allowScripts field to package.json ([#&#8203;21092](https://github.com/eslint/eslint/issues/21092)) (GiHoon Noh) - [`22e5256`](https://github.com/eslint/eslint/commit/22e52568536e0009d4493dc888736bc163220c4b) ci: add `triage:no` label to Dependabot PRs ([#&#8203;21141](https://github.com/eslint/eslint/issues/21141)) (lumir) - [`55c9038`](https://github.com/eslint/eslint/commit/55c9038836c91b6bd5617f0c97bea2274c9cc0bf) ci: bump actions/labeler from 6 to 7 ([#&#8203;21159](https://github.com/eslint/eslint/issues/21159)) (dependabot\[bot]) - [`7280e78`](https://github.com/eslint/eslint/commit/7280e78183d4711a49916b6a49ba5efaa651a991) chore: update dependency prettier to v3.9.6 ([#&#8203;21162](https://github.com/eslint/eslint/issues/21162)) (renovate\[bot]) - [`eddbad6`](https://github.com/eslint/eslint/commit/eddbad60158d8cda86830fbe934a9d2282273b32) test: fix failing ecosystem test for `eslint-plugin-unicorn` ([#&#8203;21156](https://github.com/eslint/eslint/issues/21156)) (Francesco Trotta) - [`60a178d`](https://github.com/eslint/eslint/commit/60a178d5ef1b0c471be0831031ed7347f8f81dc2) chore: update ecosystem plugins ([#&#8203;21150](https://github.com/eslint/eslint/issues/21150)) (ESLint Bot) - [`f9f61dc`](https://github.com/eslint/eslint/commit/f9f61dc6112836f46a58a410c38b8c2faf10973f) test: add error locations to `no-unreachable` ([#&#8203;21151](https://github.com/eslint/eslint/issues/21151)) (JIYEON) - [`d086293`](https://github.com/eslint/eslint/commit/d08629382b0a6aaa042823b796e5100e60053b54) test: add error locations to `no-undef` ([#&#8203;21147](https://github.com/eslint/eslint/issues/21147)) (JIYEON) - [`cc01b67`](https://github.com/eslint/eslint/commit/cc01b67061bbf558aa25746883ea1cad847f7cf2) test: add error locations to `no-useless-catch` ([#&#8203;21144](https://github.com/eslint/eslint/issues/21144)) (devoil) - [`688e75e`](https://github.com/eslint/eslint/commit/688e75ede01b295d51f2f86c9d82da020a4c887e) chore: add missing backticks in JSDoc ([#&#8203;21143](https://github.com/eslint/eslint/issues/21143)) (Bo Hyun Kim) - [`7c1e175`](https://github.com/eslint/eslint/commit/7c1e17543ad396f50f65b003cf9142d43d3c63b0) test: add error locations to `require-await` ([#&#8203;21145](https://github.com/eslint/eslint/issues/21145)) (Grit) - [`588a26d`](https://github.com/eslint/eslint/commit/588a26ddce3c5a20f5b3f3d51ba1353cce7b4b0c) test: add error locations to `no-extra-label` ([#&#8203;21139](https://github.com/eslint/eslint/issues/21139)) (dongkyu lee) - [`059aa89`](https://github.com/eslint/eslint/commit/059aa895743639e3ab53d14f9d944ff4be042233) test: add error locations to `no-useless-concat` ([#&#8203;21140](https://github.com/eslint/eslint/issues/21140)) (dongkyu lee) - [`5a452a8`](https://github.com/eslint/eslint/commit/5a452a8ba53917d65c9d83c3959ed35c2f890613) test: add error locations to `no-const-assign` ([#&#8203;21138](https://github.com/eslint/eslint/issues/21138)) (dongkyu lee) ### [`v10.8.0`](https://github.com/eslint/eslint/releases/tag/v10.8.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.7.0...v10.8.0) #### Features - [`2fee9bb`](https://github.com/eslint/eslint/commit/2fee9bb7416116cbed4d8c8100b1ae713b6356a1) feat: export `ConfigObject` from `eslint/config` ([#&#8203;21082](https://github.com/eslint/eslint/issues/21082)) (sethamus) #### Bug Fixes - [`6b8d2f7`](https://github.com/eslint/eslint/commit/6b8d2f7589b8a7c8b91b8ca2a2ef6d46178760d8) fix: escape reserved characters in rule id in `html` formatter ([#&#8203;21129](https://github.com/eslint/eslint/issues/21129)) (Francesco Trotta) - [`9091071`](https://github.com/eslint/eslint/commit/90910715011211a20d011d807d398a7005127f35) fix: prevent `no-unreachable-loop` crash when all loop types are ignored ([#&#8203;21116](https://github.com/eslint/eslint/issues/21116)) (Pixel) - [`e23fafe`](https://github.com/eslint/eslint/commit/e23fafe8d4b15355adef6cdebef414c3a2019454) fix: prefer-object-spread add semicolon when adding parenthesis ([#&#8203;21081](https://github.com/eslint/eslint/issues/21081)) (synthex-byte) - [`20b5ad0`](https://github.com/eslint/eslint/commit/20b5ad052360a443786a202e94624a3f81846511) fix: quadratic-time regex in `prefer-template` ([#&#8203;21096](https://github.com/eslint/eslint/issues/21096)) (Milos Djermanovic) - [`8b6f6c0`](https://github.com/eslint/eslint/commit/8b6f6c0b33411f34485512456d94f221daf7321f) fix: apply ignore configs to computed methods in class-methods-use-this ([#&#8203;21094](https://github.com/eslint/eslint/issues/21094)) (Pixel) - [`b2c608c`](https://github.com/eslint/eslint/commit/b2c608c014a396800a24a89343265d0616bee2d8) fix: NewExpression with parenthesized callee in `preserve-caught-error` ([#&#8203;21083](https://github.com/eslint/eslint/issues/21083)) (Francesco Trotta) #### Documentation - [`6ddf858`](https://github.com/eslint/eslint/commit/6ddf8587e5cfeeb7328332601bb76d98b8a198ea) docs: fix broken Specify Parser Options anchor link ([#&#8203;21106](https://github.com/eslint/eslint/issues/21106)) (Minsu) - [`784dfbe`](https://github.com/eslint/eslint/commit/784dfbe98f0222426fd200153a5ce2e5624151f0) docs: Clarify `no-eq-null` description ([#&#8203;21120](https://github.com/eslint/eslint/issues/21120)) (Park Harin) - [`7ec733a`](https://github.com/eslint/eslint/commit/7ec733a3ba5acb053a73ac656030a3879aa48fda) docs: Fix typos and grammar in glossary ([#&#8203;21095](https://github.com/eslint/eslint/issues/21095)) (Marry (Subin Yang)) - [`92bb13f`](https://github.com/eslint/eslint/commit/92bb13f13065db72d62454b9830d3ae52db15c76) docs: replace quake link ([#&#8203;21108](https://github.com/eslint/eslint/issues/21108)) (Jung Hyeon Jun) - [`68eb4a5`](https://github.com/eslint/eslint/commit/68eb4a57572409dbdcfeb3bc5c92ddbba46bc770) docs: fix broken Specify Globals anchor links in rule pages ([#&#8203;21103](https://github.com/eslint/eslint/issues/21103)) (Minsu) - [`d28f697`](https://github.com/eslint/eslint/commit/d28f697e0d32d7446c825fd89c362db028450134) docs: replace Code Climate CLI links with Qlty CLI links ([#&#8203;21099](https://github.com/eslint/eslint/issues/21099)) (Jung Hyeon Jun) - [`eccc68d`](https://github.com/eslint/eslint/commit/eccc68d42564e46bc9020d19ec52d2988f3b7bfa) docs: correct --suppressions-location option description ([#&#8203;21093](https://github.com/eslint/eslint/issues/21093)) (Ga eun Lee) - [`c5963f7`](https://github.com/eslint/eslint/commit/c5963f74bfa82a5b7ccc0607dcdcc695b8c97a31) docs: Update README (GitHub Actions Bot) #### Chores - [`4fbf46d`](https://github.com/eslint/eslint/commit/4fbf46d140120ae838db08cbe49544c985956490) test: pin `webpack` version to 5.108.4 ([#&#8203;21137](https://github.com/eslint/eslint/issues/21137)) (Francesco Trotta) - [`2d063e2`](https://github.com/eslint/eslint/commit/2d063e224e9bb0ccb0a28c120f7e380a8d62f320) chore: update HTTP URLs to HTTPS in JSDoc and comments ([#&#8203;21101](https://github.com/eslint/eslint/issues/21101)) (Bo Hyun Kim) - [`eccbe7b`](https://github.com/eslint/eslint/commit/eccbe7bc9257a6c99880468e452c8dfafbf47f74) test: add error locations to `no-class-assign` ([#&#8203;21123](https://github.com/eslint/eslint/issues/21123)) (devoil) - [`e7d1e43`](https://github.com/eslint/eslint/commit/e7d1e4373bf626f8da76d62ce024c28928bc99bc) ci: bump actions/setup-go from 6 to 7 ([#&#8203;21118](https://github.com/eslint/eslint/issues/21118)) (dependabot\[bot]) - [`e9d66d0`](https://github.com/eslint/eslint/commit/e9d66d0cde1a7752c29dee53ab7b62632835a87a) ci: bump actions/setup-node from 6 to 7 ([#&#8203;21119](https://github.com/eslint/eslint/issues/21119)) (dependabot\[bot]) - [`ee225b6`](https://github.com/eslint/eslint/commit/ee225b60c26f0cc5f4d71641888a5bd2ec5626d6) test: Add error location details to `no-eq-null` rule ([#&#8203;21117](https://github.com/eslint/eslint/issues/21117)) (Park Harin) - [`044a627`](https://github.com/eslint/eslint/commit/044a627fa3e28ee1410d515acc5378eb4b49f8ba) chore: update minimatch to ^10.2.5 ([#&#8203;21107](https://github.com/eslint/eslint/issues/21107)) (김채영) - [`fb09aa8`](https://github.com/eslint/eslint/commit/fb09aa8ff09730d3ccf68859e065f99666b52466) chore: update ecosystem plugins ([#&#8203;21115](https://github.com/eslint/eslint/issues/21115)) (ESLint Bot) - [`5abd878`](https://github.com/eslint/eslint/commit/5abd878740fe417fd8a910cac3741f2a0317b365) test: add error locations to `no-proto` ([#&#8203;21114](https://github.com/eslint/eslint/issues/21114)) (Gihyeon Jeong / 정기현) - [`9715887`](https://github.com/eslint/eslint/commit/9715887ec94a5ff936447d7b680d039fbe2f0541) test: Add error location details to `no-div-regex` ([#&#8203;21110](https://github.com/eslint/eslint/issues/21110)) (Park Harin) - [`a746ec6`](https://github.com/eslint/eslint/commit/a746ec6ea4a2249b1eb3f512264da5f4d5f7c886) test: add error locations to `no-new-wrappers` ([#&#8203;21109](https://github.com/eslint/eslint/issues/21109)) (Gihyeon Jeong / 정기현) - [`8dde645`](https://github.com/eslint/eslint/commit/8dde64570e240f3ef8af873d59a752db6d8519aa) test: add error locations to `no-ex-assign` ([#&#8203;21102](https://github.com/eslint/eslint/issues/21102)) (devoil) - [`13ab0ec`](https://github.com/eslint/eslint/commit/13ab0ec447650c079d8a5e5d67222f79e69c741e) test: add error locations to `no-label-var` ([#&#8203;21098](https://github.com/eslint/eslint/issues/21098)) (Gihyeon Jeong / 정기현) - [`a99906f`](https://github.com/eslint/eslint/commit/a99906ffb8342dde03336b5c6372b5658f21d5f2) test: Add error location details to `no-delete-var` rule ([#&#8203;21105](https://github.com/eslint/eslint/issues/21105)) (Park Harin) - [`c47e8dc`](https://github.com/eslint/eslint/commit/c47e8dc9bbfba797430db45ae08cb6f7392cfc9d) chore: add missing backticks to `languages/js/index.js` ([#&#8203;21104](https://github.com/eslint/eslint/issues/21104)) (beeen) - [`0174428`](https://github.com/eslint/eslint/commit/0174428dd7543d118cf67a823b98dd97032fe68c) chore: add missing backticks to `translate-cli-options.js` ([#&#8203;21097](https://github.com/eslint/eslint/issues/21097)) (dongkyu lee) - [`3d36589`](https://github.com/eslint/eslint/commit/3d36589a4917326500f0707bb41745160f387d00) chore: add missing backticks to `serialization.js` ([#&#8203;21091](https://github.com/eslint/eslint/issues/21091)) (이규환) - [`dcc9312`](https://github.com/eslint/eslint/commit/dcc9312c1081931de0fe1b555fbb6aa82fe696b9) test: add error locations to `eqeqeq` ([#&#8203;21090](https://github.com/eslint/eslint/issues/21090)) (Ga eun Lee) - [`2710b18`](https://github.com/eslint/eslint/commit/2710b182472cd1a95e4aff6186cb2c4fbadb4ee0) ci: Add explicit permissions to rebuild-docs-sites workflow ([#&#8203;21089](https://github.com/eslint/eslint/issues/21089)) (Marry (Subin Yang)) - [`5d2f866`](https://github.com/eslint/eslint/commit/5d2f8663ee60701e9036b0b0933a12efd9d93269) chore: update dependency prettier to v3.9.5 ([#&#8203;21086](https://github.com/eslint/eslint/issues/21086)) (renovate\[bot]) - [`d584e31`](https://github.com/eslint/eslint/commit/d584e31098f262563b97dc5d5f23a63a187879a0) chore: fix failing ecosystem test for `eslint-plugin-unicorn` ([#&#8203;21084](https://github.com/eslint/eslint/issues/21084)) (Francesco Trotta) - [`bf3eda0`](https://github.com/eslint/eslint/commit/bf3eda049bd690f1e9a5a0c4520a6329b3e4ec85) chore: update ecosystem plugins ([#&#8203;21079](https://github.com/eslint/eslint/issues/21079)) (ESLint Bot) ### [`v10.7.0`](https://github.com/eslint/eslint/releases/tag/v10.7.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.6.0...v10.7.0) #### Features - [`cf2a9bf`](https://github.com/eslint/eslint/commit/cf2a9bf2d982642f760370c15f1196f4658f4e27) feat: add errorClassNames option to preserve-caught-error rule ([#&#8203;21032](https://github.com/eslint/eslint/issues/21032)) (sethamus) - [`f8b873a`](https://github.com/eslint/eslint/commit/f8b873aae53610b80b5c1005606716e05ed3b91f) feat: max-nested-callbacks option for constructor callbacks ([#&#8203;21063](https://github.com/eslint/eslint/issues/21063)) (fnx) - [`557fde8`](https://github.com/eslint/eslint/commit/557fde8bc633d26ea4fe287d4483f287e8e6080f) feat: support computed `Number.parseInt` member access in `radix` rule ([#&#8203;21041](https://github.com/eslint/eslint/issues/21041)) (Pixel) - [`0b4a73b`](https://github.com/eslint/eslint/commit/0b4a73b65808f5a8fd192f15db2bf5e47002b9f7) feat: add suggestions to no-compare-neg-zero ([#&#8203;21034](https://github.com/eslint/eslint/issues/21034)) (den$) - [`96cdd42`](https://github.com/eslint/eslint/commit/96cdd427db5f26c6403fba92b0f7ae4556c595ec) feat: report invalid signed numeric radix values in `radix` rule ([#&#8203;21030](https://github.com/eslint/eslint/issues/21030)) (Pixel) #### Bug Fixes - [`3e7bf15`](https://github.com/eslint/eslint/commit/3e7bf15e69e6d3a2c8832356bcc2e9903cc4eede) fix: apply `ignoreClassesWithImplements` to class expressions ([#&#8203;21069](https://github.com/eslint/eslint/issues/21069)) (Pixel) - [`0d7d70c`](https://github.com/eslint/eslint/commit/0d7d70cf013ec5bf1e4f5a0fcf7128bdf059b2d4) fix: insert cause outside wrapping parens in preserve-caught-error ([#&#8203;21062](https://github.com/eslint/eslint/issues/21062)) (Mahin Anowar) - [`75ec753`](https://github.com/eslint/eslint/commit/75ec753226010867270787b412f3dae412e421e6) fix: handle static template literals in `eqeqeq` rule ([#&#8203;21058](https://github.com/eslint/eslint/issues/21058)) (Pixel) - [`b717a22`](https://github.com/eslint/eslint/commit/b717a22e2408389a2ad40af66543e46390669eb6) fix: prevent `eqeqeq` null option from reporting non-equality operators ([#&#8203;21057](https://github.com/eslint/eslint/issues/21057)) (Pixel) - [`e35b05f`](https://github.com/eslint/eslint/commit/e35b05f1961dcd691611bd68b6ff8a87072d6f76) fix: avoid `no-invalid-regexp` false positive for shadowed RegExp ([#&#8203;21051](https://github.com/eslint/eslint/issues/21051)) (Pixel) - [`a3172b6`](https://github.com/eslint/eslint/commit/a3172b69c7db63ea0321355543e3f527c7d8b76a) fix: avoid `no-control-regex` false positive for shadowed RegExp ([#&#8203;21050](https://github.com/eslint/eslint/issues/21050)) (Pixel) - [`d1f637e`](https://github.com/eslint/eslint/commit/d1f637eca27e523d613991c6bea5b8726b810e4c) fix: parenthesize sequence expression operands in no-implicit-coercion ([#&#8203;21045](https://github.com/eslint/eslint/issues/21045)) (spokodev) - [`8859baf`](https://github.com/eslint/eslint/commit/8859bafb018e2b23b5110d52e491b69b94ad890a) fix: avoid prefer-numeric-literals false positive for shadowed globals ([#&#8203;21047](https://github.com/eslint/eslint/issues/21047)) (한국) - [`a9e5961`](https://github.com/eslint/eslint/commit/a9e5961050676ef29dba9649dfcd7233d21760c7) fix: use-isnan false positive on shadowed NaN/Number ([#&#8203;20958](https://github.com/eslint/eslint/issues/20958)) (sethamus) - [`8a240a7`](https://github.com/eslint/eslint/commit/8a240a76108f30f2476e61a925e4d32d378cce5e) fix: avoid false positives in `radix` rule for spread arguments ([#&#8203;21044](https://github.com/eslint/eslint/issues/21044)) (Pixel) #### Documentation - [`c30d808`](https://github.com/eslint/eslint/commit/c30d80801ca561bdf65c6c3eba4ee57dced278cf) docs: Update README (GitHub Actions Bot) - [`5139800`](https://github.com/eslint/eslint/commit/5139800b23e77fdd1a76664e1b36f478942eae55) docs: document ESLint migration codemods in v9 and v10 guides ([#&#8203;20980](https://github.com/eslint/eslint/issues/20980)) (Alex Bit) - [`04174cb`](https://github.com/eslint/eslint/commit/04174cbfaac1f9555400b5332d69056e6aab9cc6) docs: Update README (GitHub Actions Bot) - [`026e130`](https://github.com/eslint/eslint/commit/026e1304080512bcddfd2af3557fff86474ff949) docs: update semver policy for bug fixes ([#&#8203;21048](https://github.com/eslint/eslint/issues/21048)) (Milos Djermanovic) - [`9d42fef`](https://github.com/eslint/eslint/commit/9d42fefb0e05ecd0b256c2ebed479fc868862f0c) docs: Update README (GitHub Actions Bot) - [`b230159`](https://github.com/eslint/eslint/commit/b23015955c8d6e6516076190730f538c86927f26) docs: Update README (GitHub Actions Bot) - [`0129972`](https://github.com/eslint/eslint/commit/0129972ba122e95bece6040fda44d20f6799246a) docs: correct `**/.js` glob to `**/*.js` in config files guide ([#&#8203;21036](https://github.com/eslint/eslint/issues/21036)) (EduardF1) #### Chores - [`9489379`](https://github.com/eslint/eslint/commit/948937986f2aa3cccb27a4c80694a85e5b0a5f64) chore: update dependency [@&#8203;eslint/eslintrc](https://github.com/eslint/eslintrc) to ^3.3.6 ([#&#8203;21076](https://github.com/eslint/eslint/issues/21076)) (renovate\[bot]) - [`81a4774`](https://github.com/eslint/eslint/commit/81a4774a928211bd0c01a06a1517736ece594522) chore: updates for v9.39.5 release (Jenkins) - [`9835414`](https://github.com/eslint/eslint/commit/983541491393323d17717683f6a2e6dbef4bc3f4) chore: enable `$ExpectType` annotations in all TypeScript files ([#&#8203;21071](https://github.com/eslint/eslint/issues/21071)) (Francesco Trotta) - [`72adf6b`](https://github.com/eslint/eslint/commit/72adf6bd214c142b38aabb4b8f6f908079c5301a) chore: restrict `markdownlint-cli2` updates in renovate ([#&#8203;21067](https://github.com/eslint/eslint/issues/21067)) (lumir) - [`833ec10`](https://github.com/eslint/eslint/commit/833ec10fd702644e94334edd3cd2aa313174a958) chore: update dependency prettier to v3.9.4 ([#&#8203;21061](https://github.com/eslint/eslint/issues/21061)) (renovate\[bot]) - [`7ea106d`](https://github.com/eslint/eslint/commit/7ea106ddcb6af7db8f36d62a28dbaba94d33598e) chore: update ecosystem plugins ([#&#8203;21059](https://github.com/eslint/eslint/issues/21059)) (ESLint Bot) - [`8fb550e`](https://github.com/eslint/eslint/commit/8fb550e7c257fbdc4108fc8e63db43c1d914d472) chore: add prettier update commit to `.git-blame-ignore-revs` ([#&#8203;21056](https://github.com/eslint/eslint/issues/21056)) (lumir) - [`e4e1166`](https://github.com/eslint/eslint/commit/e4e11668ead6b950328c71e894563a13ef72bf84) chore: update dependency prettier to v3.9.1 ([#&#8203;21055](https://github.com/eslint/eslint/issues/21055)) (renovate\[bot]) - [`0493f53`](https://github.com/eslint/eslint/commit/0493f53f3fcec4ed69a1808dffa153dcff1380d3) chore: update prettier to v3.9.0 ([#&#8203;21054](https://github.com/eslint/eslint/issues/21054)) (Pixel) - [`1056a99`](https://github.com/eslint/eslint/commit/1056a996c657b377dc16a58c28890d2940394408) chore: update dependency prettier to v3.8.5 ([#&#8203;21049](https://github.com/eslint/eslint/issues/21049)) (renovate\[bot]) - [`4d4155d`](https://github.com/eslint/eslint/commit/4d4155df4a21d711e8dd21a467de085e770bad35) ci: run ecosystem tests on pull requests ([#&#8203;21027](https://github.com/eslint/eslint/issues/21027)) (sethamus) - [`993539f`](https://github.com/eslint/eslint/commit/993539fd45d3d01aad3fbc13963e2245fdf7ee0d) chore: update dependency [@&#8203;eslint/json](https://github.com/eslint/json) to ^2.0.1 ([#&#8203;21042](https://github.com/eslint/eslint/issues/21042)) (renovate\[bot]) - [`53f8b69`](https://github.com/eslint/eslint/commit/53f8b69c15af7398c989071ee4788b88edd48bdd) test: add error locations to `no-constant-binary-expression` ([#&#8203;21039](https://github.com/eslint/eslint/issues/21039)) (lumir) - [`5ab71d5`](https://github.com/eslint/eslint/commit/5ab71d52f9d860df04e626fcd819a36257f21f9e) refactor: clean up radix rule internals ([#&#8203;21015](https://github.com/eslint/eslint/issues/21015)) (Pixel) - [`a80a9a4`](https://github.com/eslint/eslint/commit/a80a9a461478838930c5545f840473840b26b0e6) chore: update ecosystem plugins ([#&#8203;21035](https://github.com/eslint/eslint/issues/21035)) (ESLint Bot) - [`7c9a029`](https://github.com/eslint/eslint/commit/7c9a02933cf1c231237babb8a7a32150ab72e263) ci: add Node.js 26 to CI ([#&#8203;20847](https://github.com/eslint/eslint/issues/20847)) (lumir) ### [`v10.6.0`](https://github.com/eslint/eslint/releases/tag/v10.6.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.5.0...v10.6.0) #### Features - [`b1f9106`](https://github.com/eslint/eslint/commit/b1f910628e29a018c860e2352bc14cd07c853d67) feat: detect Symbol() and BigInt() in no-constant-binary-expression ([#&#8203;20981](https://github.com/eslint/eslint/issues/20981)) (Taejin Kim) - [`f291007`](https://github.com/eslint/eslint/commit/f291007cb73f55c09cf3c2aa3a405df379a5c594) feat: add checkRelationalComparisons to no-constant-binary-expression ([#&#8203;20948](https://github.com/eslint/eslint/issues/20948)) (sethamus) #### Bug Fixes - [`6b05784`](https://github.com/eslint/eslint/commit/6b05784eb271ac98ca3e1e2a48c4b14bb588c786) fix: prefer-exponentiation-operator invalid autofix at statement start ([#&#8203;20997](https://github.com/eslint/eslint/issues/20997)) (Milos Djermanovic) - [`bb9eb2a`](https://github.com/eslint/eslint/commit/bb9eb2ab28daf6e6dafc62daa6b5daf9c2b7046c) fix: account for shadowed `Boolean` in `no-extra-boolean-cast` ([#&#8203;21013](https://github.com/eslint/eslint/issues/21013)) (den$) - [`8fd8741`](https://github.com/eslint/eslint/commit/8fd8741009a3ed7845c89bfe2fb3eaa2119b2d15) fix: don't report shadowed undefined in `radix` rule ([#&#8203;21011](https://github.com/eslint/eslint/issues/21011)) (Pixel) - [`5784980`](https://github.com/eslint/eslint/commit/5784980ce8ba99556db98907895d82ef49cd0a27) fix: don't report shadowed undefined in no-throw-literal ([#&#8203;21010](https://github.com/eslint/eslint/issues/21010)) (Pixel) - [`9cd1e6d`](https://github.com/eslint/eslint/commit/9cd1e6de5bad487a9c713bdc9fda5af7ea0babcd) fix: suppress invalid class suggestion in no-promise-executor-return ([#&#8203;21008](https://github.com/eslint/eslint/issues/21008)) (Pixel) - [`d4eb2dc`](https://github.com/eslint/eslint/commit/d4eb2dc95f17cdf491edca91b7d9caf05b86253f) fix: don't report shadowed undefined in prefer-promise-reject-errors ([#&#8203;21006](https://github.com/eslint/eslint/issues/21006)) (Pixel) - [`2360464`](https://github.com/eslint/eslint/commit/23604646db6d987d01edb8aa5f4d2a88bd4c01d0) fix: prefer-promise-reject-errors false positives for shadowed Promise ([#&#8203;21003](https://github.com/eslint/eslint/issues/21003)) (den$) - [`63d52d2`](https://github.com/eslint/eslint/commit/63d52d28de705ec46f328d18166e8b7170b3f024) fix: restore max-classes-per-file report range ([#&#8203;21002](https://github.com/eslint/eslint/issues/21002)) (Pixel) - [`7feaff0`](https://github.com/eslint/eslint/commit/7feaff0cfb8d6a6260d3ea56887c9161daf8c700) fix: callback detection logic for IIFEs in max-nested-callbacks ([#&#8203;20979](https://github.com/eslint/eslint/issues/20979)) (fnx) - [`399a2ec`](https://github.com/eslint/eslint/commit/399a2ec81bcbcff2c67920db51d9276b20ac1025) fix: don't report inner non-callbacks in `max-nested-callbacks` ([#&#8203;20995](https://github.com/eslint/eslint/issues/20995)) (Milos Djermanovic) #### Documentation - [`a83683d`](https://github.com/eslint/eslint/commit/a83683db1c27193c2ad333fc5c0aedcc8a293db7) docs: Update README (GitHub Actions Bot) - [`f5449f9`](https://github.com/eslint/eslint/commit/f5449f96c2caabbc1a28b15211873e2f672f5ae5) docs: document userland patterns for global assertionOptions in RuleT… ([#&#8203;20986](https://github.com/eslint/eslint/issues/20986)) (playgirl) - [`bea49f7`](https://github.com/eslint/eslint/commit/bea49f7b2899ebf708482f977ef2ada41fd2c3f0) docs: Update README (GitHub Actions Bot) - [`e5f70f9`](https://github.com/eslint/eslint/commit/e5f70f9b06683a887dd0d6dc1cc91a9c9bea816d) docs: update code-path diagrams ([#&#8203;20984](https://github.com/eslint/eslint/issues/20984)) (Tanuj Kanti) - [`8890c2d`](https://github.com/eslint/eslint/commit/8890c2d40880b195b9167735c24ec0cc5de5eb96) docs: add TypeScript config guidance for MCP server ([#&#8203;20796](https://github.com/eslint/eslint/issues/20796)) (Pierluigi Lenoci) - [`3eb3d9b`](https://github.com/eslint/eslint/commit/3eb3d9b1b5edecc3fcae0519ddba0e3745e889e3) docs: Update README (GitHub Actions Bot) - [`c5bb59c`](https://github.com/eslint/eslint/commit/c5bb59cf613dabafd550227b6adaa9327b1095f5) docs: Update README (GitHub Actions Bot) - [`eb3c97c`](https://github.com/eslint/eslint/commit/eb3c97c776731ce11b28cc99f0271f41b9994701) docs: fix grammar in prefer-const rule description ([#&#8203;20983](https://github.com/eslint/eslint/issues/20983)) (lumir) #### Chores - [`6a42034`](https://github.com/eslint/eslint/commit/6a42034a57a816b0a313720b3b9df09455bd0b5e) ci: run ecosystem tests on main branch ([#&#8203;20891](https://github.com/eslint/eslint/issues/20891)) (sethamus) - [`3dbacdb`](https://github.com/eslint/eslint/commit/3dbacdbb31673c87ca86ecafbb18712d8d1daed8) ci: bump actions/checkout from 6 to 7 ([#&#8203;21014](https://github.com/eslint/eslint/issues/21014)) (dependabot\[bot]) - [`c3abfca`](https://github.com/eslint/eslint/commit/c3abfca7c96cc9a244f54eeb66e9971c59280354) chore: correct JSDoc param types in html formatter ([#&#8203;21018](https://github.com/eslint/eslint/issues/21018)) (Minseon Kim) - [`a832320`](https://github.com/eslint/eslint/commit/a8323209cdbefefd540c5beeaa51418d8ec40f9e) ci: split ecosystem tests into separate jobs ([#&#8203;21001](https://github.com/eslint/eslint/issues/21001)) (xbinaryx) - [`27166e7`](https://github.com/eslint/eslint/commit/27166e78511db526688afc34bbfab1a458405f3f) chore: update ecosystem plugins ([#&#8203;21005](https://github.com/eslint/eslint/issues/21005)) (ESLint Bot) - [`865d76e`](https://github.com/eslint/eslint/commit/865d76e40107d4fa10a17fc3203b303eb8a88dc3) ci: bump pnpm/action-setup from 6.0.8 to 6.0.9 ([#&#8203;20989](https://github.com/eslint/eslint/issues/20989)) (dependabot\[bot]) - [`27a88c9`](https://github.com/eslint/eslint/commit/27a88c9fa7c040f4cd39e5a5e6e2d02441c408ef) chore: update dependency markdown-it to v14 in root ([#&#8203;20994](https://github.com/eslint/eslint/issues/20994)) (Milos Djermanovic) - [`970cea6`](https://github.com/eslint/eslint/commit/970cea62b295d931a4109abedeb21ba192d3f2be) chore: update dependency markdown-it to v14 ([#&#8203;20993](https://github.com/eslint/eslint/issues/20993)) (Milos Djermanovic) - [`b482120`](https://github.com/eslint/eslint/commit/b482120bacb40204fbf16f3b20be7207057157a5) chore: update dependency prettier to v3.8.4 ([#&#8203;20990](https://github.com/eslint/eslint/issues/20990)) (renovate\[bot]) - [`6993fb3`](https://github.com/eslint/eslint/commit/6993fb3173da84999fc208507b93f523aa657448) chore: update ecosystem plugins ([#&#8203;20985](https://github.com/eslint/eslint/issues/20985)) (ESLint Bot) ### [`v10.5.0`](https://github.com/eslint/eslint/releases/tag/v10.5.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.4.1...v10.5.0) #### Features - [`5ca8c52`](https://github.com/eslint/eslint/commit/5ca8c5278edea1fd84d3ba83d8ea3f52fb3831ad) feat: correct stack tracking in max-nested-callbacks ([#&#8203;20973](https://github.com/eslint/eslint/issues/20973)) (Pixel998) - [`b565783`](https://github.com/eslint/eslint/commit/b5657837604fa5e8cf1278074782025cadd34b6c) feat: report no-with violations at the with keyword ([#&#8203;20971](https://github.com/eslint/eslint/issues/20971)) (Pixel998) - [`2ce032f`](https://github.com/eslint/eslint/commit/2ce032fbc72a1a80c024c084a4f382fb6dece684) feat: report max-lines-per-function violations at function head ([#&#8203;20966](https://github.com/eslint/eslint/issues/20966)) (Pixel998) - [`732cb3e`](https://github.com/eslint/eslint/commit/732cb3e09d5b8b809b5f461d118a5d9fdcd6427f) feat: report max-nested-callbacks violations at function head ([#&#8203;20967](https://github.com/eslint/eslint/issues/20967)) (Pixel998) - [`f9c138a`](https://github.com/eslint/eslint/commit/f9c138a0ba7d8e37aed39aef4a3ff1cae8c669f7) feat: report max-depth violations on keywords ([#&#8203;20943](https://github.com/eslint/eslint/issues/20943)) (Pixel998) - [`bdb496c`](https://github.com/eslint/eslint/commit/bdb496cc0d54b6d0a023aef9abd5f040ccff2101) feat: correct max-depth handling for else-if chains ([#&#8203;20944](https://github.com/eslint/eslint/issues/20944)) (Pixel998) - [`c296873`](https://github.com/eslint/eslint/commit/c29687354a7f96093f57f7d73eecb866ad5e2953) feat: update error loc in `max-statements` to function header ([#&#8203;20907](https://github.com/eslint/eslint/issues/20907)) (Taejin Kim) #### Documentation - [`8ae1b5b`](https://github.com/eslint/eslint/commit/8ae1b5b856dc031cd6c701d89a4df7da4772cd56) docs: Update README (GitHub Actions Bot) - [`ca7eb90`](https://github.com/eslint/eslint/commit/ca7eb90127dcad917188bb1342623f02a272e781) docs: update Node.js prerequisites to include ICU support ([#&#8203;20962](https://github.com/eslint/eslint/issues/20962)) (Francesco Trotta) - [`f99b47a`](https://github.com/eslint/eslint/commit/f99b47a6799be25321552402a49303bb06a43fe4) docs: Update README (GitHub Actions Bot) - [`acf03d4`](https://github.com/eslint/eslint/commit/acf03d4eed31d259c7dc62af5b9640629784f7cc) docs: clarify precedence of parserOptions over languageOptions ([#&#8203;20926](https://github.com/eslint/eslint/issues/20926)) (sethamus) #### Chores - [`b18bf58`](https://github.com/eslint/eslint/commit/b18bf58c5ac748415ffffdff2d96980fbd6a57e8) chore: update ecosystem plugins ([#&#8203;20959](https://github.com/eslint/eslint/issues/20959)) (ESLint Bot) - [`c2d1444`](https://github.com/eslint/eslint/commit/c2d1444df77cb42e5a0b89ab70496879d180a54d) refactor: replace areAllSegmentsUnreachable with !isAnySegmentReachable ([#&#8203;20951](https://github.com/eslint/eslint/issues/20951)) (Taejin Kim) - [`243b8c5`](https://github.com/eslint/eslint/commit/243b8c56014bbbe63771185b0731d8dd4d1316e9) chore: enhance config-rule to support oneOf, anyOf, and nested schemas ([#&#8203;20788](https://github.com/eslint/eslint/issues/20788)) (kuldeep kumar) - [`217b2a9`](https://github.com/eslint/eslint/commit/217b2a91f46137c5ffd693965e71306c4c15ea6b) test: add unit tests for ParserService ([#&#8203;20949](https://github.com/eslint/eslint/issues/20949)) (Taejin Kim) - [`72003e7`](https://github.com/eslint/eslint/commit/72003e781d76bd4ee0d98a6601730d0b829070f9) test: add location information to error messages in `max-statements` ([#&#8203;20945](https://github.com/eslint/eslint/issues/20945)) (lumir) - [`7797c26`](https://github.com/eslint/eslint/commit/7797c266977b0bc4971aa79721813d480de72cd1) refactor: deduplicate isAnySegmentReachable across rules ([#&#8203;20890](https://github.com/eslint/eslint/issues/20890)) (Taejin Kim) - [`67c46fa`](https://github.com/eslint/eslint/commit/67c46fa6e4f34e88cc6bc82f8a0dcc917c65d257) chore: update ecosystem plugins ([#&#8203;20938](https://github.com/eslint/eslint/issues/20938)) (ESLint Bot) - [`95d8c7a`](https://github.com/eslint/eslint/commit/95d8c7a99f991abd8ab618d0ee2cbd4f58effc29) chore: update dependency [@&#8203;eslint/json](https://github.com/eslint/json) to v2 ([#&#8203;20934](https://github.com/eslint/eslint/issues/20934)) (renovate\[bot]) - [`cf9e496`](https://github.com/eslint/eslint/commit/cf9e496205142cd4971b9f98aed85866d1010b9c) chore: update [@&#8203;arethetypeswrong/cli](https://github.com/arethetypeswrong/cli) to 0.18.3 ([#&#8203;20933](https://github.com/eslint/eslint/issues/20933)) (Pixel998) - [`fb6d396`](https://github.com/eslint/eslint/commit/fb6d3960cacc51fc12383fa5ded2382adbf90c1c) test: run type tests with TypeScript 7 ([#&#8203;20868](https://github.com/eslint/eslint/issues/20868)) (sethamus) ### [`v10.4.1`](https://github.com/eslint/eslint/releases/tag/v10.4.1) [Compare Source](https://github.com/eslint/eslint/compare/v10.4.0...v10.4.1) #### Bug Fixes - [`e557467`](https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec) fix: update `@eslint/plugin-kit` version to 0.7.2 ([#&#8203;20930](https://github.com/eslint/eslint/issues/20930)) (Francesco Trotta) - [`d4ce898`](https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd) fix: propagate failures from delegated commands ([#&#8203;20917](https://github.com/eslint/eslint/issues/20917)) (Minh Vu) - [`f4f3507`](https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf) fix: prefer-arrow-callback invalid autofix with newline after `async` ([#&#8203;20916](https://github.com/eslint/eslint/issues/20916)) (kuldeep kumar) - [`c5bc78b`](https://github.com/eslint/eslint/commit/c5bc78b37e08b9054a11f0cc2d81808bb24acb85) fix: false positive for reference in `finally` block ([#&#8203;20655](https://github.com/eslint/eslint/issues/20655)) (Tanuj Kanti) - [`27538c0`](https://github.com/eslint/eslint/commit/27538c01f5df4e9306f6f4ba867b2dd6307fae59) fix: add missing CodePath and CodePathSegment types ([#&#8203;20853](https://github.com/eslint/eslint/issues/20853)) (Pixel998) #### Documentation - [`61b0add`](https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30) docs: remove deprecated rule from related rules of `max-params` ([#&#8203;20921](https://github.com/eslint/eslint/issues/20921)) (Tanuj Kanti) - [`305d5b9`](https://github.com/eslint/eslint/commit/305d5b91aeac24d36fde42f75625a8f183d4ce43) docs: remove deprecated rules from related rules section ([#&#8203;20911](https://github.com/eslint/eslint/issues/20911)) (Tanuj Kanti) - [`49b0202`](https://github.com/eslint/eslint/commit/49b0202d01918b8061720d586dffd7c68047090c) docs: fix `display: none` of ad ([#&#8203;20901](https://github.com/eslint/eslint/issues/20901)) (Tanuj Kanti) - [`9067f94`](https://github.com/eslint/eslint/commit/9067f9492ec998afc5b4f057a477ecf6ebd45e44) docs: switch build to Node.js 24 ([#&#8203;20893](https://github.com/eslint/eslint/issues/20893)) (Milos Djermanovic) - [`c91b041`](https://github.com/eslint/eslint/commit/c91b0417e3420c76807ce1fa2aea76e2de87ab86) docs: Update README (GitHub Actions Bot) - [`e349265`](https://github.com/eslint/eslint/commit/e349265cb37f3ebc837e178e48a725bb782bd870) docs: clarify semver strings in rule deprecation objects ([#&#8203;20885](https://github.com/eslint/eslint/issues/20885)) (Milos Djermanovic) #### Chores - [`b0e466b`](https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584) test: add `data` property to invalid tests cases for rules ([#&#8203;20924](https://github.com/eslint/eslint/issues/20924)) (Tanuj Kanti) - [`f78838b`](https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46) test: add CodePath type coverage ([#&#8203;20904](https://github.com/eslint/eslint/issues/20904)) (Pixel998) - [`1daa4bd`](https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9) chore: update `eslint-plugin-eslint-comments` test data to latest commit ([#&#8203;20922](https://github.com/eslint/eslint/issues/20922)) (Francesco Trotta) - [`002942c`](https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c) ci: declare contents:read on update-readme workflow ([#&#8203;20919](https://github.com/eslint/eslint/issues/20919)) (Arpit Jain) - [`64bca24`](https://github.com/eslint/eslint/commit/64bca24e7bed35bc3c864fc625cb2d89eca87d5b) chore: update ecosystem plugins ([#&#8203;20912](https://github.com/eslint/eslint/issues/20912)) (ESLint Bot) - [`6d7c832`](https://github.com/eslint/eslint/commit/6d7c832950d5e92499d88e504080661f888f8f56) chore: ignore fflate updates in renovate ([#&#8203;20908](https://github.com/eslint/eslint/issues/20908)) (Pixel998) - [`b2c8638`](https://github.com/eslint/eslint/commit/b2c86382164d87c6203b78d52068cd6a2a6ffe30) ci: bump pnpm/action-setup from 6.0.7 to 6.0.8 ([#&#8203;20889](https://github.com/eslint/eslint/issues/20889)) (dependabot\[bot]) - [`a9b8d7f`](https://github.com/eslint/eslint/commit/a9b8d7f74c50211701cfc49710fa541fd91b2aa5) chore: increase maxBuffer for ecosystem tests ([#&#8203;20881](https://github.com/eslint/eslint/issues/20881)) (sethamus) - [`b702ead`](https://github.com/eslint/eslint/commit/b702ead5e1ed7cb9f28238a454797662efb37396) chore: update ecosystem update PR settings ([#&#8203;20884](https://github.com/eslint/eslint/issues/20884)) (Pixel998) - [`507f60e`](https://github.com/eslint/eslint/commit/507f60e9a78c9a902bc8759f066ae17a1ea6cd81) chore: update ecosystem plugins ([#&#8203;20882](https://github.com/eslint/eslint/issues/20882)) (ESLint Bot) - [`92f5c5b`](https://github.com/eslint/eslint/commit/92f5c5bb6bf3a5d167c8ee53a430833410295c6d) test: add unit test for message-count ([#&#8203;20878](https://github.com/eslint/eslint/issues/20878)) (kuldeep kumar) - [`df32108`](https://github.com/eslint/eslint/commit/df321080af5758b1fa25e4b9a40e26135642dd6e) chore: add [@&#8203;eslint/markdown](https://github.com/eslint/markdown) and typescript-eslint ecosystem tests ([#&#8203;20837](https://github.com/eslint/eslint/issues/20837)) (sethamus) - [`327f91d`](https://github.com/eslint/eslint/commit/327f91d36aa49f2a50ded931d841a16374fd875f) chore: use includeIgnoreFile internally ([#&#8203;20876](https://github.com/eslint/eslint/issues/20876)) (Kirk Waiblinger) - [`f0dc4bd`](https://github.com/eslint/eslint/commit/f0dc4bd893fb3a9f44e4ddc3ad7063ffb0beacd3) chore: pin fflate\@&#8203;0.8.2 ([#&#8203;20877](https://github.com/eslint/eslint/issues/20877)) (Milos Djermanovic) - [`0f4bd25`](https://github.com/eslint/eslint/commit/0f4bd257a67a082b756de746d9e0c4842ab764ca) ci: run Discord alert for ecosystem test failures ([#&#8203;20873](https://github.com/eslint/eslint/issues/20873)) (Copilot) ### [`v10.4.0`](https://github.com/eslint/eslint/releases/tag/v10.4.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.3.0...v10.4.0) #### Features - [`1a45ec5`](https://github.com/eslint/eslint/commit/1a45ec596af1dd5f880e6874cb8f24dafb6a7ecf) feat: check sequence expressions in `for-direction` ([#&#8203;20701](https://github.com/eslint/eslint/issues/20701)) (kuldeep kumar) - [`450040b`](https://github.com/eslint/eslint/commit/450040bd89b989b3531824c6be45feb5fe3d936b) feat: add `includeIgnoreFile()` to `eslint/config` ([#&#8203;20735](https://github.com/eslint/eslint/issues/20735)) (Kirk Waiblinger) #### Bug Fixes - [`544c0c3`](https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be) fix: escape code path DOT labels in debug output ([#&#8203;20866](https://github.com/eslint/eslint/issues/20866)) (Pixel998) - [`6799431`](https://github.com/eslint/eslint/commit/6799431203f2579632d0870f98ba132067f4040c) fix: update dependency [@&#8203;eslint/config-helpers](https://github.com/eslint/config-helpers) to ^0.6.0 ([#&#8203;20850](https://github.com/eslint/eslint/issues/20850)) (renovate\[bot]) - [`f078fef`](https://github.com/eslint/eslint/commit/f078fef5005dceb14fc162aab7c7200e027688dd) fix: handle non-array deprecated rule replacements ([#&#8203;20825](https://github.com/eslint/eslint/issues/20825)) (xbinaryx) #### Documentation - [`7e52a71`](https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f) docs: add mention of `@eslint-react/eslint-plugin` ([#&#8203;20869](https://github.com/eslint/eslint/issues/20869)) (Pavel) - [`db3468b`](https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08) docs: tweak wording around ambiguous CJS-vs-ESM config ([#&#8203;20865](https://github.com/eslint/eslint/issues/20865)) (Kirk Waiblinger) - [`9084664`](https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a) docs: Update README (GitHub Actions Bot) - [`9cc7387`](https://github.com/eslint/eslint/commit/9cc73875046e3c4b8313644cbb1e99e26b36bd3f) docs: Update README (GitHub Actions Bot) - [`3d7b548`](https://github.com/eslint/eslint/commit/3d7b5484407403817aa9071a394d336d8ea96eb5) docs: Update README (GitHub Actions Bot) - [`191ec3c`](https://github.com/eslint/eslint/commit/191ec3c0a3f94ce0f110df761f0b2b8949011ccb) docs: Update README (GitHub Actions Bot) #### Chores - [`6616856`](https://github.com/eslint/eslint/commit/6616856f28fa514a30f87b5539fc100d739a94bf) chore: upgrade knip to v6 ([#&#8203;20875](https://github.com/eslint/eslint/issues/20875)) (Pixel998) - [`d13b084`](https://github.com/eslint/eslint/commit/d13b084a3ad02f926e9addaa35fc383759ea5554) ci: ensure auto-created PRs run CI ([#&#8203;20860](https://github.com/eslint/eslint/issues/20860)) (lumir) - [`e71c7af`](https://github.com/eslint/eslint/commit/e71c7af86dce9acc1d18cb12d2184309f6841594) ci: bump pnpm/action-setup from 6.0.5 to 6.0.7 ([#&#8203;20862](https://github.com/eslint/eslint/issues/20862)) (dependabot\[bot]) - [`d84393d`](https://github.com/eslint/eslint/commit/d84393dea170f54191fd20c8268b52c81c0ccd99) test: add unit tests for SuppressionsService.applySuppressions() ([#&#8203;20863](https://github.com/eslint/eslint/issues/20863)) (kuldeep kumar) - [`24db8cb`](https://github.com/eslint/eslint/commit/24db8cb8e6f07fba667121777a15b1785486be94) test: add tests for SuppressionsService.save() ([#&#8203;20802](https://github.com/eslint/eslint/issues/20802)) (kuldeep kumar) - [`2ef0549`](https://github.com/eslint/eslint/commit/2ef0549cac4a9537e4c3a26b9f3edd4c99476bf6) chore: update ecosystem plugins ([#&#8203;20857](https://github.com/eslint/eslint/issues/20857)) (github-actions\[bot]) - [`a429791`](https://github.com/eslint/eslint/commit/a4297918d264d229a06cd96051ef9b91c7b86732) ci: remove `eslint-webpack-plugin` types integration test ([#&#8203;20668](https://github.com/eslint/eslint/issues/20668)) (Milos Djermanovic) - [`9e37386`](https://github.com/eslint/eslint/commit/9e37386aa7f2ce220b2ef74a6afbac5f6b3527c5) chore: replace `recast` with range approach in code-sample-minimizer ([#&#8203;20682](https://github.com/eslint/eslint/issues/20682)) (Copilot) - [`0dd1f9f`](https://github.com/eslint/eslint/commit/0dd1f9ffc9a07704d46e2a4c8d4ccc0d0908b0c0) test: disable warning for `vm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER` ([#&#8203;20845](https://github.com/eslint/eslint/issues/20845)) (Francesco Trotta) - [`9da3c7b`](https://github.com/eslint/eslint/commit/9da3c7bc92d9579f8db19ecb56e718538d09db2b) refactor: remove deprecated `meta.language` and migrate `meta.dialects` ([#&#8203;20716](https://github.com/eslint/eslint/issues/20716)) (Pixel998) - [`2099ed1`](https://github.com/eslint/eslint/commit/2099ed12a0a74c3d7f0808514362af2499b4fe2b) refactor: add `meta.defaultOptions` to more rules, enable linting ([#&#8203;20800](https://github.com/eslint/eslint/issues/20800)) (xbinaryx) - [`f1dfbc9`](https://github.com/eslint/eslint/commit/f1dfbc9ca57196de7092e1888cc99427bd6fe06e) chore: update ecosystem plugins ([#&#8203;20836](https://github.com/eslint/eslint/issues/20836)) (github-actions\[bot]) - [`c759413`](https://github.com/eslint/eslint/commit/c75941390c14728806cd4baef4f6072f6de78318) ci: bump pnpm/action-setup from 6.0.3 to 6.0.5 ([#&#8203;20843](https://github.com/eslint/eslint/issues/20843)) (dependabot\[bot]) - [`5b817d6`](https://github.com/eslint/eslint/commit/5b817d6fdc9ae2c35b528dc662b2eca8f40f64aa) test: add unit tests for lib/shared/ast-utils ([#&#8203;20838](https://github.com/eslint/eslint/issues/20838)) (kuldeep kumar) - [`1c13ae3`](https://github.com/eslint/eslint/commit/1c13ae3934c198c494e5958fa3a68b33244ff06a) test: add unit tests for lib/shared/severity ([#&#8203;20835](https://github.com/eslint/eslint/issues/20835)) (kuldeep kumar) ### [`v10.3.0`](https://github.com/eslint/eslint/releases/tag/v10.3.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.2.1...v10.3.0) #### Features - [`379571a`](https://github.com/eslint/eslint/commit/379571a975f2b24d88037b9de2e72ec61d004130) feat: add suggestions for no-unused-private-class-members ([#&#8203;20773](https://github.com/eslint/eslint/issues/20773)) (sethamus) #### Bug Fixes - [`b6ae5cf`](https://github.com/eslint/eslint/commit/b6ae5cf07b9b51802367539cb24b245b61eaa37c) fix: handle unavailable require cache ([#&#8203;20812](https://github.com/eslint/eslint/issues/20812)) (Simon Podlipsky) - [`6fb3685`](https://github.com/eslint/eslint/commit/6fb3685bcbe9a6f72fd7dfb9129686b6fb96b0bd) fix: rule suggestions cause continuation in class body ([#&#8203;20787](https://github.com/eslint/eslint/issues/20787)) (Milos Djermanovic) #### Documentation - [`32cc7ab`](https://github.com/eslint/eslint/commit/32cc7ab4ec653ce89da92deb5c40a9f4fc707fe5) docs: fix typos in docs and comments ([#&#8203;20809](https://github.com/eslint/eslint/issues/20809)) (Tanuj Kanti) - [`7f47937`](https://github.com/eslint/eslint/commit/7f479376a2fa463d823ab762db6bb37ce8d2ee8f) docs: Update README (GitHub Actions Bot) #### Chores - [`d32235e`](https://github.com/eslint/eslint/commit/d32235ec19ceea211fa86452afa383ca05f5c2f9) ci: use pnpm in `eslint-flat-config-utils` type integration test ([#&#8203;20826](https://github.com/eslint/eslint/issues/20826)) (Francesco Trotta) - [`3ffb14e`](https://github.com/eslint/eslint/commit/3ffb14ea517de750ed1181579ef844af342e4096) chore: clean up typos in comments and JSDoc ([#&#8203;20821](https://github.com/eslint/eslint/issues/20821)) (Pixel998) - [`22eb58a`](https://github.com/eslint/eslint/commit/22eb58a21cbde2fbd53a1fae99453d408672de50) chore: add missing continue-on-error to ecosystem-tests.yml ([#&#8203;20818](https://github.com/eslint/eslint/issues/20818)) (Josh Goldberg ✨) - [`88bf002`](https://github.com/eslint/eslint/commit/88bf0024cb36caebf2880516d9a1f81aa75dafe2) ci: bump pnpm/action-setup from 6.0.1 to 6.0.3 ([#&#8203;20815](https://github.com/eslint/eslint/issues/20815)) (dependabot\[bot]) - [`97c8c33`](https://github.com/eslint/eslint/commit/97c8c330beae9557ad24e19f94eebc8d08d1a722) chore: update ilshidur/action-discord action to v0.4.0 ([#&#8203;20811](https://github.com/eslint/eslint/issues/20811)) (renovate\[bot]) - [`2f58136`](https://github.com/eslint/eslint/commit/2f58136dd47364a4cae7054a64f7bf1e79693813) chore: pin peter-evans/create-pull-request action to [`5f6978f`](https://github.com/eslint/eslint/commit/5f6978f) ([#&#8203;20810](https://github.com/eslint/eslint/issues/20810)) (renovate\[bot]) - [`77add7f`](https://github.com/eslint/eslint/commit/77add7f1bc91ed17bba3be3289928a9146c5f5a1) chore: add initial ecosystem plugin tests workflow ([#&#8203;19643](https://github.com/eslint/eslint/issues/19643)) (Josh Goldberg ✨) - [`4023b55`](https://github.com/eslint/eslint/commit/4023b55490fae55e464fe35530ef038cdf5d79a5) test: Add unit tests for SuppressionsService.prune() ([#&#8203;20797](https://github.com/eslint/eslint/issues/20797)) (kuldeep kumar) - [`54080da`](https://github.com/eslint/eslint/commit/54080dad4f77bb39a1a843933d4ff3a2b7c175e2) test: add unit tests for ForkContext ([#&#8203;20778](https://github.com/eslint/eslint/issues/20778)) (kuldeep kumar) - [`f0e2bcc`](https://github.com/eslint/eslint/commit/f0e2bcc4bf19253aaebfbd7df87824b0ca4a151f) test: add unit tests for SuppressionsService.suppress() method ([#&#8203;20765](https://github.com/eslint/eslint/issues/20765)) (kuldeep kumar) - [`a7f0b94`](https://github.com/eslint/eslint/commit/a7f0b94743a99bcdf8d07cff15ffbfa6a6c5f927) chore: update dependency prettier to v3.8.3 ([#&#8203;20782](https://github.com/eslint/eslint/issues/20782)) (renovate\[bot]) - [`7bf93d9`](https://github.com/eslint/eslint/commit/7bf93d9e79f6dbf77242cbb9a9b8be834730fccd) chore: update TypeScript to v6 ([#&#8203;20677](https://github.com/eslint/eslint/issues/20677)) (sethamus) - [`b42dd72`](https://github.com/eslint/eslint/commit/b42dd72e76e7f90e7f0be9458288d93353052adc) ci: bump pnpm/action-setup from 6.0.0 to 6.0.1 ([#&#8203;20781](https://github.com/eslint/eslint/issues/20781)) (dependabot\[bot]) - [`2b252be`](https://github.com/eslint/eslint/commit/2b252be80f362cca7be3326a6dbe958680fdfe9a) test: add unit tests for IdGenerator ([#&#8203;20775](https://github.com/eslint/eslint/issues/20775)) (kuldeep kumar) ### [`v10.2.1`](https://github.com/eslint/eslint/releases/tag/v10.2.1) [Compare Source](https://github.com/eslint/eslint/compare/v10.2.0...v10.2.1) #### Bug Fixes - [`14be92b`](https://github.com/eslint/eslint/commit/14be92b6d1fa0923b8923830f2208e5e2705b002) fix: model generator yield resumption paths in code path analysis ([#&#8203;20665](https://github.com/eslint/eslint/issues/20665)) (sethamus) - [`84a19d2`](https://github.com/eslint/eslint/commit/84a19d2c32255db6b9cfc08644a607aae6d5cb62) fix: no-async-promise-executor false positives for shadowed Promise ([#&#8203;20740](https://github.com/eslint/eslint/issues/20740)) (xbinaryx) - [`af764af`](https://github.com/eslint/eslint/commit/af764af0ec38225755fbf8a6f207f0c77b595a8d) fix: clarify language and processor validation errors ([#&#8203;20729](https://github.com/eslint/eslint/issues/20729)) (Pixel998) - [`e251b89`](https://github.com/eslint/eslint/commit/e251b89a38280973e468a4a9386c138f4f55d10d) fix: update eslint ([#&#8203;20715](https://github.com/eslint/eslint/issues/20715)) (renovate\[bot]) #### Documentation - [`ca92ca0`](https://github.com/eslint/eslint/commit/ca92ca0fb4599e8de1e2fb914e695fe7397cbe63) docs: reuse markdown-it instance for markdown filter ([#&#8203;20768](https://github.com/eslint/eslint/issues/20768)) (Amaresh S M) - [`57d2ee2`](https://github.com/eslint/eslint/commit/57d2ee213305cee0cb55ef08e0480b57396269a9) docs: Enable Eleventy incremental mode for watch ([#&#8203;20767](https://github.com/eslint/eslint/issues/20767)) (Amaresh S M) - [`c1621b9`](https://github.com/eslint/eslint/commit/c1621b915742276e5f4b25efe790ca62296330dc) docs: fix typos in code-path-analyzer.js ([#&#8203;20700](https://github.com/eslint/eslint/issues/20700)) (Ayush Shukla) - [`1418d52`](https://github.com/eslint/eslint/commit/1418d522d10bde1960f4942afb548bc7160ec49e) docs: Update README (GitHub Actions Bot) - [`39771e6`](https://github.com/eslint/eslint/commit/39771e6e600f0b0617fdeafff6dd07e4211ffde6) docs: Update README (GitHub Actions Bot) - [`71e0469`](https://github.com/eslint/eslint/commit/71e04693def2df57268f08f3072a2749df6bf438) docs: fix incomplete JSDoc param description in no-shadow rule ([#&#8203;20728](https://github.com/eslint/eslint/issues/20728)) (kuldeep kumar) - [`22119ce`](https://github.com/eslint/eslint/commit/22119ceb93e28f62262fc1d98ff1b1442d6e2dbf) docs: clarify scope of for-direction rule with dead code examples ([#&#8203;20723](https://github.com/eslint/eslint/issues/20723)) (Amaresh S M) - [`8f3fb77`](https://github.com/eslint/eslint/commit/8f3fb77f122a5641d1833cad5d93f3f54fa3be0b) docs: document `meta.docs.dialects` ([#&#8203;20718](https://github.com/eslint/eslint/issues/20718)) (Pixel998) #### Chores - [`7ddfea9`](https://github.com/eslint/eslint/commit/7ddfea9c4f62add1588c5c0b0da568c299246383) chore: update dependency prettier to v3.8.2 ([#&#8203;20770](https://github.com/eslint/eslint/issues/20770)) (renovate\[bot]) - [`fac40e1`](https://github.com/eslint/eslint/commit/fac40e1de2ba7646cc7cd2d3f93fbdd1f8819001) ci: bump pnpm/action-setup from 5.0.0 to 6.0.0 ([#&#8203;20763](https://github.com/eslint/eslint/issues/20763)) (dependabot\[bot]) - [`7246f92`](https://github.com/eslint/eslint/commit/7246f923332522d8b3d46b6ee646fce88535f3fb) test: add tests for SuppressionsService.load() error handling ([#&#8203;20734](https://github.com/eslint/eslint/issues/20734)) (kuldeep kumar) - [`4f34b1e`](https://github.com/eslint/eslint/commit/4f34b1e592b0f63d766d9903998e8e36eb49d3aa) chore: update pnpm/action-setup action to v5 ([#&#8203;20762](https://github.com/eslint/eslint/issues/20762)) (renovate\[bot]) - [`51080eb`](https://github.com/eslint/eslint/commit/51080eb5c98d619434e4835dbe9f1c6654aca3b8) test: processor service ([#&#8203;20731](https://github.com/eslint/eslint/issues/20731)) (kuldeep kumar) - [`e7e1889`](https://github.com/eslint/eslint/commit/e7e1889fca9b6044e08f41b38df20a1ce45808c8) chore: remove stale babel-eslint10 fixture and test ([#&#8203;20727](https://github.com/eslint/eslint/issues/20727)) (kuldeep kumar) - [`4e1a87c`](https://github.com/eslint/eslint/commit/4e1a87cb8fb90e309524bc36bc5f31b9f9cfaa76) test: remove redundant async/await in flat config array tests ([#&#8203;20722](https://github.com/eslint/eslint/issues/20722)) (Pixel998) - [`066eabb`](https://github.com/eslint/eslint/commit/066eabb3643b12931f991594969bcc0028f71a5f) test: add rule metadata coverage for `languages` and `docs.dialects` ([#&#8203;20717](https://github.com/eslint/eslint/issues/20717)) (Pixel998) ### [`v10.2.0`](https://github.com/eslint/eslint/releases/tag/v10.2.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.1.0...v10.2.0) #### Features - [`586ec2f`](https://github.com/eslint/eslint/commit/586ec2f43092779acc957866db4abe999112d1e1) feat: Add `meta.languages` support to rules ([#&#8203;20571](https://github.com/eslint/eslint/issues/20571)) (Copilot) - [`14207de`](https://github.com/eslint/eslint/commit/14207dee3939dc87cfa8b2fcfc271fff2cfd6471) feat: add `Temporal` to `no-obj-calls` ([#&#8203;20675](https://github.com/eslint/eslint/issues/20675)) (Pixel998) - [`bbb2c93`](https://github.com/eslint/eslint/commit/bbb2c93a2b31bd30924f32fe69a9acf41f9dfe35) feat: add Temporal to ES2026 globals ([#&#8203;20672](https://github.com/eslint/eslint/issues/20672)) (Pixel998) #### Bug Fixes - [`542cb3e`](https://github.com/eslint/eslint/commit/542cb3e6442a4e6ee3457c799e2a0ee23bef0c6a) fix: update first-party dependencies ([#&#8203;20714](https://github.com/eslint/eslint/issues/20714)) (Francesco Trotta) #### Documentation - [`a2af743`](https://github.com/eslint/eslint/commit/a2af743ea60f683d0e0de9d98267c1e7e4f5e412) docs: add `language` to configuration objects ([#&#8203;20712](https://github.com/eslint/eslint/issues/20712)) (Francesco Trotta) - [`845f23f`](https://github.com/eslint/eslint/commit/845f23f1370892bf07d819497ac518c9e65090d6) docs: Update README (GitHub Actions Bot) - [`5fbcf59`](https://github.com/eslint/eslint/commit/5fbcf5958b897cc4df5d652924d18428db37f7ee) docs: remove `sourceType` from ts playground link ([#&#8203;20477](https://github.com/eslint/eslint/issues/20477)) (Tanuj Kanti) - [`8702a47`](https://github.com/eslint/eslint/commit/8702a474659be786b6b1392e5e7c0c56355ae4a4) docs: Update README (GitHub Actions Bot) - [`ddeaded`](https://github.com/eslint/eslint/commit/ddeaded2ab36951383ff67c60fb64ec68d29a46a) docs: Update README (GitHub Actions Bot) - [`2b44966`](https://github.com/eslint/eslint/commit/2b4496691266547784a7f7ad1989ce53381bab91) docs: add Major Releases section to Manage Releases ([#&#8203;20269](https://github.com/eslint/eslint/issues/20269)) (Milos Djermanovic) - [`eab65c7`](https://github.com/eslint/eslint/commit/eab65c700ebb16a6e790910c720450c9908961fd) docs: update `eslint` versions in examples ([#&#8203;20664](https://github.com/eslint/eslint/issues/20664)) (루밀LuMir) - [`3e4a299`](https://github.com/eslint/eslint/commit/3e4a29903bf31f0998e45ad9128a265bce1edc56) docs: update ESM Dependencies policies with note for own-usage packages ([#&#8203;20660](https://github.com/eslint/eslint/issues/20660)) (Milos Djermanovic) #### Chores - [`8120e30`](https://github.com/eslint/eslint/commit/8120e30f833474f47acc061d24d164e9f022264f) refactor: extract no unmodified loop condition ([#&#8203;20679](https://github.com/eslint/eslint/issues/20679)) (kuldeep kumar) - [`46e8469`](https://github.com/eslint/eslint/commit/46e8469786be1b2bbb522100e1d44624d98d3745) chore: update dependency markdownlint-cli2 to ^0.22.0 ([#&#8203;20697](https://github.com/eslint/eslint/issues/20697)) (renovate\[bot]) - [`01ed3aa`](https://github.com/eslint/eslint/commit/01ed3aa68477f81a7188e1498cf4906e02015b7c) test: add unit tests for unicode utilities ([#&#8203;20622](https://github.com/eslint/eslint/issues/20622)) (Manish chaudhary) - [`811f493`](https://github.com/eslint/eslint/commit/811f4930f82ee2b6ac8eae75cade9bed63de0781) ci: remove `--legacy-peer-deps` from types integration tests ([#&#8203;20667](https://github.com/eslint/eslint/issues/20667)) (Milos Djermanovic) - [`6b86fcf`](https://github.com/eslint/eslint/commit/6b86fcfc5c75d6a3b8a2cf7bcdb3ef60635a9a03) chore: update dependency npm-run-all2 to v8 ([#&#8203;20663](https://github.com/eslint/eslint/issues/20663)) (renovate\[bot]) - [`632c4f8`](https://github.com/eslint/eslint/commit/632c4f83bf32b77981c7d395cacddd1bb172ee25) chore: add `prettier` update commit to `.git-blame-ignore-revs` ([#&#8203;20662](https://github.com/eslint/eslint/issues/20662)) (루밀LuMir) - [`b0b0f21`](https://github.com/eslint/eslint/commit/b0b0f21927e03ba092400e3c70d7058f537765c8) chore: update dependency eslint-plugin-regexp to ^3.1.0 ([#&#8203;20659](https://github.com/eslint/eslint/issues/20659)) (Milos Djermanovic) - [`228a2dd`](https://github.com/eslint/eslint/commit/228a2dd4b272c17f516ee3541f1dd69eca0a8ab0) chore: update dependency eslint-plugin-eslint-plugin to ^7.3.2 ([#&#8203;20661](https://github.com/eslint/eslint/issues/20661)) (Milos Djermanovic) - [`3ab4d7e`](https://github.com/eslint/eslint/commit/3ab4d7e244df244102de9d0d250b2ff12456a785) test: Add tests for eslintrc-style keys ([#&#8203;20645](https://github.com/eslint/eslint/issues/20645)) (kuldeep kumar) </details> <details> <summary>vercel/next.js (eslint-config-next)</summary> ### [`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) ##### 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)[@&#8203;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)[@&#8203;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. ### [`v16.2.9`](https://github.com/vercel/next.js/releases/tag/v16.2.9) [Compare Source](https://github.com/vercel/next.js/compare/v16.2.8...v16.2.9) Empty release to ensure `next@latest` points at a stable release. Next.js only allows publishing with Trusted Publishing enabled. In order to fix NPM dist-tags, we have to release a new version. Updating dist-tags is not possible with Trusted Publishing. ### [`v16.2.8`](https://github.com/vercel/next.js/releases/tag/v16.2.8) [Compare Source](https://github.com/vercel/next.js/compare/v16.2.7...v16.2.8) Release with no changes in an attempt to fix `next@latest` pointing at a prerelease version. ### [`v16.2.7`](https://github.com/vercel/next.js/releases/tag/v16.2.7) [Compare Source](https://github.com/vercel/next.js/compare/v16.2.6...v16.2.7) > \[!NOTE] > This release is backporting bug fixes. It does **not** include all pending features/changes on canary. ##### Core Changes - Backport documentation fixes for v16.2 ([#&#8203;93804](https://github.com/vercel/next.js/issues/93804)) - \[backport] Patch `playwright-core` to resolve `_finishedPromise` on `requestFailed` ([#&#8203;93920](https://github.com/vercel/next.js/issues/93920)) - \[backport] Fix dev mode hydration failure when page is served from HTTP cache ([#&#8203;93492](https://github.com/vercel/next.js/issues/93492)) - \[backport] Fix catch-all `router.query` corruption with `basePath` + `rewrites` ([#&#8203;93917](https://github.com/vercel/next.js/issues/93917)) - \[backport] Encode non-ASCII characters in cache tags at construction ([#&#8203;93918](https://github.com/vercel/next.js/issues/93918)) - \[backport] Fix server action forwarding loop with middleware rewrites ([#&#8203;93919](https://github.com/vercel/next.js/issues/93919)) - \[backport] Turbopack: switch from base40 to base38 hash encoding ([#&#8203;93932](https://github.com/vercel/next.js/issues/93932)) - \[ci] Disable hanging node 24 typescript tests on 16.2 backport branch ([#&#8203;94164](https://github.com/vercel/next.js/issues/94164)) - \[backport] Fix "type: module" in project dir when using standalone or adapters ([#&#8203;94050](https://github.com/vercel/next.js/issues/94050)) - \[backport] Propagate adapter preferred regions ([#&#8203;94200](https://github.com/vercel/next.js/issues/94200)) - \[16.2.x] Don't drop `FormData` entries ([#&#8203;94240](https://github.com/vercel/next.js/issues/94240)) - \[backport] feat(turbopack): add LocalPathOrProjectPath PostCSS config resolution ([#&#8203;94284](https://github.com/vercel/next.js/issues/94284)) ##### Credits Huge thanks to [@&#8203;eps1lon](https://github.com/eps1lon), [@&#8203;icyJoseph](https://github.com/icyJoseph), [@&#8203;unstubbable](https://github.com/unstubbable), [@&#8203;mischnic](https://github.com/mischnic), [@&#8203;bgw](https://github.com/bgw), [@&#8203;timneutkens](https://github.com/timneutkens), and [@&#8203;lukesandberg](https://github.com/lukesandberg) for helping! ### [`v16.2.6`](https://github.com/vercel/next.js/releases/tag/v16.2.6) [Compare Source](https://github.com/vercel/next.js/compare/v16.2.5...v16.2.6) > \[!NOTE] > This release contains security fixes and backported bug fixes. It does **not** include all pending features/changes on canary. ##### Security Fixes The following advisories have been addressed: **High:** - [GHSA-8h8q-6873-q5fj: Denial of Service with Server Components](https://github.com/vercel/next.js/security/advisories/GHSA-8h8q-6873-q5fj) - [GHSA-267c-6grr-h53f: Middleware / Proxy bypass in App Router applications via segment-prefetch routes](https://github.com/vercel/next.js/security/advisories/GHSA-267c-6grr-h53f) - [GHSA-26hh-7cqf-hhc6: Middleware / Proxy bypass in App Router applications via segment-prefetch routes - **Incomplete Fix Follow-Up**](https://github.com/vercel/next.js/security/advisories/GHSA-26hh-7cqf-hhc6) - [GHSA-mg66-mrh9-m8jx: Denial of Service via connection exhaustion in applications using Cache Components](https://github.com/vercel/next.js/security/advisories/GHSA-mg66-mrh9-m8jx) - [GHSA-492v-c6pp-mqqv: Middleware / Proxy bypass through dynamic route parameter injection](https://github.com/vercel/next.js/security/advisories/GHSA-492v-c6pp-mqqv) - [GHSA-c4j6-fc7j-m34r: Server-side request forgery in applications using WebSocket upgrades](https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r) - [GHSA-36qx-fr4f-26g5: Middleware / Proxy bypass in Pages Router applications using i18n](https://github.com/vercel/next.js/security/advisories/GHSA-36qx-fr4f-26g5) **Moderate:** - [GHSA-ffhc-5mcf-pf4q: Cross-site scripting in App Router applications using CSP nonces](https://github.com/vercel/next.js/security/advisories/GHSA-ffhc-5mcf-pf4q) - [GHSA-gx5p-jg67-6x7h: Cross-site scripting in beforeInteractive scripts with untrusted input](https://github.com/vercel/next.js/security/advisories/GHSA-gx5p-jg67-6x7h) - [GHSA-h64f-5h5j-jqjh: Denial of Service in the Image Optimization API](https://github.com/vercel/next.js/security/advisories/GHSA-h64f-5h5j-jqjh) - [GHSA-wfc6-r584-vfw7: Cache poisoning in React Server Component responses](https://github.com/vercel/next.js/security/advisories/GHSA-wfc6-r584-vfw7) **Low:** - [GHSA-vfv6-92ff-j949: Cache poisoning via collisions in React Server Component cache-busting](https://github.com/vercel/next.js/security/advisories/GHSA-vfv6-92ff-j949) - [GHSA-3g8h-86w9-wvmq: Middleware / Proxy redirects can be cache-poisoned](https://github.com/vercel/next.js/security/advisories/GHSA-3g8h-86w9-wvmq) ##### Core Changes - fix: preserve HTTP access fallbacks during prerender recovery ([#&#8203;92231](https://github.com/vercel/next.js/issues/92231)) - Fix fallback route params case in app-page handler ([#&#8203;91737](https://github.com/vercel/next.js/issues/91737)) - Fix invalid HTML response for route-level RSC requests in deployment adapter ([#&#8203;91541](https://github.com/vercel/next.js/issues/91541)) - Patch setHeader for direct route handlers ([#&#8203;93101](https://github.com/vercel/next.js/issues/93101)) - Include deployment id in `cacheHandlers` keys ([#&#8203;93453](https://github.com/vercel/next.js/issues/93453)) - Fix double-encoding of URL pathname parts in client param parsing ([#&#8203;93491](https://github.com/vercel/next.js/issues/93491)) ### [`v16.2.5`](https://github.com/vercel/next.js/releases/tag/v16.2.5) [Compare Source](https://github.com/vercel/next.js/compare/v16.2.4...v16.2.5) > \[!NOTE] > This release contains security fixes and backported bug fixes. It does **not** include all pending features/changes on canary. ##### Security Fixes The following advisories have been addressed: **High:** - [GHSA-8h8q-6873-q5fj: Denial of Service with Server Components](https://github.com/vercel/next.js/security/advisories/GHSA-8h8q-6873-q5fj) - [GHSA-267c-6grr-h53f: Middleware / Proxy bypass in App Router applications via segment-prefetch routes](https://github.com/vercel/next.js/security/advisories/GHSA-267c-6grr-h53f) - [GHSA-mg66-mrh9-m8jx: Denial of Service via connection exhaustion in applications using Cache Components](https://github.com/vercel/next.js/security/advisories/GHSA-mg66-mrh9-m8jx) - [GHSA-492v-c6pp-mqqv: Middleware / Proxy bypass through dynamic route parameter injection](https://github.com/vercel/next.js/security/advisories/GHSA-492v-c6pp-mqqv) - [GHSA-c4j6-fc7j-m34r: Server-side request forgery in applications using WebSocket upgrades](https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r) - [GHSA-36qx-fr4f-26g5: Middleware / Proxy bypass in Pages Router applications using i18n](https://github.com/vercel/next.js/security/advisories/GHSA-36qx-fr4f-26g5) **Moderate:** - [GHSA-ffhc-5mcf-pf4q: Cross-site scripting in App Router applications using CSP nonces](https://github.com/vercel/next.js/security/advisories/GHSA-ffhc-5mcf-pf4q) - [GHSA-gx5p-jg67-6x7h: Cross-site scripting in beforeInteractive scripts with untrusted input](https://github.com/vercel/next.js/security/advisories/GHSA-gx5p-jg67-6x7h) - [GHSA-h64f-5h5j-jqjh: Denial of Service in the Image Optimization API](https://github.com/vercel/next.js/security/advisories/GHSA-h64f-5h5j-jqjh) - [GHSA-wfc6-r584-vfw7: Cache poisoning in React Server Component responses](https://github.com/vercel/next.js/security/advisories/GHSA-wfc6-r584-vfw7) **Low:** - [GHSA-vfv6-92ff-j949: Cache poisoning via collisions in React Server Component cache-busting](https://github.com/vercel/next.js/security/advisories/GHSA-vfv6-92ff-j949) - [GHSA-3g8h-86w9-wvmq: Middleware / Proxy redirects can be cache-poisoned](https://github.com/vercel/next.js/security/advisories/GHSA-3g8h-86w9-wvmq) ##### Core Changes - fix: preserve HTTP access fallbacks during prerender recovery ([#&#8203;92231](https://github.com/vercel/next.js/issues/92231)) - Fix fallback route params case in app-page handler ([#&#8203;91737](https://github.com/vercel/next.js/issues/91737)) - Fix invalid HTML response for route-level RSC requests in deployment adapter ([#&#8203;91541](https://github.com/vercel/next.js/issues/91541)) - Patch setHeader for direct route handlers ([#&#8203;93101](https://github.com/vercel/next.js/issues/93101)) - Include deployment id in `cacheHandlers` keys ([#&#8203;93453](https://github.com/vercel/next.js/issues/93453)) - Fix double-encoding of URL pathname parts in client param parsing ([#&#8203;93491](https://github.com/vercel/next.js/issues/93491)) ### [`v16.2.4`](https://github.com/vercel/next.js/releases/tag/v16.2.4) [Compare Source](https://github.com/vercel/next.js/compare/v16.2.3...v16.2.4) > \[!NOTE] > This release is backporting bug fixes. It does **not** include all pending features/changes on canary. ##### Core Changes - chore: Bump reqwest to 0.13.2 (Fixes Google Fonts with Turbopack for Windows on ARM64) ([#&#8203;92713](https://github.com/vercel/next.js/issues/92713)) - Turbopack: fix filesystem watcher config not applying follow\_symlinks(false) ([#&#8203;92631](https://github.com/vercel/next.js/issues/92631)) - Scope Safari ?ts= cache-buster to CSS/font assets only (Pages Router) ([#&#8203;92580](https://github.com/vercel/next.js/issues/92580)) - Compiler: Support boolean and number primtives in next.config defines ([#&#8203;92731](https://github.com/vercel/next.js/issues/92731)) - turbo-tasks: Fix recomputation loop by allowing cell cleanup on error during recomputation ([#&#8203;92725](https://github.com/vercel/next.js/issues/92725)) - Turbopack: shorter error for ChunkGroupInfo::get\_index\_of ([#&#8203;92814](https://github.com/vercel/next.js/issues/92814)) - Turbopack: shorter error message for ModuleBatchesGraph::get\_entry\_index ([#&#8203;92828](https://github.com/vercel/next.js/issues/92828)) - Adding more system info to the 'initialize project' trace ([#&#8203;92427](https://github.com/vercel/next.js/issues/92427)) ##### Credits Huge thanks to [@&#8203;Badbird5907](https://github.com/Badbird5907), [@&#8203;lukesandberg](https://github.com/lukesandberg), [@&#8203;andrewimm](https://github.com/andrewimm), [@&#8203;sokra](https://github.com/sokra), and [@&#8203;mischnic](https://github.com/mischnic) for helping! ### [`v16.2.3`](https://github.com/vercel/next.js/releases/tag/v16.2.3) [Compare Source](https://github.com/vercel/next.js/compare/v16.2.2...v16.2.3) > \[!NOTE] > This release is backporting security and bug fixes. For more information about the fixed security vulnerability, please see <https://vercel.com/changelog/summary-of-cve-2026-23869>. The release does **not** include all pending features/changes on canary. ##### Core Changes - Ensure app-page reports stale ISR revalidation errors via onRequestError ([#&#8203;92282](https://github.com/vercel/next.js/issues/92282)) - Fix \[Bug]: manifest.ts breaks HMR in Next.js 16.2 ([#&#8203;91981](https://github.com/vercel/next.js/issues/91981) through [#&#8203;92273](https://github.com/vercel/next.js/issues/92273)) - Deduplicate output assets and detect content conflicts on emit ([#&#8203;92292](https://github.com/vercel/next.js/issues/92292)) - Fix styled-jsx race condition: styles lost due to concurrent rendering ([#&#8203;92459](https://github.com/vercel/next.js/issues/92459)) - turbo-tasks-backend: stability fixes for task cancellation and error handling ([#&#8203;92254](https://github.com/vercel/next.js/issues/92254)) ##### Credits Huge thanks to [@&#8203;icyJoseph](https://github.com/icyJoseph), [@&#8203;sokra](https://github.com/sokra), [@&#8203;wbinnssmith](https://github.com/wbinnssmith), [@&#8203;eps1lon](https://github.com/eps1lon) and [@&#8203;ztanner](https://github.com/ztanner) for helping! ### [`v16.2.2`](https://github.com/vercel/next.js/releases/tag/v16.2.2) [Compare Source](https://github.com/vercel/next.js/compare/v16.2.1...v16.2.2) > \[!NOTE] > This release is backporting bug fixes. It does **not** include all pending features/changes on canary. ##### Core Changes - backport: Move expanded adapters docs to API reference ([#&#8203;92115](https://github.com/vercel/next.js/issues/92115)) ([#&#8203;92129](https://github.com/vercel/next.js/issues/92129)) - Backport: TypeScript v6 deprecations for baseUrl and moduleResolution ([#&#8203;92130](https://github.com/vercel/next.js/issues/92130)) - \[create-next-app] Skip interactive prompts when CLI flags are provided ([#&#8203;91840](https://github.com/vercel/next.js/issues/91840)) - next.config.js: Accept an option for serverFastRefresh ([#&#8203;91968](https://github.com/vercel/next.js/issues/91968)) - Turbopack: enable server HMR for app route handlers ([#&#8203;91466](https://github.com/vercel/next.js/issues/91466)) - Turbopack: exclude metadata routes from server HMR ([#&#8203;92034](https://github.com/vercel/next.js/issues/92034)) - Fix CI for glibc linux builds - Backport: disable bmi2 in qfilter [#&#8203;92177](https://github.com/vercel/next.js/issues/92177) - \[backport] Fix CSS HMR on Safari ([#&#8203;92174](https://github.com/vercel/next.js/issues/92174)) ##### Credits Huge thanks to [@&#8203;nextjs-bot](https://github.com/nextjs-bot), [@&#8203;icyJoseph](https://github.com/icyJoseph), [@&#8203;ijjk](https://github.com/ijjk), [@&#8203;gaojude](https://github.com/gaojude), [@&#8203;wbinnssmith](https://github.com/wbinnssmith), [@&#8203;lukesandberg](https://github.com/lukesandberg), and [@&#8203;bgw](https://github.com/bgw) for helping! </details> <details> <summary>nodejs/node (node)</summary> ### [`v25.9.0`](https://github.com/nodejs/node/releases/tag/v25.9.0): 2026-04-01, Version 25.9.0 (Current), @&#8203;aduh95 [Compare Source](https://github.com/nodejs/node/compare/v25.8.2...v25.9.0) ##### Notable Changes ##### Test runner module mocking improvements `MockModuleOptions.defaultExport` and `MockModuleOptions.namedExports` have been consolidated into a single option `MockModuleOptions.exports` to align with user expectations and other test runners. A `default` property on `MockModuleOptions.exports` represents the default export, and own enumerable properties are treated as named exports. An automated migration is available to update user code: <https://github.com/nodejs/userland-migrations/tree/main/recipes/mock-module-exports> ```bash npx codemod @nodejs/mock-module-exports ``` Contributed by sangwook in [#&#8203;61727](https://github.com/nodejs/node/pull/61727). ##### Other notable changes - \[[`312476cb84`](https://github.com/nodejs/node/commit/312476cb84)] - **(SEMVER-MINOR)** **async\_hooks**: add using scopes to `AsyncLocalStorage` (Stephen Belanger) [#&#8203;61674](https://github.com/nodejs/node/pull/61674) - \[[`62d2cd473b`](https://github.com/nodejs/node/commit/62d2cd473b)] - **(SEMVER-MINOR)** **cli**: add `--max-heap-size` option (tannal) [#&#8203;58708](https://github.com/nodejs/node/pull/58708) - \[[`d0ebf0e44b`](https://github.com/nodejs/node/commit/d0ebf0e44b)] - **(SEMVER-MINOR)** **crypto**: add `TurboSHAKE` and `KangarooTwelve` Web Cryptography algorithms (Filip Skokan) [#&#8203;62183](https://github.com/nodejs/node/pull/62183) - \[[`f85b9d9fa8`](https://github.com/nodejs/node/commit/f85b9d9fa8)] - **(SEMVER-MINOR)** **repl**: add customizable error handling (Anna Henningsen) [#&#8203;62188](https://github.com/nodejs/node/pull/62188) - \[[`67b854d407`](https://github.com/nodejs/node/commit/67b854d407)] - **(SEMVER-MINOR)** **repl**: remove dependency on `node:domain` (Matteo Collina) [#&#8203;61227](https://github.com/nodejs/node/pull/61227) - \[[`966b700623`](https://github.com/nodejs/node/commit/966b700623)] - **(SEMVER-MINOR)** **sea**: support code cache for ESM entrypoint in SEA (Joyee Cheung) [#&#8203;62158](https://github.com/nodejs/node/pull/62158) - \[[`e1f0d2a014`](https://github.com/nodejs/node/commit/e1f0d2a014)] - **(SEMVER-MINOR)** **stream**: add stream/iter Implementation (James M Snell) [#&#8203;62066](https://github.com/nodejs/node/pull/62066) ##### Commits - \[[`312476cb84`](https://github.com/nodejs/node/commit/312476cb84)] - **(SEMVER-MINOR)** **async\_hooks**: add using scopes to AsyncLocalStorage (Stephen Belanger) [#&#8203;61674](https://github.com/nodejs/node/pull/61674) - \[[`bfff8cb2ab`](https://github.com/nodejs/node/commit/bfff8cb2ab)] - **(SEMVER-MINOR)** **benchmark**: add benchmarks for experimental stream/iter (James M Snell) [#&#8203;62066](https://github.com/nodejs/node/pull/62066) - \[[`c721d68502`](https://github.com/nodejs/node/commit/c721d68502)] - **benchmark**: fix destructuring in dgram/single-buffer (Ali Hassan) [#&#8203;62084](https://github.com/nodejs/node/pull/62084) - \[[`e2f03c8e92`](https://github.com/nodejs/node/commit/e2f03c8e92)] - **buffer**: improve performance of multiple Buffer operations (Ali Hassan) [#&#8203;61871](https://github.com/nodejs/node/pull/61871) - \[[`2fcd07f1ba`](https://github.com/nodejs/node/commit/2fcd07f1ba)] - **build**: support empty libname flags in `configure.py` (Antoine du Hamel) [#&#8203;62477](https://github.com/nodejs/node/pull/62477) - \[[`b800c57fce`](https://github.com/nodejs/node/commit/b800c57fce)] - **build**: fix timezone-update path references (Chengzhong Wu) [#&#8203;62280](https://github.com/nodejs/node/pull/62280) - \[[`7dc5a1e9b4`](https://github.com/nodejs/node/commit/7dc5a1e9b4)] - **build**: skip dockit on IBMi (SRAVANI GUNDEPALLI) [#&#8203;62189](https://github.com/nodejs/node/pull/62189) - \[[`f0eea0f905`](https://github.com/nodejs/node/commit/f0eea0f905)] - **build**: fix --node-builtin-modules-path (Filip Skokan) [#&#8203;62115](https://github.com/nodejs/node/pull/62115) - \[[`62d2cd473b`](https://github.com/nodejs/node/commit/62d2cd473b)] - **(SEMVER-MINOR)** **cli**: add --max-heap-size option (tannal) [#&#8203;58708](https://github.com/nodejs/node/pull/58708) - \[[`ac4b485698`](https://github.com/nodejs/node/commit/ac4b485698)] - **crypto**: update root certificates to NSS 3.121 (Node.js GitHub Bot) [#&#8203;62485](https://github.com/nodejs/node/pull/62485) - \[[`d0ebf0e44b`](https://github.com/nodejs/node/commit/d0ebf0e44b)] - **(SEMVER-MINOR)** **crypto**: add TurboSHAKE and KangarooTwelve Web Cryptography algorithms (Filip Skokan) [#&#8203;62183](https://github.com/nodejs/node/pull/62183) - \[[`3009980d9d`](https://github.com/nodejs/node/commit/3009980d9d)] - **crypto**: add crypto::GetSSLCtx API for addon access to OpenSSL contexts (Tim Perry) [#&#8203;62254](https://github.com/nodejs/node/pull/62254) - \[[`f5725ca81d`](https://github.com/nodejs/node/commit/f5725ca81d)] - **crypto**: reject ML-KEM/ML-DSA [PKCS#8](https://github.com/PKCS/node/issues/8) import without seed in SubtleCrypto (Filip Skokan) [#&#8203;62218](https://github.com/nodejs/node/pull/62218) - \[[`f69ed4bc3f`](https://github.com/nodejs/node/commit/f69ed4bc3f)] - **crypto**: rename CShakeParams and KmacParams length to outputLength (Filip Skokan) [#&#8203;61875](https://github.com/nodejs/node/pull/61875) - \[[`4d96e53570`](https://github.com/nodejs/node/commit/4d96e53570)] - **crypto**: refactor WebCrypto AEAD algorithms auth tag handling (Filip Skokan) [#&#8203;62169](https://github.com/nodejs/node/pull/62169) - \[[`93d77719e8`](https://github.com/nodejs/node/commit/93d77719e8)] - **crypto**: read algorithm name property only once in normalizeAlgorithm (Filip Skokan) [#&#8203;62170](https://github.com/nodejs/node/pull/62170) - \[[`3d2e23a981`](https://github.com/nodejs/node/commit/3d2e23a981)] - **deps**: update ada to 3.4.4 (Node.js GitHub Bot) [#&#8203;62414](https://github.com/nodejs/node/pull/62414) - \[[`176d6d2205`](https://github.com/nodejs/node/commit/176d6d2205)] - **deps**: update timezone to 2026a (Node.js GitHub Bot) [#&#8203;62164](https://github.com/nodejs/node/pull/62164) - \[[`95c7fc67ba`](https://github.com/nodejs/node/commit/95c7fc67ba)] - **deps**: update googletest to [`2461743`](https://github.com/nodejs/node/commit/2461743991f9aa53e9a3625eafcbacd81a3c74cd) (Node.js GitHub Bot) [#&#8203;62484](https://github.com/nodejs/node/pull/62484) - \[[`e5e9f2044a`](https://github.com/nodejs/node/commit/e5e9f2044a)] - **deps**: update simdjson to 4.5.0 (Node.js GitHub Bot) [#&#8203;62382](https://github.com/nodejs/node/pull/62382) - \[[`905b94266a`](https://github.com/nodejs/node/commit/905b94266a)] - **deps**: update ngtcp2 to 1.21.0 (Node.js GitHub Bot) [#&#8203;62051](https://github.com/nodejs/node/pull/62051) - \[[`180c150122`](https://github.com/nodejs/node/commit/180c150122)] - **deps**: V8: cherry-pick [`cf1bce4`](https://github.com/nodejs/node/commit/cf1bce40a5ef) (Richard Lau) [#&#8203;62449](https://github.com/nodejs/node/pull/62449) - \[[`bc265aa003`](https://github.com/nodejs/node/commit/bc265aa003)] - **deps**: upgrade npm to 11.12.1 (npm team) [#&#8203;62448](https://github.com/nodejs/node/pull/62448) - \[[`f1b28612c4`](https://github.com/nodejs/node/commit/f1b28612c4)] - **deps**: V8: cherry-pick [`b25cd62`](https://github.com/nodejs/node/commit/b25cd62c7ba2) (Yagiz Nizipli) [#&#8203;62354](https://github.com/nodejs/node/pull/62354) - \[[`757719d2af`](https://github.com/nodejs/node/commit/757719d2af)] - **deps**: disable rust icu compiled\_data features (Chengzhong Wu) [#&#8203;62284](https://github.com/nodejs/node/pull/62284) - \[[`3bdc955b63`](https://github.com/nodejs/node/commit/3bdc955b63)] - **deps**: update sqlite to 3.51.3 (Node.js GitHub Bot) [#&#8203;62256](https://github.com/nodejs/node/pull/62256) - \[[`a9703d194a`](https://github.com/nodejs/node/commit/a9703d194a)] - **deps**: update googletest to [`73a63ea`](https://github.com/nodejs/node/commit/73a63ea05dc8ca29ec1d2c1d66481dd0de1950f1) (Node.js GitHub Bot) [#&#8203;61927](https://github.com/nodejs/node/pull/61927) - \[[`85138935cb`](https://github.com/nodejs/node/commit/85138935cb)] - **deps**: update merve to 1.2.2 (Node.js GitHub Bot) [#&#8203;62213](https://github.com/nodejs/node/pull/62213) - \[[`231521e75e`](https://github.com/nodejs/node/commit/231521e75e)] - **diagnostics\_channel**: add diagnostics channels for web locks (Ilyas Shabi) [#&#8203;62123](https://github.com/nodejs/node/pull/62123) - \[[`0093863664`](https://github.com/nodejs/node/commit/0093863664)] - **doc**: deprecate `module.register()` (DEP0205) (Geoffrey Booth) [#&#8203;62395](https://github.com/nodejs/node/pull/62395) - \[[`0b96ece6be`](https://github.com/nodejs/node/commit/0b96ece6be)] - **doc**: clarify that features cannot be both experimental and deprecated (Antoine du Hamel) [#&#8203;62456](https://github.com/nodejs/node/pull/62456) - \[[`8d3ea975f5`](https://github.com/nodejs/node/commit/8d3ea975f5)] - **doc**: fix 'transfered' typo in quic.md (lilianakatrina684-a11y) [#&#8203;62492](https://github.com/nodejs/node/pull/62492) - \[[`08ff16e0ba`](https://github.com/nodejs/node/commit/08ff16e0ba)] - **doc**: move sqlite type conversion section to correct level (René) [#&#8203;62482](https://github.com/nodejs/node/pull/62482) - \[[`61cc747dd8`](https://github.com/nodejs/node/commit/61cc747dd8)] - **doc**: add Rafael to last security release steward (Rafael Gonzaga) [#&#8203;62423](https://github.com/nodejs/node/pull/62423) - \[[`64cfa5a6fa`](https://github.com/nodejs/node/commit/64cfa5a6fa)] - **doc**: use npm-published version of doc-kit (Aviv Keller) [#&#8203;62139](https://github.com/nodejs/node/pull/62139) - \[[`1020321fb0`](https://github.com/nodejs/node/commit/1020321fb0)] - **doc**: fix overstated Date header requirement in response.sendDate (Kit Dallege) [#&#8203;62206](https://github.com/nodejs/node/pull/62206) - \[[`9caa7855b2`](https://github.com/nodejs/node/commit/9caa7855b2)] - **doc**: fix guaranteed typo (lilianakatrina684-a11y) [#&#8203;62374](https://github.com/nodejs/node/pull/62374) - \[[`e254f65306`](https://github.com/nodejs/node/commit/e254f65306)] - **doc**: enhance clarification about the main field (Mowafak Almahaini) [#&#8203;62302](https://github.com/nodejs/node/pull/62302) - \[[`9e724b53f8`](https://github.com/nodejs/node/commit/9e724b53f8)] - **doc**: remove spawn with shell example from bat/cmd section (Kit Dallege) [#&#8203;62243](https://github.com/nodejs/node/pull/62243) - \[[`7f37c17516`](https://github.com/nodejs/node/commit/7f37c17516)] - **doc**: minor typo fix (Jeff Matson) [#&#8203;62358](https://github.com/nodejs/node/pull/62358) - \[[`eb0ca98f01`](https://github.com/nodejs/node/commit/eb0ca98f01)] - **doc**: add path to vulnerabilities.json mention (Rafael Gonzaga) [#&#8203;62355](https://github.com/nodejs/node/pull/62355) - \[[`198b6e0932`](https://github.com/nodejs/node/commit/198b6e0932)] - **doc**: deprecate CryptoKey use in node:crypto (Filip Skokan) [#&#8203;62321](https://github.com/nodejs/node/pull/62321) - \[[`17e5aee6c5`](https://github.com/nodejs/node/commit/17e5aee6c5)] - **doc**: fix small environment\_variables typo (chris) [#&#8203;62279](https://github.com/nodejs/node/pull/62279) - \[[`193d629895`](https://github.com/nodejs/node/commit/193d629895)] - **doc**: test and test-only targets do not run linter (Xavier Stouder) [#&#8203;62120](https://github.com/nodejs/node/pull/62120) - \[[`4a1f20ec4a`](https://github.com/nodejs/node/commit/4a1f20ec4a)] - **doc**: clarify fs.ReadStream and fs.WriteStream are not constructable (Kit Dallege) [#&#8203;62208](https://github.com/nodejs/node/pull/62208) - \[[`f976c9214d`](https://github.com/nodejs/node/commit/f976c9214d)] - **doc**: clarify that any truthy value of `shell` is part of DEP0190 (Antoine du Hamel) [#&#8203;62249](https://github.com/nodejs/node/pull/62249) - \[[`4d83972681`](https://github.com/nodejs/node/commit/4d83972681)] - **doc**: remove outdated Chrome 66 and ndb references from debugger (Kit Dallege) [#&#8203;62202](https://github.com/nodejs/node/pull/62202) - \[[`71f2eada5b`](https://github.com/nodejs/node/commit/71f2eada5b)] - **doc**: add throwIfNoEntry version history to fs.stat (kovan) [#&#8203;62204](https://github.com/nodejs/node/pull/62204) - \[[`670c80893b`](https://github.com/nodejs/node/commit/670c80893b)] - **doc**: add note (and caveat) for `mock.module` about customization hooks (Jacob Smith) [#&#8203;62075](https://github.com/nodejs/node/pull/62075) - \[[`2ff5cb13f5`](https://github.com/nodejs/node/commit/2ff5cb13f5)] - **doc,test**: clarify --eval syntax for leading '-' scripts (kovan) [#&#8203;62244](https://github.com/nodejs/node/pull/62244) - \[[`6c6c9004c4`](https://github.com/nodejs/node/commit/6c6c9004c4)] - **esm**: fix typo in worker loader hook comment (jakecastelli) [#&#8203;62475](https://github.com/nodejs/node/pull/62475) - \[[`1cdd23c9f3`](https://github.com/nodejs/node/commit/1cdd23c9f3)] - **esm**: fix source phase identity bug in loadCache eviction (Guy Bedford) [#&#8203;62415](https://github.com/nodejs/node/pull/62415) - \[[`4f4ff15794`](https://github.com/nodejs/node/commit/4f4ff15794)] - **esm**: fix path normalization in `finalizeResolution` (Antoine du Hamel) [#&#8203;62080](https://github.com/nodejs/node/pull/62080) - \[[`088167d102`](https://github.com/nodejs/node/commit/088167d102)] - **events**: avoid cloning listeners array on every emit (Gürgün Dayıoğlu) [#&#8203;62261](https://github.com/nodejs/node/pull/62261) - \[[`0250b436ee`](https://github.com/nodejs/node/commit/0250b436ee)] - **fs**: fix cpSync to handle non-ASCII characters (Stefan Stojanovic) [#&#8203;61950](https://github.com/nodejs/node/pull/61950) - \[[`b67a8fb171`](https://github.com/nodejs/node/commit/b67a8fb171)] - **inspector**: add Target.getTargets and extract TargetManager (Kohei) [#&#8203;62487](https://github.com/nodejs/node/pull/62487) - \[[`ffcc5a5722`](https://github.com/nodejs/node/commit/ffcc5a5722)] - **lib**: make SubtleCrypto.supports enumerable (Filip Skokan) [#&#8203;62307](https://github.com/nodejs/node/pull/62307) - \[[`92ef2ad8fa`](https://github.com/nodejs/node/commit/92ef2ad8fa)] - **lib**: prefer primordials in SubtleCrypto (Filip Skokan) [#&#8203;62226](https://github.com/nodejs/node/pull/62226) - \[[`40a43ac4d0`](https://github.com/nodejs/node/commit/40a43ac4d0)] - **module**: fix coverage of mocked CJS modules imported from ESM (Marco) [#&#8203;62133](https://github.com/nodejs/node/pull/62133) - \[[`3ef0a5b90e`](https://github.com/nodejs/node/commit/3ef0a5b90e)] - **quic**: remove CryptoKey support from session keys option (Filip Skokan) [#&#8203;62335](https://github.com/nodejs/node/pull/62335) - \[[`3c8dd8eb8e`](https://github.com/nodejs/node/commit/3c8dd8eb8e)] - **repl**: use vm DONT\_CONTEXTIFY context (Chengzhong Wu) [#&#8203;62371](https://github.com/nodejs/node/pull/62371) - \[[`f85b9d9fa8`](https://github.com/nodejs/node/commit/f85b9d9fa8)] - **(SEMVER-MINOR)** **repl**: add customizable error handling (Anna Henningsen) [#&#8203;62188](https://github.com/nodejs/node/pull/62188) - \[[`e4c164e045`](https://github.com/nodejs/node/commit/e4c164e045)] - **repl**: handle exceptions from async context after close (Anna Henningsen) [#&#8203;62165](https://github.com/nodejs/node/pull/62165) - \[[`67b854d407`](https://github.com/nodejs/node/commit/67b854d407)] - **(SEMVER-MINOR)** **repl**: remove dependency on domain module (Matteo Collina) [#&#8203;61227](https://github.com/nodejs/node/pull/61227) - \[[`966b700623`](https://github.com/nodejs/node/commit/966b700623)] - **(SEMVER-MINOR)** **sea**: support code cache for ESM entrypoint in SEA (Joyee Cheung) [#&#8203;62158](https://github.com/nodejs/node/pull/62158) - \[[`fe82baf970`](https://github.com/nodejs/node/commit/fe82baf970)] - **src**: improve EC JWK import performance (Filip Skokan) [#&#8203;62396](https://github.com/nodejs/node/pull/62396) - \[[`d490b171e0`](https://github.com/nodejs/node/commit/d490b171e0)] - **src**: handle null backing store in ArrayBufferViewContents::Read (Mert Can Altin) [#&#8203;62343](https://github.com/nodejs/node/pull/62343) - \[[`0e4af848bc`](https://github.com/nodejs/node/commit/0e4af848bc)] - **src**: convert context\_frame field in AsyncWrap to internal field (Anna Henningsen) [#&#8203;62103](https://github.com/nodejs/node/pull/62103) - \[[`02980b8c8f`](https://github.com/nodejs/node/commit/02980b8c8f)] - **src**: enable compilation/linking with OpenSSL 4.0 (Filip Skokan) [#&#8203;62410](https://github.com/nodejs/node/pull/62410) - \[[`064f7c2fa6`](https://github.com/nodejs/node/commit/064f7c2fa6)] - **src**: use stack allocation in indexOf latin1 path (Mert Can Altin) [#&#8203;62268](https://github.com/nodejs/node/pull/62268) - \[[`ede52bc2dc`](https://github.com/nodejs/node/commit/ede52bc2dc)] - **src,sqlite**: fix filterFunc dangling reference (Edy Silva) [#&#8203;62281](https://github.com/nodejs/node/pull/62281) - \[[`e1f0d2a014`](https://github.com/nodejs/node/commit/e1f0d2a014)] - **(SEMVER-MINOR)** **stream**: add stream/iter Implementation (James M Snell) [#&#8203;62066](https://github.com/nodejs/node/pull/62066) - \[[`03839fb087`](https://github.com/nodejs/node/commit/03839fb087)] - **stream**: preserve error over AbortError in pipeline (Marco) [#&#8203;62113](https://github.com/nodejs/node/pull/62113) - \[[`0000d2f011`](https://github.com/nodejs/node/commit/0000d2f011)] - **stream**: replace bind with arrow function for onwrite callback (Ali Hassan) [#&#8203;62087](https://github.com/nodejs/node/pull/62087) - \[[`3796a73719`](https://github.com/nodejs/node/commit/3796a73719)] - **test**: update WPT for WebCryptoAPI to [`2cb332d`](https://github.com/nodejs/node/commit/2cb332d710) (Node.js GitHub Bot) [#&#8203;62483](https://github.com/nodejs/node/pull/62483) - \[[`ad8309415b`](https://github.com/nodejs/node/commit/ad8309415b)] - **test**: update WPT for url to [`fc3e651`](https://github.com/nodejs/node/commit/fc3e651593) (Node.js GitHub Bot) [#&#8203;62379](https://github.com/nodejs/node/pull/62379) - \[[`bed89b037e`](https://github.com/nodejs/node/commit/bed89b037e)] - **test**: wait for reattach before initial break on restart (Yuya Inoue) [#&#8203;62471](https://github.com/nodejs/node/pull/62471) - \[[`c9ffffcc55`](https://github.com/nodejs/node/commit/c9ffffcc55)] - **test**: disable flaky WPT Blob test on AIX (James M Snell) [#&#8203;62470](https://github.com/nodejs/node/pull/62470) - \[[`fd41ef31f6`](https://github.com/nodejs/node/commit/fd41ef31f6)] - **(SEMVER-MINOR)** **test**: add tests for experimental stream/iter implementation (James M Snell) [#&#8203;62066](https://github.com/nodejs/node/pull/62066) - \[[`1b9d8d3eec`](https://github.com/nodejs/node/commit/1b9d8d3eec)] - **test**: avoid flaky run wait in debugger restart test (Yuya Inoue) [#&#8203;62112](https://github.com/nodejs/node/pull/62112) - \[[`cb08a29d51`](https://github.com/nodejs/node/commit/cb08a29d51)] - **test**: skip test-cluster-dgram-reuse on AIX 7.3 (Stewart X Addison) [#&#8203;62238](https://github.com/nodejs/node/pull/62238) - \[[`abea0af8a9`](https://github.com/nodejs/node/commit/abea0af8a9)] - **test**: add WebCrypto Promise.prototype.then pollution regression tests (Filip Skokan) [#&#8203;62226](https://github.com/nodejs/node/pull/62226) - \[[`47a2132269`](https://github.com/nodejs/node/commit/47a2132269)] - **test**: update WPT for WebCryptoAPI to [`6a1c545`](https://github.com/nodejs/node/commit/6a1c545d77) (Node.js GitHub Bot) [#&#8203;62187](https://github.com/nodejs/node/pull/62187) - \[[`2c63d3006c`](https://github.com/nodejs/node/commit/2c63d3006c)] - **test\_runner**: add exports option for module mocks (sangwook) [#&#8203;61727](https://github.com/nodejs/node/pull/61727) - \[[`44ac0e1302`](https://github.com/nodejs/node/commit/44ac0e1302)] - **test\_runner**: make it compatible with fake timers (Matteo Collina) [#&#8203;59272](https://github.com/nodejs/node/pull/59272) - \[[`1865691275`](https://github.com/nodejs/node/commit/1865691275)] - **test\_runner**: set non-zero exit code when suite errors occur (Edy Silva) [#&#8203;62282](https://github.com/nodejs/node/pull/62282) - \[[`0252b2bab8`](https://github.com/nodejs/node/commit/0252b2bab8)] - **tools**: bump picomatch from 4.0.3 to 4.0.4 in /tools/eslint (dependabot\[bot]) [#&#8203;62439](https://github.com/nodejs/node/pull/62439) - \[[`3368155267`](https://github.com/nodejs/node/commit/3368155267)] - **tools**: bump yaml from 2.8.2 to 2.8.3 in /tools/doc (dependabot\[bot]) [#&#8203;62437](https://github.com/nodejs/node/pull/62437) - \[[`5e47c359f5`](https://github.com/nodejs/node/commit/5e47c359f5)] - **tools**: adopt the `--check-for-duplicates` NCU flag (Antoine du Hamel) [#&#8203;62478](https://github.com/nodejs/node/pull/62478) - \[[`4a604e82d0`](https://github.com/nodejs/node/commit/4a604e82d0)] - **tools**: bump picomatch in /tools/doc (dependabot\[bot]) [#&#8203;62438](https://github.com/nodejs/node/pull/62438) - \[[`d1a98b4ddb`](https://github.com/nodejs/node/commit/d1a98b4ddb)] - **tools**: bump flatted from 3.4.1 to 3.4.2 in /tools/eslint (dependabot\[bot]) [#&#8203;62375](https://github.com/nodejs/node/pull/62375) - \[[`c32daa1ab4`](https://github.com/nodejs/node/commit/c32daa1ab4)] - **tools**: bump eslint deps (Huáng Jùnliàng) [#&#8203;62356](https://github.com/nodejs/node/pull/62356) - \[[`7a2fcc6d41`](https://github.com/nodejs/node/commit/7a2fcc6d41)] - **tools**: do not swallow error in `lint-nix` workflow (Antoine du Hamel) [#&#8203;62292](https://github.com/nodejs/node/pull/62292) - \[[`c41a2871b5`](https://github.com/nodejs/node/commit/c41a2871b5)] - **tools**: add eslint-plugin-regexp (Huáng Jùnliàng) [#&#8203;62093](https://github.com/nodejs/node/pull/62093) - \[[`56dfeb06df`](https://github.com/nodejs/node/commit/56dfeb06df)] - **tools**: fix timeout errors in `lint-nix` job (Antoine du Hamel) [#&#8203;62265](https://github.com/nodejs/node/pull/62265) - \[[`22fc8078e8`](https://github.com/nodejs/node/commit/22fc8078e8)] - **tools**: bump flatted from 3.3.3 to 3.4.1 in /tools/eslint (dependabot\[bot]) [#&#8203;62255](https://github.com/nodejs/node/pull/62255) - \[[`409b0663bd`](https://github.com/nodejs/node/commit/409b0663bd)] - **tools**: bump undici from 6.23.0 to 6.24.1 in /tools/doc (dependabot\[bot]) [#&#8203;62250](https://github.com/nodejs/node/pull/62250) - \[[`67c69750f4`](https://github.com/nodejs/node/commit/67c69750f4)] - **tools**: validate all commits that are pushed to `main` (Antoine du Hamel) [#&#8203;62246](https://github.com/nodejs/node/pull/62246) - \[[`7d9db8cd21`](https://github.com/nodejs/node/commit/7d9db8cd21)] - **tools**: keep GN files when updating Merve (Antoine du Hamel) [#&#8203;62167](https://github.com/nodejs/node/pull/62167) - \[[`6c8fa42ba2`](https://github.com/nodejs/node/commit/6c8fa42ba2)] - **typings**: rationalise TypedArray types (René) [#&#8203;62174](https://github.com/nodejs/node/pull/62174) - \[[`531c64d04e`](https://github.com/nodejs/node/commit/531c64d04e)] - **url**: enable simdutf for ada (Yagiz Nizipli) [#&#8203;61477](https://github.com/nodejs/node/pull/61477) - \[[`2000caccde`](https://github.com/nodejs/node/commit/2000caccde)] - **util**: allow color aliases in styleText (sangwook) [#&#8203;62180](https://github.com/nodejs/node/pull/62180) - \[[`0aed332ab4`](https://github.com/nodejs/node/commit/0aed332ab4)] - **wasm**: support js string constant esm import (Guy Bedford) [#&#8203;62198](https://github.com/nodejs/node/pull/62198) - \[[`d3fd4a978b`](https://github.com/nodejs/node/commit/d3fd4a978b)] - **worker**: heap profile optimizations (Ilyas Shabi) [#&#8203;62201](https://github.com/nodejs/node/pull/62201) - \[[`e992a34a18`](https://github.com/nodejs/node/commit/e992a34a18)] - **zlib**: fix use-after-free when reset() is called during write (Matteo Collina) [#&#8203;62325](https://github.com/nodejs/node/pull/62325) </details> <details> <summary>pnpm/pnpm (pnpm)</summary> ### [`v10.34.5`](https://github.com/pnpm/pnpm/releases/tag/v10.34.5): pnpm 10.34.5 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.34.4...v10.34.5) #### Patch Changes - [`78e29fe`](https://github.com/pnpm/pnpm/commit/78e29fe): Prevent a crafted `pnpm-lock.yaml` from writing package content outside the virtual store. A dependency path key whose name reconstructs to a path-traversal sequence (e.g. `../../../tmp/x@1.0.0`) is now rejected by the isolated (virtual-store) linker and the Plug'n'Play resolver map, matching the containment already applied to the hoisted linker. Under the global virtual store, a traversal in the version-derived path segment (e.g. a snapshot `version: "../../x"`) is now rejected at `iterateHashedGraphNodes`, the single point every global-virtual-store slot path funnels through. - [`78e29fe`](https://github.com/pnpm/pnpm/commit/78e29fe): Fixed a path traversal vulnerability where a dependency whose manifest `name` was a scoped path traversal (e.g. `@x/../../../<path>`) could be written outside `node_modules` to an attacker-controlled location during `pnpm install`, even with `--ignore-scripts`. The isolated linker now validates the package name before using it as a directory name, matching the existing protection in the hoisted linker. - [`47ef6f0`](https://github.com/pnpm/pnpm/commit/47ef6f0): Fixed switching to and self-updating to pnpm v12. pnpm v12 (the Rust port) ships as the `pnpm` and `@pnpm/exe` npm packages whose bins are placeholders replaced at install time by the host's native binary from a `@pnpm/exe.<platform>-<arch>[-musl]` optional dependency. Because pnpm installs its own engine with `--ignore-scripts`, that relinking never ran, leaving a non-executable placeholder. pnpm now relinks the native binary itself for v12 (recognizing the new platform-package naming scheme and the native `pnpm` package), and verifies the native binary's npm registry signature before running it. - [`36928be`](https://github.com/pnpm/pnpm/commit/36928be): `${...}` environment-variable placeholders in the `httpProxy`, `httpsProxy`, `noProxy`, `proxy`, and `noproxy` settings are no longer expanded when these settings come from a project's `pnpm-workspace.yaml`. They now receive the same protection already applied to `registry`. <!-- sponsors --> #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> </tr> </tbody> </table> <!-- sponsors end --> ### [`v10.34.4`](https://github.com/pnpm/pnpm/releases/tag/v10.34.4): pnpm 10.34.4 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.34.3...v10.34.4) #### Patch Changes - [`352ae48`](https://github.com/pnpm/pnpm/commit/352ae48): Security: validate config dependency names and versions before using them to build filesystem paths. A `pnpm-workspace.yaml` with a traversal-shaped `configDependencies` name (such as `../../PWNED`) or version (such as `../../../PWNED`) could previously cause `pnpm install` to create symlinks or write package files outside `node_modules/.pnpm-config` and the store. Names must now be valid npm package names and versions must be exact semver versions. See [GHSA-qrv3-253h-g69c](https://github.com/pnpm/pnpm/security/advisories/GHSA-qrv3-253h-g69c). - [`352ae48`](https://github.com/pnpm/pnpm/commit/352ae48): Reject path-traversal and reserved dependency aliases (such as `../../../escape`, `.bin`, `.pnpm`, or `node_modules`) that come from a lockfile rather than a freshly resolved manifest. A crafted lockfile alias could otherwise be joined directly under a hoisted `node_modules` directory, letting package files be written outside the intended install root or overwrite pnpm-owned layout. The `nodeLinker: hoisted` graph builder now validates each alias at the directory sink (`safeJoinModulesDir`), matching the validation pnpm already performs when resolving aliases from manifests. See [GHSA-fr4h-3cph-29xv](https://github.com/pnpm/pnpm/security/advisories/GHSA-fr4h-3cph-29xv). - [`352ae48`](https://github.com/pnpm/pnpm/commit/352ae48): Prevent `pnpm patch-remove` from removing files outside the configured patches directory. - [`217fbe0`](https://github.com/pnpm/pnpm/commit/217fbe0): Hardened the warning printed when a project `.npmrc` uses environment variables in registry/auth settings: the suggested `pnpm config set` command is now only included for keys made up of shell-inert characters. Because the key comes from a repository-controlled `.npmrc` and a shell expands `$(...)`, backticks, and `$VAR` even inside double quotes, a crafted key could otherwise have turned the suggested copy-paste command into command execution. <!-- sponsors --> #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> </tr> </tbody> </table> <!-- sponsors end --> ### [`v10.34.3`](https://github.com/pnpm/pnpm/releases/tag/v10.34.3): pnpm 10.34.3 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.34.2...v10.34.3) ##### ⚠️ Security fix — environment variables in a project `.npmrc` (action may be required) Following [GHSA-3qhv-2rgh-x77r](https://github.com/pnpm/pnpm/security/advisories/GHSA-3qhv-2rgh-x77r), pnpm no longer expands `${ENV_VAR}` placeholders that come from a **repository-controlled** config file, because a malicious repository could otherwise use them to leak your environment secrets (npm tokens, CI job tokens, etc.) to an attacker-controlled registry during install. This applies to: - the project/workspace `.npmrc` — `registry`, `@scope:registry`, proxy URLs, URL-scoped keys (`//host/…`), and credential values (`_authToken`, `_auth`, `_password`, `username`, `tokenHelper`, `cert`, `key`); - registry URLs in `pnpm-workspace.yaml`. This release also closes a bypass where a project `.npmrc` could set `userconfig`, `globalconfig`, or `prefix` to make pnpm load a repo-supplied file as *trusted* config (via `@pnpm/npm-conf@3.0.3`). Environment variables are **still** expanded in trusted config: your user-level `~/.npmrc`, the global config, CLI options, and environment config. **If your authentication broke after upgrading**, move the token out of the committed `.npmrc`: ```sh # Writes to your user/global config, not the repository: pnpm config set "//registry.npmjs.org/:_authToken" "$NPM_TOKEN" ``` Or keep the `${NPM_TOKEN}` line but put it in your user-level `~/.npmrc` instead of the repo. In **GitHub Actions**, `actions/setup-node` with `registry-url` already writes a user-level `.npmrc`, so `NODE_AUTH_TOKEN` keeps working. For other CI where editing each pipeline is hard, set `NPM_CONFIG_USERCONFIG=.npmrc` in the CI environment to declare the project `.npmrc` trusted. See <https://pnpm.io/npmrc> for full migration details. #### Patch Changes - Improved the warning printed when a project `.npmrc` uses an environment variable in a registry/proxy URL or in registry credentials. The message now explains why the setting was ignored and how to migrate it to a trusted source — for example by running `pnpm config set "<key>" <value>` to store it in the global config, or by keeping the `${...}` line in the user-level `~/.npmrc` — with a link to <https://pnpm.io/npmrc>. - A repository-controlled project or workspace `.npmrc` can no longer redirect which files pnpm loads as its trusted user and global configuration. Previously such a file could set `userconfig`, `globalconfig`, or `prefix` to point at an attacker-supplied file shipped in the repository, and pnpm would load it as a trusted config source — bypassing the protection that prevents repository config from expanding environment variables into registry request destinations and credentials, and allowing it to set `tokenHelper`. The user/global config file locations are now resolved only from trusted sources (CLI options, environment config, the npm builtin config, and defaults) before the project and workspace `.npmrc` files are read. Fixed by upgrading `@pnpm/npm-conf` to `3.0.3`. <!-- sponsors --> #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> </tr> </tbody> </table> <!-- sponsors end --> ### [`v10.34.2`](https://github.com/pnpm/pnpm/releases/tag/v10.34.2): pnpm 10.34.2 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.34.1...v10.34.2) ##### ⚠️ Security fix — environment variables in a project `.npmrc` (action may be required) Following [GHSA-3qhv-2rgh-x77r](https://github.com/pnpm/pnpm/security/advisories/GHSA-3qhv-2rgh-x77r), pnpm no longer expands `${ENV_VAR}` placeholders that come from a **repository-controlled** config file, because a malicious repository could otherwise use them to leak your environment secrets (npm tokens, CI job tokens, etc.) to an attacker-controlled registry during install. This applies to: - the project/workspace `.npmrc` — `registry`, `@scope:registry`, proxy URLs, URL-scoped keys (`//host/…`), and credential values (`_authToken`, `_auth`, `_password`, `username`, `tokenHelper`, `cert`, `key`); - registry URLs in `pnpm-workspace.yaml`. This release also closes a bypass where a project `.npmrc` could set `userconfig`, `globalconfig`, or `prefix` to make pnpm load a repo-supplied file as *trusted* config (via `@pnpm/npm-conf@3.0.3`). Environment variables are **still** expanded in trusted config: your user-level `~/.npmrc`, the global config, CLI options, and environment config. **If your authentication broke after upgrading**, move the token out of the committed `.npmrc`: ```sh # Writes to your user/global config, not the repository: pnpm config set "//registry.npmjs.org/:_authToken" "$NPM_TOKEN" ``` Or keep the `${NPM_TOKEN}` line but put it in your user-level `~/.npmrc` instead of the repo. In **GitHub Actions**, `actions/setup-node` with `registry-url` already writes a user-level `.npmrc`, so `NODE_AUTH_TOKEN` keeps working. For other CI where editing each pipeline is hard, set `NPM_CONFIG_USERCONFIG=.npmrc` in the CI environment to declare the project `.npmrc` trusted. See <https://pnpm.io/npmrc> for full migration details. #### Patch Changes - Package-manager bootstrap traffic is now resolved through trusted registries and trusted network config. When pnpm downloads the pnpm version requested by a repository's `packageManager` field, the registry it fetches from (and the proxy/TLS settings used for that traffic) now come exclusively from trusted config sources — CLI options, env config, user and global `.npmrc` — defaulting to the public npm registry, instead of the repository's project/workspace settings. - pnpm now verifies the npm registry signature of a package-manager binary before spawning it. When the `packageManager` field (or `pnpm self-update`) makes pnpm download another pnpm version, the staged install is verified corepack-style: the integrity recorded in the staged lockfile must carry a valid npm registry signature for the exact `name@version`, validated against npm's public signing keys that ship embedded in the pnpm CLI. Verification fails closed — a tampered download, an unsigned package, or an unreachable registry refuses the version switch rather than running an unverified binary. It runs only when the wanted version is actually downloaded (a tools-directory cache miss), so repeated commands pay no extra network round trip. - Environment variable expansion is now trust-aware for registry/auth config and request destinations. Repository-controlled config files (the project and workspace `.npmrc` and `pnpm-workspace.yaml`) can no longer expand `${...}` placeholders in registry/proxy request destinations, URL-scoped keys, or registry credential values, preventing repository-controlled configuration from exfiltrating environment secrets through request URLs. Trusted user/global/CLI/env config keeps full env expansion, so existing token and registry setup flows continue to work. - Reject reserved manifest `bin` names (`""`, `"."`, `".."`, and scoped forms such as `@scope/..`) when resolving a package's bins. These names previously passed the bin-name guard and, when joined to the global bin directory during global remove/update/add operations, could resolve to the global bin directory itself or its parent and have it recursively deleted. - Require trusted package identity before package-name `onlyBuiltDependencies` (and `allowBuilds`) entries can approve lifecycle scripts for git, git-hosted tarball, direct tarball, and local directory artifacts. To approve one of those artifacts explicitly, use its peer-suffix-free lockfile depPath as the key. Lockfile entries are now rejected when a registry-style dependency path (`name@semver`) is backed by a git, directory, or git-hosted tarball resolution (`ERR_PNPM_RESOLUTION_SHAPE_MISMATCH`), so the dependency path is a reliable artifact identity by the time scripts can run. - pnpm now verifies the detached OpenPGP signature of a Node.js release's `SHASUMS256.txt` against the Node.js release team's public keys (embedded in the pnpm CLI) before trusting its hashes. The Node.js download mirror is repository-configurable (`node-mirror:<channel>` in `.npmrc`), and the integrity check previously trusted a `SHASUMS256.txt` fetched from that same mirror — a circular check that a malicious mirror could satisfy with a tampered binary and matching hashes. A mirror that proxies the real signed SHASUMS keeps working unchanged. Only the `release` channel publishes signed SHASUMS files, so pre-release channels (rc, nightly, …) remain unverified. <!-- sponsors --> #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> </tr> </tbody> </table> <!-- sponsors end --> ### [`v10.34.1`](https://github.com/pnpm/pnpm/releases/tag/v10.34.1): pnpm 10.34.1 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.34.0...v10.34.1) #### Patch Changes - Reject `pnpm-lock.yaml` entries whose remote tarball `resolution:` block is missing the `integrity` field. Previously the worker that extracts a downloaded tarball skipped hash verification when no integrity was supplied and minted a fresh one from the unverified bytes, so an attacker who could both alter the lockfile (e.g. via a pull request that strips `integrity:`) and serve modified content at the referenced tarball URL could install a tampered package without any error — including under `--frozen-lockfile`. pnpm now fails closed at lockfile-read time with `ERR_PNPM_MISSING_TARBALL_INTEGRITY`. Git-hosted tarballs (`gitHosted: true` or a URL on codeload.github.com / bitbucket.org / gitlab.com) and `file:` tarballs are exempt — the commit SHA in a git-host URL and the user-controlled local path already anchor the bytes. <!-- sponsors --> #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> </tr> </tbody> </table> <!-- sponsors end --> ### [`v10.34.0`](https://github.com/pnpm/pnpm/releases/tag/v10.34.0): pnpm 10.34 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.33.4...v10.34.0) #### Minor Changes - Treat tarball-integrity mismatches against the lockfile as a hard failure by default. Previously, `pnpm install` (non-frozen) would log `ERR_PNPM_TARBALL_INTEGRITY`, silently re-resolve from the registry, and overwrite the locked integrity — which meant a compromised registry, proxy, or republished version could substitute attacker-controlled content on a clean machine even though the project shipped a committed lockfile. `pnpm install` now exits with `ERR_PNPM_TARBALL_INTEGRITY` and a hint pointing at the new opt-in flag. The only opt-in is **`pnpm install --update-checksums`** — narrowly scoped to refreshing the locked integrity values from what the registry currently serves. Mirrors yarn's flag of the same name. A warning still prints when the bypass takes effect so the operation is auditable. `--force` and `pnpm update` deliberately do **not** bypass the integrity check. They are routine refresh operations; silently overwriting a locked integrity in those flows would erase the protection a committed lockfile is supposed to provide. `--frozen-lockfile` behavior is unchanged. `--fix-lockfile` keeps its documented purpose (filling in missing lockfile entries) and is also not a bypass. #### Patch Changes - Pin unscoped per-registry settings (`_authToken`, `_auth`, `username`/`_password`, `tokenHelper`, inline `cert`/`key`) to the registry declared in the same config source at load time, so a later layer overriding `registry=` (workspace `.npmrc`, `pnpm-workspace.yaml`, CLI `--registry`) cannot redirect a credential or client certificate authored for a different host. A deprecation warning is emitted whenever an unscoped per-registry setting is encountered, naming the source and the URL it was pinned to. Reported by JUNYI LIU. - Fixed `minimumReleaseAge` handling when cached metadata is abbreviated. The npm registry returns abbreviated package metadata (without the per-version `time` field) by default, which made the maturity check throw `ERR_PNPM_MISSING_TIME` whenever cached abbreviated metadata was reused. pnpm now upgrades cached abbreviated metadata to the full document via a follow-up fetch when `minimumReleaseAge` is active, persists the upgrade to the on-disk cache so subsequent installs skip the extra fetch, and lets `ERR_PNPM_MISSING_TIME` from the cache fast-path fall through to the network fetch even under strict mode. - Reject git resolutions whose `commit` field is not a 40-character hexadecimal SHA before invoking `git`. A malicious lockfile could otherwise smuggle a value such as `--upload-pack=<command>` through `git fetch` / `git checkout`, which on SSH or local-file transports executes the supplied command. - Reject patch files whose `diff --git` headers reference paths outside the patched package directory. Previously a malicious `.patch` file added via a pull request could write, delete, or rename arbitrary files reachable by the user running `pnpm install`. - Fixed `--prefix=<dir>` not being honored when locating the workspace root. The `--prefix → dir` rename was applied after workspace detection, so workspace settings declared in `<dir>/pnpm-workspace.yaml` were not loaded when pnpm was invoked from outside `<dir>` [#&#8203;11535](https://github.com/pnpm/pnpm/issues/11535). - Reject dependency aliases that contain path-traversal segments (such as `@x/../../../../../.git/hooks`) when reading them from a package manifest or symlinking them into `node_modules`. A malicious registry package could otherwise use a transitive dependency key to make `pnpm install` create symlinks at attacker-chosen paths outside the intended `node_modules` directory. <!-- sponsors --> #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> </tr> </tbody> </table> <!-- sponsors end --> ### [`v10.33.4`](https://github.com/pnpm/pnpm/releases/tag/v10.33.4): pnpm 10.33.4 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.33.3...v10.33.4) #### Patch Changes - Pin the integrity of git-hosted tarballs (codeload.github.com, gitlab.com, bitbucket.org) in the lockfile so that subsequent installs detect a tampered or substituted tarball and refuse to install it. Previously the lockfile only stored the tarball URL for git dependencies, so a compromised git host or a man-in-the-middle could serve arbitrary code on later installs without lockfile changes. A new `gitHosted: true` field is recorded on git-hosted tarball resolutions in the lockfile, letting every reader/writer route them by a single typed check instead of pattern-matching the tarball URL in each call site. Lockfiles written by older pnpm versions are enriched on load (URL fallback) so the field can be relied on uniformly across the codebase. - Fix a regression where `pnpm --recursive --filter '!<pkg>' run/exec/test/add` would include the workspace root in the matched projects. The workspace root is now correctly excluded by default when only negative `--filter` arguments are provided, matching the [documented behavior](https://pnpm.io/cli/recursive). To include the root, pass `--include-workspace-root` [#&#8203;11341](https://github.com/pnpm/pnpm/issues/11341). <!-- sponsors --> #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> </tr> </tbody> </table> <!-- sponsors end --> ### [`v10.33.3`](https://github.com/pnpm/pnpm/releases/tag/v10.33.3): pnpm 10.33.3 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.33.2...v10.33.3) #### Patch Changes - When self-updating from v10's `@pnpm/exe` to v11+ on Intel macOS (darwin-x64), `pnpm self-update` now transparently switches to the JS-only `pnpm` package on npm instead of installing `@pnpm/exe@v11+` (which doesn't ship a working binary for Intel Macs because of an upstream Node.js SEA bug — see [#&#8203;11423](https://github.com/pnpm/pnpm/issues/11423) and [nodejs/node#62893](https://github.com/nodejs/node/issues/62893)). Without this, the self-update would silently leave the user with no working `pnpm` binary. The new install requires Node.js to be available on `PATH`; a warning is printed when the swap happens. All other host/version combinations are unchanged. - `pnpm self-update` (with no version argument) no longer downgrades pnpm when the registry's `latest` dist-tag points to an older release than the currently active version. Run `pnpm self-update latest` to force a downgrade [#&#8203;11418](https://github.com/pnpm/pnpm/issues/11418). <!-- sponsors --> #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> </tr> </tbody> </table> <!-- sponsors end --> ### [`v10.33.2`](https://github.com/pnpm/pnpm/releases/tag/v10.33.2): pnpm 10.33.2 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.33.1...v10.33.2) #### Patch Changes - Globally-installed bins no longer fail with `ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND` when pnpm was installed via the standalone `@pnpm/exe` binary (e.g. `curl -fsSL https://get.pnpm.io/install.sh | sh -`) on a system without a separate Node.js installation. Previously, when `which('node')` failed during `pnpm add --global`, pnpm fell back to `process.execPath`, which in `@pnpm/exe` is the pnpm binary itself — and that path was baked into the generated bin shim, causing the shim to invoke pnpm instead of Node [#&#8203;11291](https://github.com/pnpm/pnpm/issues/11291), [#&#8203;4645](https://github.com/pnpm/pnpm/issues/4645). - Fix an infinite fork-bomb that could happen when pnpm was installed with one version (e.g. `npm install -g pnpm@A`) and run inside a project whose `package.json` selected a different pnpm version via the `packageManager` field (e.g. `pnpm@B`), while a `pnpm-workspace.yaml` also existed at the project root. The child's environment is now forced to `manage-package-manager-versions=false` (v10) and `pm-on-fail=ignore` (v11+), which disables the package-manager-version handling in whichever pnpm runs as the child. Fixes [#&#8203;11337](https://github.com/pnpm/pnpm/issues/11337). <!-- sponsors --> #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> </tr> </tbody> </table> <!-- sponsors end --> ### [`v10.33.1`](https://github.com/pnpm/pnpm/releases/tag/v10.33.1): pnpm 10.33.1 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.33.0...v10.33.1) #### Patch Changes - When a project's `packageManager` field selects pnpm v11 or newer, commands that v10 would have passed through to npm (`version`, `login`, `logout`, `publish`, `unpublish`, `deprecate`, `dist-tag`, `docs`, `ping`, `search`, `star`, `stars`, `unstar`, `whoami`, etc.) are now handed over to the wanted pnpm, which implements them natively. Previously they silently shelled out to npm — making, for example, `pnpm version --help` print npm's help on a project with `packageManager: pnpm@11.0.0-rc.3` [#&#8203;11328](https://github.com/pnpm/pnpm/issues/11328). <!-- sponsors --> #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> </tr> </tbody> </table> <!-- sponsors end --> </details> <details> <summary>postcss/postcss (postcss)</summary> ### [`v8.5.26`](https://github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8526) [Compare Source](https://github.com/postcss/postcss/compare/8.5.25...8.5.26) - Fixed `list.split()` regression (by [@&#8203;lazerg](https://github.com/lazerg)). - Track symlinks in path protection in source map loading (by [@&#8203;drengir1](https://github.com/drengir1)). ### [`v8.5.25`](https://github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8525) [Compare Source](https://github.com/postcss/postcss/compare/8.5.24...8.5.25) - Fixed 8.5.17 visitor regression. - Fixed `list.split()` for non-string values (by [@&#8203;amir-rezaei](https://github.com/amir-rezaei)). ### [`v8.5.24`](https://github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8524) [Compare Source](https://github.com/postcss/postcss/compare/8.5.23...8.5.24) - Preserve the BOM after the processing (by [@&#8203;hdimer](https://github.com/hdimer)). ### [`v8.5.23`](https://github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8523) [Compare Source](https://github.com/postcss/postcss/compare/8.5.22...8.5.23) - Do not load source map without `opts.from` for security reasons. ### [`v8.5.22`](https://github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8522) [Compare Source](https://github.com/postcss/postcss/compare/8.5.21...8.5.22) - Fixed custom property losing semicolon before a comment (by [@&#8203;sarathfrancis90](https://github.com/sarathfrancis90)). ### [`v8.5.21`](https://github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8521) [Compare Source](https://github.com/postcss/postcss/compare/8.5.20...8.5.21) - Fixed childless at-rule losing semicolon before comment (by [@&#8203;sarathfrancis90](https://github.com/sarathfrancis90)). - Fixed docs (by [@&#8203;isker](https://github.com/isker)). ### [`v8.5.20`](https://github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8520) [Compare Source](https://github.com/postcss/postcss/compare/8.5.19...8.5.20) - Fixed missing space if `AtRule#params` is set after (by [@&#8203;sarathfrancis90](https://github.com/sarathfrancis90)). - Fixed mixing AST error on warnings (by [@&#8203;MahinAnowar](https://github.com/MahinAnowar)). ### [`v8.5.19`](https://github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8519) [Compare Source](https://github.com/postcss/postcss/compare/8.5.18...8.5.19) - Fixed cleaning `before` for new nodes inserted to `Root` (by [@&#8203;MahinAnowar](https://github.com/MahinAnowar)). ### [`v8.5.18`](https://github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8518) [Compare Source](https://github.com/postcss/postcss/compare/8.5.17...8.5.18) - Restricted loading previous source maps file to the `opts.from` folder for security reasons (use `unsafeMap: true` to disable the check). ### [`v8.5.17`](https://github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8517) [Compare Source](https://github.com/postcss/postcss/compare/8.5.16...8.5.17) - Fixed `Maximum call stack size exceeded` error. - Fixed Prototype hijacking for `postcss.fromJSON()`. - Fixed `Input#origin()` for unmapped end position (by [@&#8203;chatman-media](https://github.com/chatman-media)). ### [`v8.5.16`](https://github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8516) [Compare Source](https://github.com/postcss/postcss/compare/8.5.15...8.5.16) - Fixed `Input#origin()` position (by [@&#8203;mizdra](https://github.com/mizdra)). - Fixed `raws` after rehydrating a JSON AST (by [@&#8203;sarathfrancis90](https://github.com/sarathfrancis90)). - Fixed putting parent-less node in `nodes` of new node (by [@&#8203;MahinAnowar](https://github.com/MahinAnowar)). - Fixed computing `offset` in `positionBy()` (by [@&#8203;greymoth-jp](https://github.com/greymoth-jp)). - Fixed `rangeBy()` on `index: 0` (by [@&#8203;sarathfrancis90](https://github.com/sarathfrancis90)). ### [`v8.5.15`](https://github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8515) [Compare Source](https://github.com/postcss/postcss/compare/8.5.14...8.5.15) - Fixed declaration parsing performance (by [@&#8203;homanp](https://github.com/homanp)). ### [`v8.5.14`](https://github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8514) [Compare Source](https://github.com/postcss/postcss/compare/8.5.13...8.5.14) - Fixed custom syntax regression (by [@&#8203;43081j](https://github.com/43081j)). ### [`v8.5.13`](https://github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8513) [Compare Source](https://github.com/postcss/postcss/compare/8.5.12...8.5.13) - Fixed `postcss-scss` commend regression. ### [`v8.5.12`](https://github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8512) [Compare Source](https://github.com/postcss/postcss/compare/8.5.11...8.5.12) - Fixed reading any file via user-generated CSS. - Added `opts.unsafeMap` to disable checks. ### [`v8.5.11`](https://github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8511) [Compare Source](https://github.com/postcss/postcss/compare/8.5.10...8.5.11) - Fixed nested brackets parsing performance (by [@&#8203;offset](https://github.com/offset)). ### [`v8.5.10`](https://github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8510) [Compare Source](https://github.com/postcss/postcss/compare/8.5.9...8.5.10) - Fixed XSS via unescaped `</style>` in non-bundler cases (by [@&#8203;TharVid](https://github.com/TharVid)). ### [`v8.5.9`](https://github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#859) [Compare Source](https://github.com/postcss/postcss/compare/8.5.8...8.5.9) - Speed up source map encoding paring in case of the error. </details> <details> <summary>react/react (react)</summary> ### [`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)) ### [`v19.2.7`](https://github.com/react/react/blob/HEAD/CHANGELOG.md#1927-June-1-2026) [Compare Source](https://github.com/react/react/compare/v19.2.6...v19.2.7) ##### React Server Components - Fixed missing `FormData` entries in Server Actions which regressed in 19.2.6 ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;36566](https://github.com/facebook/react/pull/36566)) ### [`v19.2.6`](https://github.com/react/react/blob/HEAD/CHANGELOG.md#1926-May-6-2026) [Compare Source](https://github.com/react/react/compare/v19.2.5...v19.2.6) ##### React Server Components - Type hardening and performance improvements ([@&#8203;eps1lon](https://github.com/eps1lon), [@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;36425](https://github.com/facebook/react/pull/36425)) ### [`v19.2.5`](https://github.com/react/react/blob/HEAD/CHANGELOG.md#1925-March-18-2026) [Compare Source](https://github.com/react/react/compare/v19.2.4...v19.2.5) ##### React Server Components - Add more cycle protections ([@&#8203;eps1lon](https://github.com/eps1lon), [@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;36236](https://github.com/facebook/react/pull/36236)) </details> <details> <summary>vitest-dev/vitest (vitest)</summary> ### [`v4.1.10`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.10) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.1.9...v4.1.10) #####    🐞 Bug Fixes - **browser**: Check fs access in builtin commands \[backport to v4]  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode (claude-opus-4-8)** in [#&#8203;10680](https://github.com/vitest-dev/vitest/issues/10680) [<samp>(5c18d)</samp>](https://github.com/vitest-dev/vitest/commit/5c18dd267) - **vm**: Fix external module resolve error with deps optimizer query for encoded URI \[backport to v4]  -  by [@&#8203;SveLil](https://github.com/SveLil) and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;10661](https://github.com/vitest-dev/vitest/issues/10661) [<samp>(bae52)</samp>](https://github.com/vitest-dev/vitest/commit/bae52b511) #####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.9...v4.1.10) ### [`v4.1.9`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.9) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.1.8...v4.1.9) ##### 🐞 Bug Fixes - Fix `importOriginal` with optimizer and query import \[backport to v4] - by **Hiroshi Ogawa**, **David Harris**, **Codex**and **Vladimir** in [#&#8203;10546](https://github.com/vitest-dev/vitest/issues/10546) [<samp>(a5180)</samp>](https://github.com/vitest-dev/vitest/commit/a5180190c) - **browser**: - Wait for orchestrator readiness before resolving browser sessions \[backport to v4] - by **Vladimir** and **Séamus O'Connor** in [#&#8203;10555](https://github.com/vitest-dev/vitest/issues/10555) [<samp>(7fb29)</samp>](https://github.com/vitest-dev/vitest/commit/7fb29651a) - Wait for iframe tester readiness before preparing \[backport to v4] - by **Vladimir** and **Séamus O'Connor** in [#&#8203;10497](https://github.com/vitest-dev/vitest/issues/10497) and [#&#8203;10556](https://github.com/vitest-dev/vitest/issues/10556) [<samp>(fbc62)</samp>](https://github.com/vitest-dev/vitest/commit/fbc626c40) - **mocker**: - Hoist vi.mock() for vite-plus/test imports \[backport to v4] - by **Hiroshi Ogawa**, **LongYinan**, **Claude Opus 4.8** and **Vladimir** in [#&#8203;10548](https://github.com/vitest-dev/vitest/issues/10548) [<samp>(2c955)</samp>](https://github.com/vitest-dev/vitest/commit/2c9559c02) - **pool**: - Prevent test run hang on worker crash \[backport to v4] - by **Ari Perkkiö** and **Jattioui Ismail** in [#&#8203;10543](https://github.com/vitest-dev/vitest/issues/10543) and [#&#8203;10564](https://github.com/vitest-dev/vitest/issues/10564) [<samp>(934b0)</samp>](https://github.com/vitest-dev/vitest/commit/934b0f587) ##### [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.8...v4.1.9) ### [`v4.1.8`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.8) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.1.7...v4.1.8) #####    🐞 Bug Fixes - **browser**: - Disable client `cdp` API when `allowWrite/allowExec: false` \[backport to v4]  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Codex** in [#&#8203;10450](https://github.com/vitest-dev/vitest/issues/10450) [<samp>(e4067)</samp>](https://github.com/vitest-dev/vitest/commit/e4067b3b1) - Remove orphaned Playwright route when same module is mocked via multiple ids \[backport to v4]  -  by [@&#8203;toxik](https://github.com/toxik) and [@&#8203;Zelys-DFKH](https://github.com/Zelys-DFKH) in [#&#8203;10474](https://github.com/vitest-dev/vitest/issues/10474) [<samp>(675b4)</samp>](https://github.com/vitest-dev/vitest/commit/675b4343f) #####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.7...v4.1.8) ### [`v4.1.7`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.7) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7) #####    🐞 Bug Fixes - **runner**: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;10384](https://github.com/vitest-dev/vitest/issues/10384) [<samp>(4f0f2)</samp>](https://github.com/vitest-dev/vitest/commit/4f0f2a1ee) #####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7) ### [`v4.1.6`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.6) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6) #####    🐞 Bug Fixes - **browser**: Provide project reference in `ToMatchScreenshotResolvePath`  -  by [@&#8203;macarie](https://github.com/macarie) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;10138](https://github.com/vitest-dev/vitest/issues/10138) [<samp>(31882)</samp>](https://github.com/vitest-dev/vitest/commit/31882607c) - Global `sequence.concurrent: true` with top-level `test(..., { concurrent: false })` + depreacte `sequential` test API and options  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa), **Codex** and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;10196](https://github.com/vitest-dev/vitest/issues/10196) [<samp>(2847d)</samp>](https://github.com/vitest-dev/vitest/commit/2847dfa2a) - **browser**: Simplify orchestrator otel carrier  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;10285](https://github.com/vitest-dev/vitest/issues/10285) [<samp>(18af9)</samp>](https://github.com/vitest-dev/vitest/commit/18af98cee) #####    🏎 Performance - Stringify diff objects only once  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;10276](https://github.com/vitest-dev/vitest/issues/10276) [<samp>(9f7b1)</samp>](https://github.com/vitest-dev/vitest/commit/9f7b1528c) #####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6) ### [`v4.1.5`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.5) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.1.4...v4.1.5) #####    🚀 Experimental Features - **coverage**: Istanbul to support `instrumenter` option  -  by [@&#8203;BartWaardenburg](https://github.com/BartWaardenburg) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;10119](https://github.com/vitest-dev/vitest/issues/10119) [<samp>(0e0ff)</samp>](https://github.com/vitest-dev/vitest/commit/0e0ff41c7) #####    🐞 Bug Fixes - \--project negation excludes browser instances  -  by [@&#8203;felamaslen](https://github.com/felamaslen) in [#&#8203;10131](https://github.com/vitest-dev/vitest/issues/10131) [<samp>(9423d)</samp>](https://github.com/vitest-dev/vitest/commit/9423dc084) - Project color label on html reporter  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;10142](https://github.com/vitest-dev/vitest/issues/10142) [<samp>(596f7)</samp>](https://github.com/vitest-dev/vitest/commit/596f73986) - Fix `vi.defineHelper` called as object method  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;10163](https://github.com/vitest-dev/vitest/issues/10163) [<samp>(122c2)</samp>](https://github.com/vitest-dev/vitest/commit/122c25b5b) - Alias `agent` reporter to `minimal`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;10157](https://github.com/vitest-dev/vitest/issues/10157) [<samp>(663b9)</samp>](https://github.com/vitest-dev/vitest/commit/663b99fe3) - Respect diff config options in soft assertions  -  by [@&#8203;Copilot](https://github.com/Copilot), **sheremet-va** and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8696](https://github.com/vitest-dev/vitest/issues/8696) [<samp>(9787d)</samp>](https://github.com/vitest-dev/vitest/commit/9787dedad) - Respect diff config options in soft assertions "  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8696](https://github.com/vitest-dev/vitest/issues/8696) [<samp>(7dc6d)</samp>](https://github.com/vitest-dev/vitest/commit/7dc6d54fd) - **ast-collect**: Recognize \_*vi\_import* prefix in static test discovery  -  by [@&#8203;Yejneshwar](https://github.com/Yejneshwar) in [#&#8203;10129](https://github.com/vitest-dev/vitest/issues/10129) [<samp>(32546)</samp>](https://github.com/vitest-dev/vitest/commit/325463ab2) - **coverage**: Descriptive error message when reports directory is removed during test run  -  by [@&#8203;DaveT1991](https://github.com/DaveT1991) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;10117](https://github.com/vitest-dev/vitest/issues/10117) [<samp>(14133)</samp>](https://github.com/vitest-dev/vitest/commit/1413382e1) - **snapshot**: Increase default snapshot max output length  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Codex** in [#&#8203;10150](https://github.com/vitest-dev/vitest/issues/10150) [<samp>(21e66)</samp>](https://github.com/vitest-dev/vitest/commit/21e66ff63) - **ui**: Fix jsx/tsx syntax highlight  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;10152](https://github.com/vitest-dev/vitest/issues/10152) [<samp>(f1b1f)</samp>](https://github.com/vitest-dev/vitest/commit/f1b1f6c7b) - **web-worker**: Support MessagePort objects referenced inside postMessage data  -  by [@&#8203;whitphx](https://github.com/whitphx) and **Claude Opus 4.6 (1M context)** in [#&#8203;9927](https://github.com/vitest-dev/vitest/issues/9927) and [#&#8203;10124](https://github.com/vitest-dev/vitest/issues/10124) [<samp>(7ad7d)</samp>](https://github.com/vitest-dev/vitest/commit/7ad7d39af) - **api**: Make test-specification options writable  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;10154](https://github.com/vitest-dev/vitest/issues/10154) [<samp>(6abd5)</samp>](https://github.com/vitest-dev/vitest/commit/6abd557b7) #####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.4...v4.1.5) ### [`v4.1.4`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.4) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.1.3...v4.1.4) #####    🚀 Experimental Features - **coverage**: - Default to text reporter `skipFull` if agent detected  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;10018](https://github.com/vitest-dev/vitest/issues/10018) [<samp>(53757)</samp>](https://github.com/vitest-dev/vitest/commit/53757804c) - **experimental**: - Expose `assertion` as a public field  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;10095](https://github.com/vitest-dev/vitest/issues/10095) [<samp>(a120e)</samp>](https://github.com/vitest-dev/vitest/commit/a120e3ab8) - Support aria snapshot  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa), **Claude Opus 4.6 (1M context)**, [@&#8203;AriPerkkio](https://github.com/AriPerkkio), **Codex** and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9668](https://github.com/vitest-dev/vitest/issues/9668) [<samp>(d4fbb)</samp>](https://github.com/vitest-dev/vitest/commit/d4fbb5cc9) - **reporter**: - Add filterMeta option to json reporter  -  by [@&#8203;nami8824](https://github.com/nami8824) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;10078](https://github.com/vitest-dev/vitest/issues/10078) [<samp>(b77de)</samp>](https://github.com/vitest-dev/vitest/commit/b77de968e) #####    🐞 Bug Fixes - Use "black" foreground for labeled terminal message to ensure contrast  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;10076](https://github.com/vitest-dev/vitest/issues/10076) [<samp>(203f0)</samp>](https://github.com/vitest-dev/vitest/commit/203f07af7) - Make `expect(..., message)` consistent as error message prefix  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Codex** in [#&#8203;10068](https://github.com/vitest-dev/vitest/issues/10068) [<samp>(a1b5f)</samp>](https://github.com/vitest-dev/vitest/commit/a1b5f0f4f) - Do not hoist imports whose names match class properties .  -  by [@&#8203;SunsetFi](https://github.com/SunsetFi) in [#&#8203;10093](https://github.com/vitest-dev/vitest/issues/10093) and [#&#8203;10094](https://github.com/vitest-dev/vitest/issues/10094) [<samp>(0fc4b)</samp>](https://github.com/vitest-dev/vitest/commit/0fc4b47e0) - **browser**: Spread user server options into browser Vite server in project  -  by [@&#8203;GoldStrikeArch](https://github.com/GoldStrikeArch) in [#&#8203;10049](https://github.com/vitest-dev/vitest/issues/10049) [<samp>(65c9d)</samp>](https://github.com/vitest-dev/vitest/commit/65c9d55eb) #####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.3...v4.1.4) ### [`v4.1.3`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.3) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.1.2...v4.1.3) #####    🚀 Experimental Features - Add `experimental.preParse` flag  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;10070](https://github.com/vitest-dev/vitest/issues/10070) [<samp>(78273)</samp>](https://github.com/vitest-dev/vitest/commit/7827363bd) - Support `browser.locators.exact` option  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;10013](https://github.com/vitest-dev/vitest/issues/10013) [<samp>(48799)</samp>](https://github.com/vitest-dev/vitest/commit/487990a19) - Add `TestAttachment.bodyEncoding`  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9969](https://github.com/vitest-dev/vitest/issues/9969) [<samp>(89ca0)</samp>](https://github.com/vitest-dev/vitest/commit/89ca0e254) - Support custom snapshot matcher  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa), **Claude Sonnet 4.6** and **Codex** in [#&#8203;9973](https://github.com/vitest-dev/vitest/issues/9973) [<samp>(59b0e)</samp>](https://github.com/vitest-dev/vitest/commit/59b0e6411) #####    🐞 Bug Fixes - Advance fake timers with `expect.poll` interval  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Sonnet 4.6** in [#&#8203;10022](https://github.com/vitest-dev/vitest/issues/10022) [<samp>(3f5bf)</samp>](https://github.com/vitest-dev/vitest/commit/3f5bfa365) - Add `@vitest/coverage-v8` and `@vitest/coverage-istanbul` as optional dependency  -  by [@&#8203;alan-agius4](https://github.com/alan-agius4) in [#&#8203;10025](https://github.com/vitest-dev/vitest/issues/10025) [<samp>(146d4)</samp>](https://github.com/vitest-dev/vitest/commit/146d4f0a0) - Fix `defineHelper` for webkit async stack trace + update playwright 1.59.0  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;10036](https://github.com/vitest-dev/vitest/issues/10036) [<samp>(5a5fa)</samp>](https://github.com/vitest-dev/vitest/commit/5a5fa49fe) - Fix suite hook throwing errors for unused auto test-scoped fixture  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Sonnet 4.6** in [#&#8203;10035](https://github.com/vitest-dev/vitest/issues/10035) [<samp>(39865)</samp>](https://github.com/vitest-dev/vitest/commit/398657e8d) - **expect**: - Remove `JestExtendError.context` from verbose error reporting  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9983](https://github.com/vitest-dev/vitest/issues/9983) [<samp>(66751)</samp>](https://github.com/vitest-dev/vitest/commit/66751c9e8) - Don't leak "runner" types  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;10004](https://github.com/vitest-dev/vitest/issues/10004) [<samp>(ec204)</samp>](https://github.com/vitest-dev/vitest/commit/ec2045543) - **snapshot**: - Fix flagging obsolete snapshots for snapshot properties mismatch  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Sonnet 4.6** in [#&#8203;9986](https://github.com/vitest-dev/vitest/issues/9986) [<samp>(6b869)</samp>](https://github.com/vitest-dev/vitest/commit/6b869156b) - Export custom snapshot matcher helper from `vitest`  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Codex** in [#&#8203;10042](https://github.com/vitest-dev/vitest/issues/10042) [<samp>(691d3)</samp>](https://github.com/vitest-dev/vitest/commit/691d341fd) - **ui**: - Don't leak vite types  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;10005](https://github.com/vitest-dev/vitest/issues/10005) [<samp>(fdff1)</samp>](https://github.com/vitest-dev/vitest/commit/fdff1bf9a) - **vm**: - Fix external module resolve error with deps optimizer query  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Sonnet 4.6** in [#&#8203;10024](https://github.com/vitest-dev/vitest/issues/10024) [<samp>(9dbf4)</samp>](https://github.com/vitest-dev/vitest/commit/9dbf47786) #####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.2...v4.1.3) </details> <details> <summary>yarnpkg/berry (yarn)</summary> ### [`v4.18.0`](https://github.com/yarnpkg/berry/releases/tag/%40yarnpkg/cli/4.18.0): v4.18.0 [Compare Source](https://github.com/yarnpkg/berry/compare/5f35cc6538dcde61195d5e60fe3f13aaecf7f07e...923f69827c77fe5cf4f6c28c0cab3c02a256abf0) #### What's Changed - fix(nm): prefer direct dependency binaries by [@&#8203;ychampion](https://github.com/ychampion) in [#&#8203;7216](https://github.com/yarnpkg/berry/pull/7216) - fix: make sure hoistingLimits are not bypassed by [@&#8203;Knagis](https://github.com/Knagis) in [#&#8203;7189](https://github.com/yarnpkg/berry/pull/7189) - fix: preserve root path in tryWorkspaceByCwd when cwd is / by [@&#8203;quinise](https://github.com/quinise) in [#&#8203;7203](https://github.com/yarnpkg/berry/pull/7203) - perf(nm): avoid redundant package map sorting by [@&#8203;theKashey](https://github.com/theKashey) in [#&#8203;7223](https://github.com/yarnpkg/berry/pull/7223) - fix(extensions): declare the `typescript` peer for the Volar packages by [@&#8203;zkochan](https://github.com/zkochan) in [#&#8203;7232](https://github.com/yarnpkg/berry/pull/7232) - CI: Aggregate acceptance test matrix result by [@&#8203;clemyan](https://github.com/clemyan) in [#&#8203;7224](https://github.com/yarnpkg/berry/pull/7224) - Docs: fix catalog schema by [@&#8203;clemyan](https://github.com/clemyan) in [#&#8203;7220](https://github.com/yarnpkg/berry/pull/7220) - E2E: Fix most E2E tests by [@&#8203;clemyan](https://github.com/clemyan) in [#&#8203;7228](https://github.com/yarnpkg/berry/pull/7228) - docs: remove peerDependencies from catalog supported fields by [@&#8203;nomaanifesto](https://github.com/nomaanifesto) in [#&#8203;7230](https://github.com/yarnpkg/berry/pull/7230) - fix(plugin-npm): resolve "\*" to prereleases when no stable version exists by [@&#8203;arpitjain099](https://github.com/arpitjain099) in [#&#8203;7205](https://github.com/yarnpkg/berry/pull/7205) - Skip OTP prompts in non-TTY mode by [@&#8203;Andarist](https://github.com/Andarist) in [#&#8203;7209](https://github.com/yarnpkg/berry/pull/7209) - Version: Reimplement `yarn version` and `yarn version apply` by [@&#8203;clemyan](https://github.com/clemyan) in [#&#8203;7218](https://github.com/yarnpkg/berry/pull/7218) - feat: bump `js-yaml` to v4 by [@&#8203;JounQin](https://github.com/JounQin) in [#&#8203;6768](https://github.com/yarnpkg/berry/pull/6768) - chore(deps): upgrade `sigstore` to v4 by [@&#8203;mhassan1](https://github.com/mhassan1) in [#&#8203;7208](https://github.com/yarnpkg/berry/pull/7208) #### New Contributors - [@&#8203;ychampion](https://github.com/ychampion) made their first contribution in [#&#8203;7216](https://github.com/yarnpkg/berry/pull/7216) - [@&#8203;Knagis](https://github.com/Knagis) made their first contribution in [#&#8203;7189](https://github.com/yarnpkg/berry/pull/7189) - [@&#8203;quinise](https://github.com/quinise) made their first contribution in [#&#8203;7203](https://github.com/yarnpkg/berry/pull/7203) - [@&#8203;theKashey](https://github.com/theKashey) made their first contribution in [#&#8203;7223](https://github.com/yarnpkg/berry/pull/7223) - [@&#8203;nomaanifesto](https://github.com/nomaanifesto) made their first contribution in [#&#8203;7230](https://github.com/yarnpkg/berry/pull/7230) - [@&#8203;arpitjain099](https://github.com/arpitjain099) made their first contribution in [#&#8203;7205](https://github.com/yarnpkg/berry/pull/7205) - [@&#8203;JounQin](https://github.com/JounQin) made their first contribution in [#&#8203;6768](https://github.com/yarnpkg/berry/pull/6768) **Full Changelog**: <https://github.com/yarnpkg/berry/compare/@yarnpkg/cli/4.17.1...@&#8203;yarnpkg/cli/4.18.0> ### [`v4.17.1`](https://github.com/yarnpkg/berry/releases/tag/%40yarnpkg/cli/4.17.1): v4.17.1 [Compare Source](https://github.com/yarnpkg/berry/compare/2d9ef22423bee7824327272ebdd60f336a3cf82c...5f35cc6538dcde61195d5e60fe3f13aaecf7f07e) #### What's Changed - Handle optional compat patch failures for TypeScript 7 by [@&#8203;hamidrezahanafi](https://github.com/hamidrezahanafi) in [#&#8203;7190](https://github.com/yarnpkg/berry/pull/7190) #### New Contributors - [@&#8203;hamidrezahanafi](https://github.com/hamidrezahanafi) made their first contribution in [#&#8203;7190](https://github.com/yarnpkg/berry/pull/7190) **Full Changelog**: <https://github.com/yarnpkg/berry/compare/@yarnpkg/cli/4.17.0...@&#8203;yarnpkg/cli/4.17.1> ### [`v4.17.0`](https://github.com/yarnpkg/berry/releases/tag/%40yarnpkg/cli/4.17.0): v4.17.0 [Compare Source](https://github.com/yarnpkg/berry/compare/5761b03feb2146da8ce8cefeba6482f3cb6edb79...2d9ef22423bee7824327272ebdd60f336a3cf82c) #### What's Changed - Adds support for package map generation by [@&#8203;arcanis](https://github.com/arcanis) in [#&#8203;7184](https://github.com/yarnpkg/berry/pull/7184) - fix: add catalog settings to yarnrc schema by [@&#8203;cyphercodes](https://github.com/cyphercodes) in [#&#8203;7179](https://github.com/yarnpkg/berry/pull/7179) - docs: clarify background job exit codes by [@&#8203;StantonMatt](https://github.com/StantonMatt) in [#&#8203;7167](https://github.com/yarnpkg/berry/pull/7167) - fix: explain peer-default dependencies in why by [@&#8203;StantonMatt](https://github.com/StantonMatt) in [#&#8203;7168](https://github.com/yarnpkg/berry/pull/7168) - Docs: fix npmMinimalAgeGate default by [@&#8203;clemyan](https://github.com/clemyan) in [#&#8203;7181](https://github.com/yarnpkg/berry/pull/7181) - feat(plugin-npm): allow npmMinimalAgeGate per npmScope by [@&#8203;erlandasz](https://github.com/erlandasz) in [#&#8203;7156](https://github.com/yarnpkg/berry/pull/7156) #### New Contributors - [@&#8203;cyphercodes](https://github.com/cyphercodes) made their first contribution in [#&#8203;7179](https://github.com/yarnpkg/berry/pull/7179) - [@&#8203;StantonMatt](https://github.com/StantonMatt) made their first contribution in [#&#8203;7167](https://github.com/yarnpkg/berry/pull/7167) - [@&#8203;erlandasz](https://github.com/erlandasz) made their first contribution in [#&#8203;7156](https://github.com/yarnpkg/berry/pull/7156) **Full Changelog**: <https://github.com/yarnpkg/berry/compare/@yarnpkg/cli/4.16.0...@&#8203;yarnpkg/cli/4.17.0> ### [`v4.16.0`](https://github.com/yarnpkg/berry/releases/tag/%40yarnpkg/cli/4.16.0): v4.16.0 [Compare Source](https://github.com/yarnpkg/berry/compare/1c018491889b40f4f36d36dee2c7a9032fb862d9...5761b03feb2146da8ce8cefeba6482f3cb6edb79) #### What's Changed - PnP: Include Node 22.22.3 in fstat workaround by [@&#8203;junjuny0227](https://github.com/junjuny0227) in [#&#8203;7141](https://github.com/yarnpkg/berry/pull/7141) - Implements yarn npm stage by [@&#8203;arcanis](https://github.com/arcanis) in [#&#8203;7147](https://github.com/yarnpkg/berry/pull/7147) - fix: Stop using EBADF workaround for Node 24.16.0+ by [@&#8203;MJDSys](https://github.com/MJDSys) in [#&#8203;7152](https://github.com/yarnpkg/berry/pull/7152) - Bumps eslint-plugin-arca by [@&#8203;arcanis](https://github.com/arcanis) in [#&#8203;7163](https://github.com/yarnpkg/berry/pull/7163) - Enables staged publishing by [@&#8203;arcanis](https://github.com/arcanis) in [#&#8203;7164](https://github.com/yarnpkg/berry/pull/7164) - feat: Add editor SDK support for oxc (oxfmt & oxlint) by [@&#8203;slainless](https://github.com/slainless) in [#&#8203;7078](https://github.com/yarnpkg/berry/pull/7078) - docs: fix npmMinimalAgeGate default value. by [@&#8203;ryanfox1985](https://github.com/ryanfox1985) in [#&#8203;7125](https://github.com/yarnpkg/berry/pull/7125) #### New Contributors - [@&#8203;junjuny0227](https://github.com/junjuny0227) made their first contribution in [#&#8203;7141](https://github.com/yarnpkg/berry/pull/7141) - [@&#8203;MJDSys](https://github.com/MJDSys) made their first contribution in [#&#8203;7152](https://github.com/yarnpkg/berry/pull/7152) - [@&#8203;slainless](https://github.com/slainless) made their first contribution in [#&#8203;7078](https://github.com/yarnpkg/berry/pull/7078) - [@&#8203;ryanfox1985](https://github.com/ryanfox1985) made their first contribution in [#&#8203;7125](https://github.com/yarnpkg/berry/pull/7125) **Full Changelog**: <https://github.com/yarnpkg/berry/compare/@yarnpkg/cli/4.15.0...@&#8203;yarnpkg/cli/4.16.0> ### [`v4.15.0`](https://github.com/yarnpkg/berry/releases/tag/%40yarnpkg/cli/4.15.0): v4.15.0 [Compare Source](https://github.com/yarnpkg/berry/compare/72b4aa5d62a6c42dc765710ea66b6dd0f63f4941...1c018491889b40f4f36d36dee2c7a9032fb862d9) #### What's Changed - Fix Next.JS e2e test by [@&#8203;brandonbothell](https://github.com/brandonbothell) in [#&#8203;7115](https://github.com/yarnpkg/berry/pull/7115) - perf(plugin-nm): cache install state across workspaces by [@&#8203;sophiebits](https://github.com/sophiebits) in [#&#8203;7126](https://github.com/yarnpkg/berry/pull/7126) - fix(patch) Correctly handle Unicode paths by [@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu) in [#&#8203;7123](https://github.com/yarnpkg/berry/pull/7123) - fix(plugin-npm-cli): enable OIDC publish on CircleCI by [@&#8203;joshuayoes](https://github.com/joshuayoes) in [#&#8203;7122](https://github.com/yarnpkg/berry/pull/7122) - fix(core): ignore legacy YARN\_IGNORE\_SCRIPTS env var by [@&#8203;KimHyeongRae0](https://github.com/KimHyeongRae0) in [#&#8203;7120](https://github.com/yarnpkg/berry/pull/7120) - fix: Reject dependency names with leading/trailing whitespace (fixes duplicate installs) by [@&#8203;muskaanshraogi](https://github.com/muskaanshraogi) in [#&#8203;7124](https://github.com/yarnpkg/berry/pull/7124) - feat(plugin-pnpm): make pnpm install concurrency configurable by [@&#8203;lennartschoch](https://github.com/lennartschoch) in [#&#8203;7118](https://github.com/yarnpkg/berry/pull/7118) - PnP: Stop using EDABF solution for Node 26.1.0+ by [@&#8203;clemyan](https://github.com/clemyan) in [#&#8203;7133](https://github.com/yarnpkg/berry/pull/7133) - Makes `npmMinimalAgeGate: 1d` the default by [@&#8203;arcanis](https://github.com/arcanis) in [#&#8203;7135](https://github.com/yarnpkg/berry/pull/7135) #### New Contributors - [@&#8203;brandonbothell](https://github.com/brandonbothell) made their first contribution in [#&#8203;7115](https://github.com/yarnpkg/berry/pull/7115) - [@&#8203;sophiebits](https://github.com/sophiebits) made their first contribution in [#&#8203;7126](https://github.com/yarnpkg/berry/pull/7126) - [@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu) made their first contribution in [#&#8203;7123](https://github.com/yarnpkg/berry/pull/7123) - [@&#8203;joshuayoes](https://github.com/joshuayoes) made their first contribution in [#&#8203;7122](https://github.com/yarnpkg/berry/pull/7122) - [@&#8203;KimHyeongRae0](https://github.com/KimHyeongRae0) made their first contribution in [#&#8203;7120](https://github.com/yarnpkg/berry/pull/7120) - [@&#8203;muskaanshraogi](https://github.com/muskaanshraogi) made their first contribution in [#&#8203;7124](https://github.com/yarnpkg/berry/pull/7124) - [@&#8203;lennartschoch](https://github.com/lennartschoch) made their first contribution in [#&#8203;7118](https://github.com/yarnpkg/berry/pull/7118) **Full Changelog**: <https://github.com/yarnpkg/berry/compare/@yarnpkg/cli/4.14.1...@&#8203;yarnpkg/cli/4.15.0> ### [`v4.14.1`](https://github.com/yarnpkg/berry/releases/tag/%40yarnpkg/cli/4.14.1): v4.14.1 [Compare Source](https://github.com/yarnpkg/berry/compare/38ebf0014ba8c0356168d4bbd23c09dbb2bdc9ba...72b4aa5d62a6c42dc765710ea66b6dd0f63f4941) #### What's Changed - fix: Widen EBADF fstat version gate to include Node 24.15+ by [@&#8203;rfoel](https://github.com/rfoel) in [#&#8203;7104](https://github.com/yarnpkg/berry/pull/7104) #### New Contributors - [@&#8203;rfoel](https://github.com/rfoel) made their first contribution in [#&#8203;7104](https://github.com/yarnpkg/berry/pull/7104) **Full Changelog**: <https://github.com/yarnpkg/berry/compare/@yarnpkg/cli/4.14.0...@&#8203;yarnpkg/cli/4.14.1> ### [`v4.14.0`](https://github.com/yarnpkg/berry/releases/tag/%40yarnpkg/cli/4.14.0): v4.14.0 [Compare Source](https://github.com/yarnpkg/berry/compare/81f3e15d2b6259cb64245411220fa1bf61242526...38ebf0014ba8c0356168d4bbd23c09dbb2bdc9ba) #### What's Changed - Add Re-release workflow to republish artifacts from a specific commit SHA by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;7079](https://github.com/yarnpkg/berry/pull/7079) - fix: Node 25.7+ EBADF by reading CJS source of zip files by [@&#8203;NormalGaussian](https://github.com/NormalGaussian) in [#&#8203;7070](https://github.com/yarnpkg/berry/pull/7070) - PnP: Fix watch mode for files `require`d under PnP by [@&#8203;clemyan](https://github.com/clemyan) in [#&#8203;7077](https://github.com/yarnpkg/berry/pull/7077) - feat(plugin-npm): support OIDC auth for CircleCI by [@&#8203;blimmer](https://github.com/blimmer) in [#&#8203;7075](https://github.com/yarnpkg/berry/pull/7075) - Makes `enableScripts: false` the default by [@&#8203;arcanis](https://github.com/arcanis) in [#&#8203;7089](https://github.com/yarnpkg/berry/pull/7089) - Makes the `exec:` protocol respect `enableScripts` by [@&#8203;arcanis](https://github.com/arcanis) in [#&#8203;7090](https://github.com/yarnpkg/berry/pull/7090) - Adds `approvedGitRepositories` by [@&#8203;arcanis](https://github.com/arcanis) in [#&#8203;7091](https://github.com/yarnpkg/berry/pull/7091) - Fix: Names the Experimental ESM support warning by [@&#8203;NormalGaussian](https://github.com/NormalGaussian) in [#&#8203;7069](https://github.com/yarnpkg/berry/pull/7069) - feat(why): allow specifying a version or range by [@&#8203;remypar5](https://github.com/remypar5) in [#&#8203;6992](https://github.com/yarnpkg/berry/pull/6992) #### New Contributors - [@&#8203;Copilot](https://github.com/Copilot) made their first contribution in [#&#8203;7079](https://github.com/yarnpkg/berry/pull/7079) - [@&#8203;NormalGaussian](https://github.com/NormalGaussian) made their first contribution in [#&#8203;7070](https://github.com/yarnpkg/berry/pull/7070) - [@&#8203;remypar5](https://github.com/remypar5) made their first contribution in [#&#8203;6992](https://github.com/yarnpkg/berry/pull/6992) **Full Changelog**: <https://github.com/yarnpkg/berry/compare/@yarnpkg/cli/4.13.0...@&#8203;yarnpkg/cli/4.14.0> </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:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzIuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjE3LjMiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
renovate-bot force-pushed renovate/minor from 991c822f2d to 7731a4c8d7 2026-05-03 22:13:20 -04:00 Compare
renovate-bot force-pushed renovate/minor from 7731a4c8d7 to 558035b53a 2026-05-04 05:14:04 -04:00 Compare
renovate-bot force-pushed renovate/minor from 558035b53a to 587fa1d358 2026-05-11 05:14:06 -04:00 Compare
renovate-bot force-pushed renovate/minor from 587fa1d358 to aaf51c0940 2026-05-18 05:14:22 -04:00 Compare
renovate-bot force-pushed renovate/minor from aaf51c0940 to 924ffa5dcc 2026-06-15 05:14:33 -04:00 Compare
renovate-bot force-pushed renovate/minor from 924ffa5dcc to 571f8c7fdd 2026-06-29 05:14:28 -04:00 Compare
renovate-bot force-pushed renovate/minor from 571f8c7fdd to 902b6a8862 2026-07-06 05:14:40 -04:00 Compare
renovate-bot force-pushed renovate/minor from 902b6a8862 to 21ab8a6d33 2026-08-03 05:14:52 -04:00 Compare
renovate-bot added 1 commit 2026-08-10 05:15:05 -04:00
chore(deps): update all-minor-updates
Build and Push Docker Image / build (pull_request) Failing after 50s
17fc3b3030
renovate-bot force-pushed renovate/minor from 21ab8a6d33 to 17fc3b3030 2026-08-10 05:15:05 -04:00 Compare
Some required checks failed
Build and Push Docker Image / build (pull_request) Failing after 50s
You are not authorized to merge this pull request.
This pull request can be merged automatically.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/minor:renovate/minor
git checkout renovate/minor
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: lucasoskorep/mta-sign#9