Update all non-major dependencies #14

Open
andras wants to merge 1 commit from renovate/all into main
Owner

This PR contains the following updates:

Package Type Update Change
@angular/build devDependencies patch 21.2.13 → 21.2.29
@angular/cdk dependencies patch 21.2.13 → 21.2.14
@angular/cli devDependencies patch 21.2.13 → 21.2.29
@angular/common (source) dependencies patch 21.2.14 → 21.2.26
@angular/compiler (source) dependencies patch 21.2.14 → 21.2.26
@angular/compiler-cli (source) devDependencies patch 21.2.14 → 21.2.26
@angular/core (source) dependencies patch 21.2.14 → 21.2.26
@angular/forms (source) dependencies patch 21.2.14 → 21.2.26
@angular/platform-browser (source) dependencies patch 21.2.14 → 21.2.26
@angular/service-worker (source) dependencies patch 21.2.14 → 21.2.26
@plausible-analytics/tracker (source) dependencies patch 0.4.5 → 0.4.7
@playwright/test (source) devDependencies minor 1.60.0 → 1.64.1
@vitest/coverage-v8 (source) devDependencies patch 4.1.7 → 4.1.12
eslint (source) devDependencies minor 10.4.0 → 10.14.0
npm (source) packageManager patch 10.9.2 → 10.9.9
prettier (source) devDependencies minor 3.8.3 → 3.9.10
python (source) final minor 3.13-slim → 3.15-slim
tslib (source) dependencies minor 2.8.1 → 2.9.1
typescript-eslint (source) devDependencies minor 8.59.2 → 8.72.1
vitest (source) devDependencies patch 4.1.7 → 4.1.12

Release Notes

angular/angular-cli (@​angular/build)

v21.2.29

Compare Source

@​angular-devkit/build-angular
Commit Type Description
3fc679987f fix update webpack-dev-middleware to 7.4.6
@​angular/build
Commit Type Description
aa2ecc154e fix bump undici to 7.30.1
18164667c7 fix escape prerender redirect URLs
8ad2547911 fix serialize server manifest asset paths

v21.2.28

Compare Source

@​angular/cli
Commit Type Description
225d00adb4 fix bump @​modelcontextprotocol/sdk to 1.32.1
@​angular-devkit/build-angular
Commit Type Description
651d1d293d fix update webpack to 5.112.0
@​angular/build
Commit Type Description
a081d8b6db fix bump vite to 7.3.7

v21.2.27

Compare Source

@​angular/cli
Commit Type Description
2e1742adf fix update zod to 4.6.6

v21.2.26

Compare Source

@​angular/cli
Commit Type Description
9d2987f354 fix bump @​modelcontextprotocol/sdk to 1.31.0

v21.2.25

Compare Source

@​angular/build
Commit Type Description
7e6d2da084 fix bump piscina to 5.3.2

v21.2.24

Compare Source

@​angular/build
Commit Type Description
dbaadc2f6e fix update undici to 7.29.1

v21.2.23

Compare Source

@​angular-devkit/build-angular
Commit Type Description
d3aaa48ef fix update less to 4.9.0
@​angular/ssr
Commit Type Description
645e41a47 fix ensure public directory containment in CommonEngine

v21.2.22

Compare Source

@​angular-devkit/build-angular
Commit Type Description
b0047b04f5 fix update webpack-dev-server to 5.2.6

v21.2.21

Compare Source

@​angular/cli
Commit Type Description
ba5d16cac fix update dependency @​modelcontextprotocol/sdk to v1.30.0
@​angular/build
Commit Type Description
f7f60e69e fix bump undici to 7.29.0

v21.2.20

Compare Source

@​angular-devkit/build-angular
Commit Type Description
972f6db7e9 fix upgrade postcss to 8.5.23
@​angular/build
Commit Type Description
8de75ada50 fix upgrade postcss to 8.5.23

v21.2.19

Compare Source

@​angular-devkit/build-angular
Commit Type Description
df5429871 fix update http-proxy-middleware to 3.0.7

v21.2.18

Compare Source

@​angular/cli
Commit Type Description
61a810ab6 fix respect release age policy in update bootstrapping logic
@​angular/build
Commit Type Description
a2b6116ed fix bump undici to 7.28.0
2510ee3c9 fix bump vite to 7.3.6

v21.2.17

Compare Source

@​angular/build
Commit Type Description
9c366e8be fix bump @​babel/core to 7.29.7
6a06ce9e9 fix bump esbuild to 0.28.1
637b84877 fix bump piscina to 5.2.0
e86d58a12 fix bump vite to 7.3.5

v21.2.16

Compare Source

@​angular/cli
Commit Type Description
77c9047ac fix update pacote to 21.5.1
@​angular/ssr
Commit Type Description
d052e97da fix prioritize options over environment variables in AngularNodeAppEngine

v21.2.15

Compare Source

@​angular/cli
Commit Type Description
42ac0ed0f fix remove forceAuth and unscoped credential parsing
c7a7f1955 fix support registry metadata fetching under bun package manager

v21.2.14

Compare Source

@​angular/cli
Commit Type Description
aed448748 fix expand package groups for newly added peer dependencies in update schematic
@​angular/build
Commit Type Description
d46c082fb fix prevent esbuild service child process leakage
angular/components (@​angular/cdk)

v21.2.14

Compare Source

No user facing changes in this release

angular/angular (@​angular/common)

v21.2.26

Compare Source

upgrade
Commit Type Description
bc74d72035 fix only compile the template contents of a downgraded component

v21.2.25

Compare Source

platform-server
Commit Type Description
450af9c813 fix reject protocol-relative paths in resolveUrl
router
Commit Type Description
4bc11a546b fix do not copy URL-sized objects into every route snapshot
6489ca5d84 fix reject duplicate outlets in production builds
a83f8119ac fix require outlets to match a route before processing child segments
a131f77d92 perf do not retain UrlTree instances in RouterLink

v21.2.24

Compare Source

router
Commit Type Description
03872a80bc fix avoid dense elements allocation for numeric URL keys

v21.2.23

Compare Source

platform-server
Commit Type Description
fc2e8fbc0b fix update domino to latest version

v21.2.22

Compare Source

platform-server
Commit Type Description
5aa6d97deb fix avoid stripping unicode whitespace during url resolution
73d8bbd27c fix update domino to latest version

v21.2.21

Compare Source

platform-browser
Commit Type Description
c19a36c2fb fix disallow event handler attributes in Meta

v21.2.20

Compare Source

core
Commit Type Description
6afe6fa781 fix sanitize host bindings on concrete hosts
http
Commit Type Description
fec5977df4 fix match header values exactly when deleting
e33d69a71c fix preserve immutability of materialized clones
caf616670f fix run root interceptors in the terminal request chain

v21.2.19

Compare Source

compiler
Commit Type Description
e2660c3dee fix disallow i18n event attributes
7b884f585a fix restrict possible event handler check to property names longer than 2 characters
http
Commit Type Description
948a8d6831 fix distinguish repeated transfer cache params
9949dccce1 fix enable xsrf for root-provided HttpClient
platform-server
Commit Type Description
f34a93c946 fix update domino to latest version

v21.2.18

Compare Source

compiler-cli
Commit Type Description
8d22cc953b fix update babel dependencies to latest v7
core
Commit Type Description
6bcce117fb fix avoid caching missing locale data
5a693bafcd fix reject dynamic script host elements
http
Commit Type Description
91df739b80 fix prevent caching of responses with Set-Cookie headers
service-worker
Commit Type Description
1804f73bec fix preserve referrer in asset requests
e86c31bf26 fix preserve referrer policy in asset requests

v21.2.17

Compare Source

Deprecations

platform-server
  • XHR support in @angular/platform-server is deprecated. Use standard fetch APIs instead.
common
Commit Type Description
86a56dc279 fix Limits date format string length
d846326b07 fix skip transfer cache for uncacheable HTTP traffic
bc55749698 fix use cryptographically secure SHA-256 for transfer cache key generation
compiler
Commit Type Description
dc9c99636d fix sanitize two-way properties
core
Commit Type Description
1523061137 fix harden TransferState restoration against DOM clobbering
88832c84f8 fix validate lowercase SVG animation attribute names (#​69269)
http
Commit Type Description
bcb1b7ea25 fix preserve empty referrer option in HttpRequest
a810a319d1 fix Rejects non-HTTP(S) URLs in JSONP requests
e245d40c4d fix skip transfer cache for fetch credentialed requests
platform-server
Commit Type Description
35510746b7 fix harden platform location origin validation during SSR
13fb0afe93 refactor deprecate ServerXhr (#​69255)
service-worker
Commit Type Description
b9d29381bb fix Strips sensitive headers on cross-origin redirects

v21.2.16

Compare Source

common
Commit Type Description
f6d8e642b0 fix only strip a literal /index.html suffix from URLs
compiler
Commit Type Description
ae1c8a1f7a fix move projection attributes into constants
core
Commit Type Description
3fd6897a67 fix harden inherit definition feature against polluted prototypes
7e38336dc7 fix use Object.create(null) for LOCALE_DATA as a hardening measure
platform-server
Commit Type Description
66821c4ed5 fix throw on suspicious URLs and restrict protocol-relative URLs
d3170031b6 fix update domino to latest version

v21.2.15

Compare Source

common
Commit Type Description
7f4ac78994 fix add upper bounds for digitsInfo
300f61feb3 fix sanitize placeholder
compiler
Commit Type Description
0b07f47bd6 fix normalize tag names with custom namespaces in DomElementSchemaRegistry (#​68925)
eb1cbbf2eb fix prevent namespaced SVG
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@angular/build](https://github.com/angular/angular-cli) | devDependencies | patch | [`21.2.13` → `21.2.29`](https://renovatebot.com/diffs/npm/@angular%2fbuild/21.2.13/21.2.29) | | [@angular/cdk](https://github.com/angular/components) | dependencies | patch | [`21.2.13` → `21.2.14`](https://renovatebot.com/diffs/npm/@angular%2fcdk/21.2.13/21.2.14) | | [@angular/cli](https://github.com/angular/angular-cli) | devDependencies | patch | [`21.2.13` → `21.2.29`](https://renovatebot.com/diffs/npm/@angular%2fcli/21.2.13/21.2.29) | | [@angular/common](https://github.com/angular/angular) ([source](https://github.com/angular/angular/tree/HEAD/packages/common)) | dependencies | patch | [`21.2.14` → `21.2.26`](https://renovatebot.com/diffs/npm/@angular%2fcommon/21.2.14/21.2.26) | | [@angular/compiler](https://github.com/angular/angular) ([source](https://github.com/angular/angular/tree/HEAD/packages/compiler)) | dependencies | patch | [`21.2.14` → `21.2.26`](https://renovatebot.com/diffs/npm/@angular%2fcompiler/21.2.14/21.2.26) | | [@angular/compiler-cli](https://github.com/angular/angular/tree/main/packages/compiler-cli) ([source](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli)) | devDependencies | patch | [`21.2.14` → `21.2.26`](https://renovatebot.com/diffs/npm/@angular%2fcompiler-cli/21.2.14/21.2.26) | | [@angular/core](https://github.com/angular/angular) ([source](https://github.com/angular/angular/tree/HEAD/packages/core)) | dependencies | patch | [`21.2.14` → `21.2.26`](https://renovatebot.com/diffs/npm/@angular%2fcore/21.2.14/21.2.26) | | [@angular/forms](https://github.com/angular/angular) ([source](https://github.com/angular/angular/tree/HEAD/packages/forms)) | dependencies | patch | [`21.2.14` → `21.2.26`](https://renovatebot.com/diffs/npm/@angular%2fforms/21.2.14/21.2.26) | | [@angular/platform-browser](https://github.com/angular/angular) ([source](https://github.com/angular/angular/tree/HEAD/packages/platform-browser)) | dependencies | patch | [`21.2.14` → `21.2.26`](https://renovatebot.com/diffs/npm/@angular%2fplatform-browser/21.2.14/21.2.26) | | [@angular/service-worker](https://github.com/angular/angular) ([source](https://github.com/angular/angular/tree/HEAD/packages/service-worker)) | dependencies | patch | [`21.2.14` → `21.2.26`](https://renovatebot.com/diffs/npm/@angular%2fservice-worker/21.2.14/21.2.26) | | [@plausible-analytics/tracker](https://plausible.io) ([source](https://github.com/plausible/analytics)) | dependencies | patch | [`0.4.5` → `0.4.7`](https://renovatebot.com/diffs/npm/@plausible-analytics%2ftracker/0.4.5/0.4.7) | | [@playwright/test](https://playwright.dev) ([source](https://github.com/microsoft/playwright)) | devDependencies | minor | [`1.60.0` → `1.64.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.60.0/1.64.1) | | [@vitest/coverage-v8](https://vitest.dev/guide/coverage) ([source](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8)) | devDependencies | patch | [`4.1.7` → `4.1.12`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-v8/4.1.7/4.1.12) | | [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | minor | [`10.4.0` → `10.14.0`](https://renovatebot.com/diffs/npm/eslint/10.4.0/10.14.0) | | [npm](https://docs.npmjs.com/) ([source](https://github.com/npm/cli)) | packageManager | patch | [`10.9.2` → `10.9.9`](https://renovatebot.com/diffs/npm/npm/10.9.2/10.9.9) | | [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | devDependencies | minor | [`3.8.3` → `3.9.10`](https://renovatebot.com/diffs/npm/prettier/3.8.3/3.9.10) | | [python](https://hub.docker.com/_/python) ([source](https://github.com/docker-library/python)) | final | minor | `3.13-slim` → `3.15-slim` | | [tslib](https://www.typescriptlang.org/) ([source](https://github.com/Microsoft/tslib)) | dependencies | minor | [`2.8.1` → `2.9.1`](https://renovatebot.com/diffs/npm/tslib/2.8.1/2.9.1) | | [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | devDependencies | minor | [`8.59.2` → `8.72.1`](https://renovatebot.com/diffs/npm/typescript-eslint/8.59.2/8.72.1) | | [vitest](https://vitest.dev) ([source](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | devDependencies | patch | [`4.1.7` → `4.1.12`](https://renovatebot.com/diffs/npm/vitest/4.1.7/4.1.12) | --- ### Release Notes <details> <summary>angular/angular-cli (@&#8203;angular/build)</summary> ### [`v21.2.29`](https://github.com/angular/angular-cli/blob/HEAD/CHANGELOG.md#21229-2026-10-28) [Compare Source](https://github.com/angular/angular-cli/compare/v21.2.28...v21.2.29) ##### [@&#8203;angular-devkit/build-angular](https://github.com/angular-devkit/build-angular) | Commit | Type | Description | | ---------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------ | | [3fc679987f](https://github.com/angular/angular-cli/commit/3fc679987f0414a2c490d1a35ffba3f945363c98) | fix | update `webpack-dev-middleware` to `7.4.6` | ##### [@&#8203;angular/build](https://github.com/angular/build) | Commit | Type | Description | | ---------------------------------------------------------------------------------------------------- | ---- | ------------------------------------- | | [aa2ecc154e](https://github.com/angular/angular-cli/commit/aa2ecc154e7fb591afc2e1789a4094644828f246) | fix | bump undici to 7.30.1 | | [18164667c7](https://github.com/angular/angular-cli/commit/18164667c729cf0f51f027b88a256ce029482112) | fix | escape prerender redirect URLs | | [8ad2547911](https://github.com/angular/angular-cli/commit/8ad25479115b77347ec6044e03a92dfbf2b05203) | fix | serialize server manifest asset paths | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.28`](https://github.com/angular/angular-cli/blob/HEAD/CHANGELOG.md#21228-2026-10-22) [Compare Source](https://github.com/angular/angular-cli/compare/v21.2.27...v21.2.28) ##### [@&#8203;angular/cli](https://github.com/angular/cli) | Commit | Type | Description | | ---------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------------------------------- | | [225d00adb4](https://github.com/angular/angular-cli/commit/225d00adb469a23a8b14bb33dff9a14595f8ca8c) | fix | bump [@&#8203;modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/sdk) to 1.32.1 | ##### [@&#8203;angular-devkit/build-angular](https://github.com/angular-devkit/build-angular) | Commit | Type | Description | | ---------------------------------------------------------------------------------------------------- | ---- | ------------------------- | | [651d1d293d](https://github.com/angular/angular-cli/commit/651d1d293dd47454d76f2f7ddbc70f7a5607366b) | fix | update webpack to 5.112.0 | ##### [@&#8203;angular/build](https://github.com/angular/build) | Commit | Type | Description | | ---------------------------------------------------------------------------------------------------- | ---- | ------------------ | | [a081d8b6db](https://github.com/angular/angular-cli/commit/a081d8b6dbef26d33cb22b4b40c9a843a2b87047) | fix | bump vite to 7.3.7 | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.27`](https://github.com/angular/angular-cli/blob/HEAD/CHANGELOG.md#21227-2026-10-14) [Compare Source](https://github.com/angular/angular-cli/compare/v21.2.26...v21.2.27) ##### [@&#8203;angular/cli](https://github.com/angular/cli) | Commit | Type | Description | | --------------------------------------------------------------------------------------------------- | ---- | ------------------- | | [2e1742adf](https://github.com/angular/angular-cli/commit/2e1742adf28645635bb6cff3cc08ad9c94c7d085) | fix | update zod to 4.6.6 | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.26`](https://github.com/angular/angular-cli/blob/HEAD/CHANGELOG.md#21226-2026-10-07) [Compare Source](https://github.com/angular/angular-cli/compare/v21.2.25...v21.2.26) ##### [@&#8203;angular/cli](https://github.com/angular/cli) | Commit | Type | Description | | ---------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------------------------------- | | [9d2987f354](https://github.com/angular/angular-cli/commit/9d2987f354df7718ec76992cf28a0ab6cbf96539) | fix | bump [@&#8203;modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/sdk) to 1.31.0 | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.25`](https://github.com/angular/angular-cli/blob/HEAD/CHANGELOG.md#21225-2026-10-05) [Compare Source](https://github.com/angular/angular-cli/compare/v21.2.24...v21.2.25) ##### [@&#8203;angular/build](https://github.com/angular/build) | Commit | Type | Description | | ---------------------------------------------------------------------------------------------------- | ---- | --------------------- | | [7e6d2da084](https://github.com/angular/angular-cli/commit/7e6d2da08406f240b18b1d7e692cad27f29af314) | fix | bump piscina to 5.3.2 | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.24`](https://github.com/angular/angular-cli/blob/HEAD/CHANGELOG.md#21224-2026-09-10) [Compare Source](https://github.com/angular/angular-cli/compare/v21.2.23...v21.2.24) ##### [@&#8203;angular/build](https://github.com/angular/build) | Commit | Type | Description | | ---------------------------------------------------------------------------------------------------- | ---- | ----------------------- | | [dbaadc2f6e](https://github.com/angular/angular-cli/commit/dbaadc2f6e73b611e292b3337066fd5b3b631397) | fix | update undici to 7.29.1 | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.23`](https://github.com/angular/angular-cli/blob/HEAD/CHANGELOG.md#21223-2026-09-02) [Compare Source](https://github.com/angular/angular-cli/compare/v21.2.22...v21.2.23) ##### [@&#8203;angular-devkit/build-angular](https://github.com/angular-devkit/build-angular) | Commit | Type | Description | | --------------------------------------------------------------------------------------------------- | ---- | -------------------- | | [d3aaa48ef](https://github.com/angular/angular-cli/commit/d3aaa48ef35b80c3297ee3050cd239f84d051899) | fix | update less to 4.9.0 | ##### [@&#8203;angular/ssr](https://github.com/angular/ssr) | Commit | Type | Description | | --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------- | | [645e41a47](https://github.com/angular/angular-cli/commit/645e41a47d21b7651837a4250de99af0509626e2) | fix | ensure public directory containment in CommonEngine | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.22`](https://github.com/angular/angular-cli/blob/HEAD/CHANGELOG.md#21222-2026-08-26) [Compare Source](https://github.com/angular/angular-cli/compare/v21.2.21...v21.2.22) ##### [@&#8203;angular-devkit/build-angular](https://github.com/angular-devkit/build-angular) | Commit | Type | Description | | ---------------------------------------------------------------------------------------------------- | ---- | ---------------------------------- | | [b0047b04f5](https://github.com/angular/angular-cli/commit/b0047b04f56f5cb3fb8e4465ba0fad777497144a) | fix | update webpack-dev-server to 5.2.6 | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.21`](https://github.com/angular/angular-cli/blob/HEAD/CHANGELOG.md#21221-2026-08-12) [Compare Source](https://github.com/angular/angular-cli/compare/v21.2.20...v21.2.21) ##### [@&#8203;angular/cli](https://github.com/angular/cli) | Commit | Type | Description | | --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------------------------------- | | [ba5d16cac](https://github.com/angular/angular-cli/commit/ba5d16cacab4139897d1f0cf4161562b1bd00553) | fix | update dependency [@&#8203;modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/sdk) to v1.30.0 | ##### [@&#8203;angular/build](https://github.com/angular/build) | Commit | Type | Description | | --------------------------------------------------------------------------------------------------- | ---- | --------------------- | | [f7f60e69e](https://github.com/angular/angular-cli/commit/f7f60e69e77cda60378543a9ca9cc2c76c0bf34f) | fix | bump undici to 7.29.0 | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.20`](https://github.com/angular/angular-cli/blob/HEAD/CHANGELOG.md#21220-2026-08-05) [Compare Source](https://github.com/angular/angular-cli/compare/v21.2.19...v21.2.20) ##### [@&#8203;angular-devkit/build-angular](https://github.com/angular-devkit/build-angular) | Commit | Type | Description | | ---------------------------------------------------------------------------------------------------- | ---- | ------------------------- | | [972f6db7e9](https://github.com/angular/angular-cli/commit/972f6db7e9ccf3c4b0e895341a49b104a8b0ac9b) | fix | upgrade postcss to 8.5.23 | ##### [@&#8203;angular/build](https://github.com/angular/build) | Commit | Type | Description | | ---------------------------------------------------------------------------------------------------- | ---- | ------------------------- | | [8de75ada50](https://github.com/angular/angular-cli/commit/8de75ada503d4182af7f0be957e58fe678a63b98) | fix | upgrade postcss to 8.5.23 | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.19`](https://github.com/angular/angular-cli/blob/HEAD/CHANGELOG.md#21219-2026-07-09) [Compare Source](https://github.com/angular/angular-cli/compare/v21.2.18...v21.2.19) ##### [@&#8203;angular-devkit/build-angular](https://github.com/angular-devkit/build-angular) | Commit | Type | Description | | --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------- | | [df5429871](https://github.com/angular/angular-cli/commit/df54298712bb84ec079787e4ca6c0164f6358cf1) | fix | update http-proxy-middleware to 3.0.7 | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.18`](https://github.com/angular/angular-cli/blob/HEAD/CHANGELOG.md#21218-2026-07-01) [Compare Source](https://github.com/angular/angular-cli/compare/v21.2.17...v21.2.18) ##### [@&#8203;angular/cli](https://github.com/angular/cli) | Commit | Type | Description | | --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------- | | [61a810ab6](https://github.com/angular/angular-cli/commit/61a810ab615d1a26fc69f9e48be7cc6555a9c430) | fix | respect release age policy in update bootstrapping logic | ##### [@&#8203;angular/build](https://github.com/angular/build) | Commit | Type | Description | | --------------------------------------------------------------------------------------------------- | ---- | --------------------- | | [a2b6116ed](https://github.com/angular/angular-cli/commit/a2b6116eddc7a71e4539817da623221ca552a35f) | fix | bump undici to 7.28.0 | | [2510ee3c9](https://github.com/angular/angular-cli/commit/2510ee3c9aefdab5428938e78b9cfcea0ada1c45) | fix | bump vite to 7.3.6 | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.17`](https://github.com/angular/angular-cli/blob/HEAD/CHANGELOG.md#21217-2026-06-24) [Compare Source](https://github.com/angular/angular-cli/compare/v21.2.16...v21.2.17) ##### [@&#8203;angular/build](https://github.com/angular/build) | Commit | Type | Description | | --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------- | | [9c366e8be](https://github.com/angular/angular-cli/commit/9c366e8be42495d1bf90033788b3beae77e5fc28) | fix | bump [@&#8203;babel/core](https://github.com/babel/core) to 7.29.7 | | [6a06ce9e9](https://github.com/angular/angular-cli/commit/6a06ce9e9847b4ddd66b94b9ea4c6fbbfc28d066) | fix | bump esbuild to 0.28.1 | | [637b84877](https://github.com/angular/angular-cli/commit/637b84877334de5acc6fcbe1ba4d62c7a6da420b) | fix | bump piscina to 5.2.0 | | [e86d58a12](https://github.com/angular/angular-cli/commit/e86d58a128725eee9dd63dcd2ccd35b8ee4706f3) | fix | bump vite to 7.3.5 | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.16`](https://github.com/angular/angular-cli/blob/HEAD/CHANGELOG.md#21216-2026-06-17) [Compare Source](https://github.com/angular/angular-cli/compare/v21.2.15...v21.2.16) ##### [@&#8203;angular/cli](https://github.com/angular/cli) | Commit | Type | Description | | --------------------------------------------------------------------------------------------------- | ---- | ----------------------- | | [77c9047ac](https://github.com/angular/angular-cli/commit/77c9047acdf4b69ec6dd399af2dff7278e8014c7) | fix | update pacote to 21.5.1 | ##### [@&#8203;angular/ssr](https://github.com/angular/ssr) | Commit | Type | Description | | --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------------- | | [d052e97da](https://github.com/angular/angular-cli/commit/d052e97dafe2e85fbc072fd11025c803ebb80ef1) | fix | prioritize options over environment variables in AngularNodeAppEngine | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.15`](https://github.com/angular/angular-cli/blob/HEAD/CHANGELOG.md#21215-2026-06-11) [Compare Source](https://github.com/angular/angular-cli/compare/v21.2.14...v21.2.15) ##### [@&#8203;angular/cli](https://github.com/angular/cli) | Commit | Type | Description | | --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------ | | [42ac0ed0f](https://github.com/angular/angular-cli/commit/42ac0ed0ff8b98862b9df1cef048f463ddc2cd85) | fix | remove forceAuth and unscoped credential parsing | | [c7a7f1955](https://github.com/angular/angular-cli/commit/c7a7f1955619717ca775f730d67e3311047537f8) | fix | support registry metadata fetching under bun package manager | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.14`](https://github.com/angular/angular-cli/blob/HEAD/CHANGELOG.md#21214-2026-06-03) [Compare Source](https://github.com/angular/angular-cli/compare/v21.2.13...v21.2.14) ##### [@&#8203;angular/cli](https://github.com/angular/cli) | Commit | Type | Description | | --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------------------- | | [aed448748](https://github.com/angular/angular-cli/commit/aed448748451b6b87c20e7bd9b3b1f822067f681) | fix | expand package groups for newly added peer dependencies in update schematic | ##### [@&#8203;angular/build](https://github.com/angular/build) | Commit | Type | Description | | --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------- | | [d46c082fb](https://github.com/angular/angular-cli/commit/d46c082fb994138327eb36882373f63daeec8bc1) | fix | prevent esbuild service child process leakage | <!-- CHANGELOG SPLIT MARKER --> </details> <details> <summary>angular/components (@&#8203;angular/cdk)</summary> ### [`v21.2.14`](https://github.com/angular/components/blob/HEAD/CHANGELOG.md#21214-amicite-atlas-2026-06-03) [Compare Source](https://github.com/angular/components/compare/v21.2.13...v21.2.14) No user facing changes in this release <!-- CHANGELOG SPLIT MARKER --> </details> <details> <summary>angular/angular (@&#8203;angular/common)</summary> ### [`v21.2.26`](https://github.com/angular/angular/blob/HEAD/CHANGELOG.md#21226-2026-11-02) [Compare Source](https://github.com/angular/angular/compare/v21.2.25...v21.2.26) ##### upgrade | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | [bc74d72035](https://github.com/angular/angular/commit/bc74d72035bdf3aff82fe84514a1f00d37459cc5) | fix | only compile the template contents of a downgraded component | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.25`](https://github.com/angular/angular/blob/HEAD/CHANGELOG.md#21225-2026-09-30) [Compare Source](https://github.com/angular/angular/compare/v21.2.24...v21.2.25) ##### platform-server | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | -------------------------------------------- | | [450af9c813](https://github.com/angular/angular/commit/450af9c813c7660b9bd91e5635f705ee3ed7b32a) | fix | reject protocol-relative paths in resolveUrl | ##### router | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | ----------------------------------------------------------------- | | [4bc11a546b](https://github.com/angular/angular/commit/4bc11a546be9e66ee5c40b48d7a8a5d014609987) | fix | do not copy URL-sized objects into every route snapshot | | [6489ca5d84](https://github.com/angular/angular/commit/6489ca5d8460a9ed8ae4daf7b0c24ec052f20398) | fix | reject duplicate outlets in production builds | | [a83f8119ac](https://github.com/angular/angular/commit/a83f8119acd466b524ae0113096ed188358d6d6c) | fix | require outlets to match a route before processing child segments | | [a131f77d92](https://github.com/angular/angular/commit/a131f77d92808ad5c2f3fa4dc6fde36825f12c5a) | perf | do not retain UrlTree instances in RouterLink | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.24`](https://github.com/angular/angular/blob/HEAD/CHANGELOG.md#21224-2026-09-23) [Compare Source](https://github.com/angular/angular/compare/v21.2.23...v21.2.24) ##### router | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | ---------------------------------------------------- | | [03872a80bc](https://github.com/angular/angular/commit/03872a80bcf1c89b2b04cdd3f444b2ee954da583) | fix | avoid dense elements allocation for numeric URL keys | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.23`](https://github.com/angular/angular/blob/HEAD/CHANGELOG.md#21223-2026-09-09) [Compare Source](https://github.com/angular/angular/compare/v21.2.22...v21.2.23) ##### platform-server | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | ------------------------------- | | [fc2e8fbc0b](https://github.com/angular/angular/commit/fc2e8fbc0bda2f5c11585e8a0cbd88c074f5e567) | fix | update domino to latest version | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.22`](https://github.com/angular/angular/blob/HEAD/CHANGELOG.md#21222-2026-08-26) [Compare Source](https://github.com/angular/angular/compare/v21.2.21...v21.2.22) ##### platform-server | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | -------------------------------------------------------- | | [5aa6d97deb](https://github.com/angular/angular/commit/5aa6d97deb9ef1de14e23748b7fa74f97d183132) | fix | avoid stripping unicode whitespace during url resolution | | [73d8bbd27c](https://github.com/angular/angular/commit/73d8bbd27cb46495426d4132975a1355b47ad915) | fix | update domino to latest version | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.21`](https://github.com/angular/angular/blob/HEAD/CHANGELOG.md#21221-2026-08-19) [Compare Source](https://github.com/angular/angular/compare/v21.2.20...v21.2.21) ##### platform-browser | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | ----------------------------------------- | | [c19a36c2fb](https://github.com/angular/angular/commit/c19a36c2fbc51f41ce974ea1fd87f9f56b3e2444) | fix | disallow event handler attributes in Meta | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.20`](https://github.com/angular/angular/blob/HEAD/CHANGELOG.md#21220-2026-08-12) [Compare Source](https://github.com/angular/angular/compare/v21.2.19...v21.2.20) ##### core | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | ---------------------------------------- | | [6afe6fa781](https://github.com/angular/angular/commit/6afe6fa781c2f0931f0aedd729b9884a8fe212ee) | fix | sanitize host bindings on concrete hosts | ##### http | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | --------------------------------------------------- | | [fec5977df4](https://github.com/angular/angular/commit/fec5977df4dda3a10d5ce2923e3e06d86ba11ee7) | fix | match header values exactly when deleting | | [e33d69a71c](https://github.com/angular/angular/commit/e33d69a71c5beb8fe5785b53fd6b37658334e8e0) | fix | preserve immutability of materialized clones | | [caf616670f](https://github.com/angular/angular/commit/caf616670fd20d528aa69e0131cc17d60f0cc27d) | fix | run root interceptors in the terminal request chain | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.19`](https://github.com/angular/angular/blob/HEAD/CHANGELOG.md#21219-2026-07-29) [Compare Source](https://github.com/angular/angular/compare/v21.2.18...v21.2.19) ##### compiler | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | -------------------------------------------------------------------------------- | | [e2660c3dee](https://github.com/angular/angular/commit/e2660c3deeccb86471f9c11b7e65ebcc89d84e9e) | fix | disallow i18n event attributes | | [7b884f585a](https://github.com/angular/angular/commit/7b884f585abf50480c271d234c892c141eb61e2c) | fix | restrict possible event handler check to property names longer than 2 characters | ##### http | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | ------------------------------------------ | | [948a8d6831](https://github.com/angular/angular/commit/948a8d6831e8920b54663ec79421da95210e0e35) | fix | distinguish repeated transfer cache params | | [9949dccce1](https://github.com/angular/angular/commit/9949dccce164638597496a6b3881043117dfd1df) | fix | enable xsrf for root-provided HttpClient | ##### platform-server | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | ------------------------------- | | [f34a93c946](https://github.com/angular/angular/commit/f34a93c946c017eff526cfb0c8d17f51e97f01e4) | fix | update domino to latest version | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.18`](https://github.com/angular/angular/blob/HEAD/CHANGELOG.md#21218-2026-07-08) [Compare Source](https://github.com/angular/angular/compare/v21.2.17...v21.2.18) ##### compiler-cli | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | -------------------------------------- | | [8d22cc953b](https://github.com/angular/angular/commit/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa) | fix | update babel dependencies to latest v7 | ##### core | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | ----------------------------------- | | [6bcce117fb](https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522) | fix | avoid caching missing locale data | | [5a693bafcd](https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42) | fix | reject dynamic script host elements | ##### http | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | ---------------------------------------------------- | | [91df739b80](https://github.com/angular/angular/commit/91df739b8022e2177bcc7214ed9a4e94098a4831) | fix | prevent caching of responses with Set-Cookie headers | ##### service-worker | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | ------------------------------------------ | | [1804f73bec](https://github.com/angular/angular/commit/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b) | fix | preserve referrer in asset requests | | [e86c31bf26](https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8) | fix | preserve referrer policy in asset requests | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.17`](https://github.com/angular/angular/blob/HEAD/CHANGELOG.md#21217-2026-06-10) [Compare Source](https://github.com/angular/angular/compare/v21.2.16...v21.2.17) #### Deprecations ##### platform-server - XHR support in `@angular/platform-server` is deprecated. Use standard `fetch` APIs instead. ##### common | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | ---------------------------------------------------------------------- | | [86a56dc279](https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b) | fix | Limits date format string length | | [d846326b07](https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15) | fix | skip transfer cache for uncacheable HTTP traffic | | [bc55749698](https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32) | fix | use cryptographically secure SHA-256 for transfer cache key generation | ##### compiler | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | --------------------------- | | [dc9c99636d](https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4) | fix | sanitize two-way properties | ##### core | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | ---------------------------------------------------------------------------------------------------------- | | [1523061137](https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37) | fix | harden TransferState restoration against DOM clobbering | | [88832c84f8](https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74) | fix | validate lowercase SVG animation attribute names ([#&#8203;69269](https://github.com/angular/angular/pull/69269)) | ##### http | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | --------------------------------------------------- | | [bcb1b7ea25](https://github.com/angular/angular/commit/bcb1b7ea2575b140f7bf202ad4f779e402cd6094) | fix | preserve empty referrer option in HttpRequest | | [a810a319d1](https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0) | fix | Rejects non-HTTP(S) URLs in JSONP requests | | [e245d40c4d](https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d) | fix | skip transfer cache for fetch credentialed requests | ##### platform-server | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | -------- | ----------------------------------------------------------------------------- | | [35510746b7](https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748) | fix | harden platform location origin validation during SSR | | [13fb0afe93](https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb) | refactor | deprecate ServerXhr ([#&#8203;69255](https://github.com/angular/angular/pull/69255)) | ##### service-worker | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | -------------------------------------------------- | | [b9d29381bb](https://github.com/angular/angular/commit/b9d29381bb4442164b19d9b7e0baa147a7b25629) | fix | Strips sensitive headers on cross-origin redirects | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.16`](https://github.com/angular/angular/blob/HEAD/CHANGELOG.md#21216-2026-06-03) [Compare Source](https://github.com/angular/angular/compare/v21.2.15...v21.2.16) ##### common | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | ------------------------------------------------- | | [f6d8e642b0](https://github.com/angular/angular/commit/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66) | fix | only strip a literal /index.html suffix from URLs | ##### compiler | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | ----------------------------------------- | | [ae1c8a1f7a](https://github.com/angular/angular/commit/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098) | fix | move projection attributes into constants | ##### core | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | -------------------------------------------------------------- | | [3fd6897a67](https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21) | fix | harden inherit definition feature against polluted prototypes | | [7e38336dc7](https://github.com/angular/angular/commit/7e38336dc73e14d98cc6465f54e1b7d6271facb2) | fix | use Object.create(null) for LOCALE_DATA as a hardening measure | ##### platform-server | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | [66821c4ed5](https://github.com/angular/angular/commit/66821c4ed5f580912a1609fc1e06a86f8793c2cf) | fix | throw on suspicious URLs and restrict protocol-relative URLs | | [d3170031b6](https://github.com/angular/angular/commit/d3170031b6f35508f960cba18586843925bb61ec) | fix | update domino to latest version | <!-- CHANGELOG SPLIT MARKER --> ### [`v21.2.15`](https://github.com/angular/angular/blob/HEAD/CHANGELOG.md#21215-2026-05-28) [Compare Source](https://github.com/angular/angular/compare/v21.2.14...v21.2.15) ##### common | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | ------------------------------- | | [7f4ac78994](https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8) | fix | add upper bounds for digitsInfo | | [300f61feb3](https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699) | fix | sanitize placeholder | ##### compiler | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | -------------------------------------------------------------------------------------------------------------------------------- | | [0b07f47bd6](https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243) | fix | normalize tag names with custom namespaces in DomElementSchemaRegistry ([#&#8203;68925](https://github.com/angular/angular/pull/68925)) | | [eb1cbbf2eb](https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29) | fix | prevent namespaced SVG <style> elements from being stripped | | [cc1378d54b](https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2) | fix | sanitize dynamic href and xlink:href bindings on SVG a elements ([#&#8203;68925](https://github.com/angular/angular/pull/68925)) | | [782e01594e](https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab) | fix | strip namespaced SVG script elements during template compilation ([#&#8203;68925](https://github.com/angular/angular/pull/68925)) | ##### core | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | -------------------------------------------------------------------------------------------------------------------------------------------------- | | [ff12fe55ac](https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192) | fix | normalize tag names in runtime i18n attribute security context lookup ([#&#8203;68925](https://github.com/angular/angular/pull/68925)) | | [e6fe77cc97](https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f) | fix | sanitize meta selectors | | [daaf32937f](https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550) | fix | support prefix-insensitive DOM schema lookups and compile-time i18n attribute validation ([#&#8203;68925](https://github.com/angular/angular/pull/68925)) | | [dada86e43d](https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a) | fix | synchronize core sanitization schema with compiler ([#&#8203;68925](https://github.com/angular/angular/pull/68925)) | ##### http | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | --------------------------------------------------------- | | [582a417bd2](https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c) | fix | exclude withCredentials requests from transfer cache | | [5c6d6df34b](https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51) | fix | skip TransferCache for cookie-bearing requests by default | ##### platform-server | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | ------------------------------------------------------------------------ | | [37e8aadf87](https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97) | fix | prevent SSRF bypasses via backslash URLs in HttpClient | | [72696e244e](https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda) | fix | secure location and document initialization against SSRF and path hijack | ##### service-worker | Commit | Type | Description | | ------------------------------------------------------------------------------------------------ | ---- | -------------------------------------------------------- | | [b8bd49341d](https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53) | fix | Preserves explicit 'credentials: omit' in asset requests | | [ca32fc1000](https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4) | fix | Preserves HTTP cache mode in asset group requests | <!-- CHANGELOG SPLIT MARKER --> </details> <details> <summary>plausible/analytics (@&#8203;plausible-analytics/tracker)</summary> ### [`v0.4.7`](https://github.com/plausible/analytics/compare/607f3c733fd068ed58fc7bed3385a47c755adb06...6c062a1c6da21f85d2394568c043035a1723750f) [Compare Source](https://github.com/plausible/analytics/compare/607f3c733fd068ed58fc7bed3385a47c755adb06...6c062a1c6da21f85d2394568c043035a1723750f) ### [`v0.4.6`](https://github.com/plausible/analytics/compare/49448f5b16a5923ce06b200833a04de0e037b5e9...607f3c733fd068ed58fc7bed3385a47c755adb06) [Compare Source](https://github.com/plausible/analytics/compare/49448f5b16a5923ce06b200833a04de0e037b5e9...607f3c733fd068ed58fc7bed3385a47c755adb06) </details> <details> <summary>microsoft/playwright (@&#8203;playwright/test)</summary> ### [`v1.64.1`](https://github.com/microsoft/playwright/releases/tag/v1.64.1) [Compare Source](https://github.com/microsoft/playwright/compare/v1.64.0...v1.64.1) ##### Bug Fixes - [#&#8203;43247](https://github.com/microsoft/playwright/issues/43247) \[Bug]: \_electron.launch intermittently loses a packaged app's first window since 1.64.0 - [#&#8203;43242](https://github.com/microsoft/playwright/issues/43242) \[Regression]: Chromium 155+ aborts a preflighted cross-origin redirect whenever any route is registered (net::ERR_ABORTED) ### [`v1.64.0`](https://github.com/microsoft/playwright/releases/tag/v1.64.0) [Compare Source](https://github.com/microsoft/playwright/compare/v1.63.0...v1.64.0) #### 🧰 WebMCP New [page.webmcp](https://playwright.dev/docs/api/class-page#page-webmcp) and [frame.webmcp](https://playwright.dev/docs/api/class-frame#frame-webmcp) give access to the tools that a page registers through the experimental [WebMCP](https://playwright.dev/docs/api/class-webmcp) browser API, so you can test them like any other part of your app: ```js const browser = await chromium.launch({ args: ['--enable-features=WebMCP'] }); const page = await browser.newPage(); await page.goto('https://example.com'); for (const tool of await page.webmcp.tools()) console.log(tool.name, tool.description); const result = await page.webmcp.callTool('add', { a: 2, b: 40 }); console.log(result.content[0].text); // "42" ``` [Playwright MCP](https://playwright.dev/docs/getting-started-mcp) also supports WebMCP by default, with page-defined tools offered to the agent as `webmcp_<tool>`. Pass `--no-webmcp` to opt out. [`playwright-cli`](https://playwright.dev/docs/getting-started-cli) exposes them as well: ```bash playwright-cli webmcp-list playwright-cli webmcp-call search_catalog --params '{"query":"cats"}' ``` #### 🎬 Better videos Videos can now be recorded at a custom frame rate, and the decorations for actions are styled with plain CSS: ```js // playwright.config.ts import { defineConfig } from '@playwright/test'; export default defineConfig({ use: { video: { mode: 'on', size: { width: 1920, height: 1080 }, fps: 60, show: { actions: { style: { point: 'width: 20px; height: 20px; border-radius: 50%; background: red', highlight: 'outline: 2px solid #&#8203;333; background: rgba(0, 128, 255, .15)', title: 'font-size: 16px', }, }, }, }, }, }); ``` - New `fps` option in [testOptions.video](https://playwright.dev/docs/api/class-testoptions#test-options-video), [`recordVideo`](https://playwright.dev/docs/api/class-browser#browser-new-context-option-record-video) and [screencast.start()](https://playwright.dev/docs/api/class-screencast#screencast-start). Firefox and WebKit currently capture up to 25 frames per second. - New [`style`](https://playwright.dev/docs/api/class-screencast#screencast-show-actions-option-style) option takes CSS declarations for the `point` marker, the target `highlight` and the action `title`. It replaces the `fontSize` option, which is now deprecated. - The cursor stays visible at the last action point, survives navigations and travels along a natural, eased path. - Videos are encoded with VP9 instead of VP8, which takes less CPU and produces smaller files of the same or better quality. - All video options are also available in [Playwright MCP](https://playwright.dev/docs/getting-started-mcp) and [`playwright-cli`](https://playwright.dev/docs/getting-started-cli). #### 🎯 Test runner - New [testProject.default](https://playwright.dev/docs/api/class-testproject#test-project-default) option keeps a project in the config without running it by default. You can configure every browser you care about, and let a plain `npx playwright test` run just your favourite one: ```js // playwright.config.ts import { defineConfig, devices } from '@playwright/test'; export default defineConfig({ projects: [ { name: 'chromium', use: devices['Desktop Chrome'] }, { name: 'firefox', use: devices['Desktop Firefox'], default: false }, { name: 'webkit', use: devices['Desktop Safari'], default: false }, ], }); ``` ```bash npx playwright test # runs chromium only npx playwright test --project=firefox # runs firefox npx playwright test --project="*" # runs all three, for example on CI ``` - New `--shuffle` command line option schedules tests in a random order, which helps to find tests that accidentally depend on each other. ```bash npx playwright test --shuffle # Running 42 tests using 4 workers, shuffle seed 271828182 # ... # Pass the seed to reproduce the same order. npx playwright test --shuffle 271828182 ``` - New `lock` option in [test.describe.configure()](https://playwright.dev/docs/api/class-test#test-describe-configure) adds [test locks](https://playwright.dev/docs/test-parallel#test-locks) to all tests in a file or a group: ```js test.describe.configure({ lock: 'user-settings' }); ``` - New `type` option of `toHaveScreenshot` in [testConfig.expect](https://playwright.dev/docs/api/class-testconfig#test-config-expect) stores all unnamed screenshots as WebP: ```js // playwright.config.ts export default defineConfig({ expect: { toHaveScreenshot: { type: 'webp' }, }, }); ``` #### 🪆 Locator.within() New [locator.within()](https://playwright.dev/docs/api/class-locator#locator-within) combines two locators that you already have, reading in the natural order — "this button, within that dialog": ```js const saveButton = page.getByRole('button', { name: 'Save' }); const dialog = page.getByTestId('settings-dialog'); await saveButton.within(dialog).click(); ``` Relative locators such as [locator.nth()](https://playwright.dev/docs/api/class-locator#locator-nth) or [locator.first()](https://playwright.dev/docs/api/class-locator#locator-first) are resolved inside each parent separately, which makes column-like queries straightforward: ```js // The third cell of every row, not the third cell in the table. const thirdColumn = page.getByRole('cell').nth(2).within(page.getByRole('row')); await expect(thirdColumn).toHaveText(['Apple', 'Banana', 'Cherry']); ``` #### New APIs - New [page.getByRef()](https://playwright.dev/docs/api/class-page#page-get-by-ref) locates an element by its aria ref, such as `e2`, reported by [page.ariaSnapshot()](https://playwright.dev/docs/api/class-page#page-aria-snapshot) in the `'ai'` mode. - New option [`includeShadow`](https://playwright.dev/docs/api/class-page#page-content-option-include-shadow) in [page.content()](https://playwright.dev/docs/api/class-page#page-content) and [frame.content()](https://playwright.dev/docs/api/class-frame#frame-content) serializes open shadow roots as [declarative shadow DOM](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_shadow_DOM#declaratively_with_html). - New option [`signCount`](https://playwright.dev/docs/api/class-credentials#credentials-create-option-sign-count) sets the initial signature counter of a virtual credential. [credentials.create()](https://playwright.dev/docs/api/class-credentials#credentials-create) and [credentials.get()](https://playwright.dev/docs/api/class-credentials#credentials-get) return the current `signCount`, and it is saved and restored together with the credentials in the storage state. - New [fullConfig.filteredProjects](https://playwright.dev/docs/api/class-fullconfig#full-config-filtered-projects) lists the projects that were selected to run after applying the `--project` filter. It is available in global setup and reporters. - New [apiRequestContext.addCookies()](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-add-cookies), [apiRequestContext.cookies()](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-cookies) and [apiRequestContext.clearCookies()](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-clear-cookies) manage cookies of a request context, mirroring the [BrowserContext](https://playwright.dev/docs/api/class-browsercontext) methods: ```js await request.addCookies([{ name: 'session-id', value: '42', url: 'https://example.com' }]); console.log(await request.cookies('https://example.com')); await request.clearCookies({ name: 'session-id' }); ``` #### Breaking changes ⚠️ - `screen` property is now forwarded from the [device descriptors](https://playwright.dev/docs/emulation#devices). If you use `...devices['Desktop Chrome']` and alike, `window.screen` and media queries now see the emulated screen size. You can opt-out by explicitly setting `screen` to `undefined`: ```js // playwright.config.ts export default defineConfig({ use: { ...devices['Desktop Chrome'], screen: undefined, }, }); ``` - JSX in your test files now follows your `tsconfig.json`. Playwright compiles JSX in test files according to the `jsx`, `jsxFactory`, `jsxFragmentFactory` and `jsxImportSource` [tsconfig options](https://playwright.dev/docs/test-typescript#tsconfig-jsx-options), and defaults to the automatic runtime from `react/jsx-runtime`. - `--update-snapshots=missing` now passes the test run. Tests that only create missing snapshots now pass in the `'missing'` mode of [testConfig.updateSnapshots](https://playwright.dev/docs/api/class-testconfig#test-config-update-snapshots), so that CI can generate new snapshots and verify the existing ones in a single run. The mode used when the option is not specified is now called `'default'` and behaves as before: missing snapshots are written and the test fails. - Elements inside hidden iframes are considered hidden. Elements inside an iframe that is not visible, for example with `visibility: hidden`, are now considered hidden by actions, [locator.isVisible()](https://playwright.dev/docs/api/class-locator#locator-is-visible) and [expect(locator).toBeVisible()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-visible). #### Browser Versions - Chromium 156.0.8078.4 - Mozilla Firefox 157.0 - WebKit 27.2 This version was also tested against the following stable channels: - Google Chrome 155 - Microsoft Edge 155 ### [`v1.63.0`](https://github.com/microsoft/playwright/releases/tag/v1.63.0) [Compare Source](https://github.com/microsoft/playwright/compare/v1.62.1...v1.63.0) #### 🔒 Test locks Tests that access a shared resource — an external service, a global account setting — can now declare a named `lock`. Tests that share a lock name never run concurrently, across files, workers and [projects](https://playwright.dev/docs/test-projects), while everything else keeps running in parallel: ```js test('update user settings', { lock: 'user-settings' }, async ({ page }) => { // never runs at the same time as other tests holding 'user-settings' }); ``` A test can hold multiple locks, and [test.describe()](https://playwright.dev/docs/api/class-test#test-describe) accepts a `lock` for the whole group. Learn more about [test locks](https://playwright.dev/docs/test-parallel#test-locks). #### 🪟 Locate across frames [page.frameLocator()](https://playwright.dev/docs/api/class-page#page-frame-locator) and [frame.frameLocator()](https://playwright.dev/docs/api/class-frame#frame-frame-locator) called without a selector search in any frame of the subtree, so you no longer need to locate the iframe first: ```js // Finds the button in any frame on the page. await page.frameLocator().getByRole('button').click(); ``` The rest of the locator resolves inside a single frame, just like a regular locator, and an error is thrown when it matches elements in several frames. #### 👁️ Visible-only locators New [locator.visible()](https://playwright.dev/docs/api/class-locator#locator-visible) returns a locator that matches only visible elements. It is the recommended replacement for the `:visible` CSS pseudo-class: ```js await page.locator('button').visible().click(); ``` #### 🧾 Step params and subtitles Steps now carry structured data for reporters. Playwright API steps report the target locator and call arguments, and [test.step()](https://playwright.dev/docs/api/class-test#test-step) accepts `subtitle` and `params` options for your own steps: ```js await test.step('Login', async () => { // ... }, { subtitle: 'as admin', params: { user: 'admin' } }); ``` Reporters receive them via [testStep.subtitle](https://playwright.dev/docs/api/class-teststep#test-step-subtitle) and [testStep.params](https://playwright.dev/docs/api/class-teststep#test-step-params). For Playwright API steps, the subtitle is the locator or the navigation url — for example, `Click` with subtitle `getByRole('button')`. Both are rendered next to the step title in the trace viewer and the HTML report. #### 🖼️ Aria and screen snapshots in traces The `snapshots` option of [tracing.start()](https://playwright.dev/docs/api/class-tracing#tracing-start) and the [testOptions.trace](https://playwright.dev/docs/api/class-testoptions#test-options-trace) fixture option now accept an object selecting what to capture on every action: ```js // playwright.config.ts export default defineConfig({ use: { trace: { mode: 'on', snapshots: { dom: true, aria: true, screen: true } }, }, }); ``` With aria and screen snapshots recorded, the new **Display Aria** mode in the trace viewer shows the action screenshot side by side with the aria snapshot, and hovering an aria node highlights it on the screenshot. #### New APIs ##### Browser and Context - [`httpCredentials`](https://playwright.dev/docs/api/class-browser#browser-new-context-option-http-credentials) now also accepts an array of credentials. The first entry matching the request origin is used, and entries without an origin match any request. - New option [`opfs`](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state-option-opfs) includes the [origin private file system](https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system) in the storage state, so it can be persisted and restored into later contexts. - New events [page.on('dialogclosed')](https://playwright.dev/docs/api/class-page#page-event-dialog-closed) and [browserContext.on('dialogclosed')](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-dialog-closed) are emitted when a JavaScript dialog is accepted, dismissed or closed by the user. ##### Locators - New [locator.ariaSnapshotJSON()](https://playwright.dev/docs/api/class-locator#locator-aria-snapshot-json) and [page.ariaSnapshotJSON()](https://playwright.dev/docs/api/class-page#page-aria-snapshot-json) return the aria snapshot as a JSON value instead of YAML markup, with `mode`, `depth` and `boxes` options. - [apiRequestContext.get()](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-get) and other request methods accept a type argument that types the response `json()`: ```js const response = await request.get<User>('/api/users/42'); const user = await response.json(); // typed as User ``` ##### Test runner - New standalone [testOptions.reducedMotion](https://playwright.dev/docs/api/class-testoptions#test-options-reduced-motion), [testOptions.forcedColors](https://playwright.dev/docs/api/class-testoptions#test-options-forced-colors) and [testOptions.contrast](https://playwright.dev/docs/api/class-testoptions#test-options-contrast) options. - New `--add-reporter` command line option appends a reporter on top of the ones configured in `playwright.config`, instead of replacing them like `--reporter` does. - New `omitTags` option for the `list`, `line`, `dot`, `github` and `junit` reporters suppresses the tags that are automatically appended to test titles. ##### Command line - `npx playwright install --no-remove` keeps the browsers of other Playwright installations instead of removing them. - `npx playwright codegen --http-credentials` records against pages behind HTTP authentication. ##### Miscellaneous - New built-in [`perfetto`](https://playwright.dev/docs/test-reporters#perfetto-reporter) reporter writes a Trace Event Format file for the [Perfetto UI](https://ui.perfetto.dev) or `chrome://tracing`, rendering the test run as a timeline with a lane per worker. - The HTML report renders a duration waterfall next to test steps. #### Announcements - ⚠️ The experimental `@playwright/experimental-ct-react`, `@playwright/experimental-ct-react17` and `@playwright/experimental-ct-vue` packages will no longer be updated. Follow the [migration guide](https://playwright.dev/docs/test-components#migration-from-the-experimental-packages) to move to the stories model introduced in 1.62. Story ids passed to [fixtures.mount()](https://playwright.dev/docs/api/class-fixtures#fixtures-mount) can now be typed through the generated `Stories` registry. - ⚠️ Ubuntu 20.04 is not supported anymore. - 🐧 On Linux arm64, Playwright now downloads the [Chrome for Testing](https://developer.chrome.com/blog/chrome-for-testing) build of Chromium, the same build used on all other platforms. #### Browser Versions - Chromium 153.0.8010.12 - Mozilla Firefox 155.0 - WebKit 26.6 This version was also tested against the following stable channels: - Google Chrome 153 - Microsoft Edge 153 ### [`v1.62.1`](https://github.com/microsoft/playwright/releases/tag/v1.62.1) [Compare Source](https://github.com/microsoft/playwright/compare/v1.62.0...v1.62.1) ##### Bug Fixes - [#&#8203;41989](https://github.com/microsoft/playwright/issues/41989) \[Regression]: tsconfig "extends" bare specifier isn't resolved via node_modules walk-up like tsc (fatal since 1.62) - [#&#8203;41998](https://github.com/microsoft/playwright/issues/41998) \[Regression]: directory-form tsconfig project references ("path": "../pkg") fail to resolve (fatal since 1.62) - [#&#8203;41985](https://github.com/microsoft/playwright/issues/41985) Accessibility snapshot drops button name when text is nested inside spans with aria-hidden SVG - [#&#8203;42000](https://github.com/microsoft/playwright/issues/42000) \[Regression]: page.evaluate() arg of a branded primitive type (string & { brand }) no longer type-checks since 1.62 - [#&#8203;42013](https://github.com/microsoft/playwright/issues/42013) \[BUG]Image-type actionable elements are not presented in the snapshot. ### [`v1.62.0`](https://github.com/microsoft/playwright/releases/tag/v1.62.0) [Compare Source](https://github.com/microsoft/playwright/compare/v1.61.1...v1.62.0) #### 🧱 New component testing model [Component testing](https://playwright.dev/docs/test-components) moves to a **stories and galleries** model. A **story** wraps your component in one specific scenario — hard-coded props, mock data, providers — and a **gallery** page that you serve renders stories on demand. The new [fixtures.mount()](https://playwright.dev/docs/api/class-fixtures#fixtures-mount) fixture navigates to the gallery, mounts a story by id, and returns a [Locator](https://playwright.dev/docs/api/class-locator) scoped to the story's root element: ```js test('click should expand', async ({ mount }) => { const component = await mount('components/Expandable/Stateful'); await component.getByRole('button').click(); await expect(component.getByTestId('expanded')).toHaveValue('true'); }); ``` Pass a story type as a template argument to type-check its props, and use `update(props)` / `unmount()` on the returned locator to re-render or tear down within a test. #### 🛑 Cancel operations with AbortSignal Most operations and web-first assertions now accept a `signal` option that takes an [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal), letting you cancel long-running actions, navigations, waits, and assertions: ```js const controller = new AbortController(); setTimeout(() => controller.abort(), 1000); await page.getByRole('button', { name: 'Submit' }).click({ signal: controller.signal }); await expect(page.getByText('Done')).toBeVisible({ signal: controller.signal }); ``` Providing a signal does not disable the default timeout; pass `timeout: 0` to disable it. #### 🖼️ WebP screenshots [expect(page).toHaveScreenshot()](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1) and [expect(locator).toHaveScreenshot()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1) can now store snapshots in the WebP format — just give the snapshot a `.webp` name: ```js // Visual comparisons store the golden snapshot as lossless WebP. await expect(page).toHaveScreenshot('homepage.webp'); // Standalone screenshots can trade quality for size with lossy WebP. await page.screenshot({ path: 'homepage.webp', quality: 50 }); ``` [page.screenshot()](https://playwright.dev/docs/api/class-page#page-screenshot) and \[locator.screenshot() (<https://playwright.dev/docs/api/class-locator#locator-screenshot>) also accept `webp` as a `type`, where quality `100` (the default) is lossless and lower values use lossy compression. #### 🧩 Custom test filtering with Reporter.preprocess() New [reporter.preprocess()](https://playwright.dev/docs/api/class-reporter#reporter-preprocess) hook runs after the configuration is resolved and before [reporter.onBegin()](https://playwright.dev/docs/api/class-reporter#reporter-on-begin), letting a reporter mark individual tests as skipped, excluded, fixed, or failing through a [TestRun](https://playwright.dev/docs/api/class-testrun) object: ```js class MyReporter { async preprocess({ config, suite, testRun }) { for (const test of suite.allTests()) { if (shouldSkip(test)) testRun.skip(test); } } } ``` #### 🔁 Isolated retries New [testConfig.retryStrategy](https://playwright.dev/docs/api/class-testconfig#test-config-retry-strategy) controls when failed tests are retried. The default `'immediate'` retries as soon as a worker is free; `'isolated'` runs all retries at the end, one by one in a single worker, to minimize interference with the rest of the suite: ```js // playwright.config.ts export default defineConfig({ retries: 2, retryStrategy: 'isolated', }); ``` #### New APIs ##### Browser and Context - New option [`credentials`](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state-option-credentials) includes the context's virtual WebAuthn [Credentials](https://playwright.dev/docs/api/class-credentials) (passkeys) in the storage state, so they can be persisted and re-seeded into later contexts. ##### Actions - New `scroll` option (`"auto"` | `"none"`) on actions to opt out of Playwright's automatic scroll-into-view. ##### Network - New [apiResponse.timing()](https://playwright.dev/docs/api/class-apiresponse#api-response-timing) returns resource timing information for an API response. ##### Evaluation - New [locator.waitForFunction()](https://playwright.dev/docs/api/class-locator#locator-wait-for-function) waits until a function — called with the matching element — returns a truthy value. - [page.evaluate()](https://playwright.dev/docs/api/class-page#page-evaluate) and related methods now accept functions as evaluate arguments. - [page.addInitScript()](https://playwright.dev/docs/api/class-page#page-add-init-script) / [browserContext.addInitScript()](https://playwright.dev/docs/api/class-browsercontext#browser-context-add-init-script) now accept functions as init-script arguments. ##### Command line & MCP - Playwright now bundles the [Playwright MCP](https://playwright.dev/docs/getting-started-mcp) server and [`playwright-cli`](https://playwright.dev/docs/getting-started-cli), runnable via `npx playwright mcp` and `npx playwright cli`. ##### Reporters - The HTML report's **Merge files** grouping — previously only a UI toggle — can now be enabled from the config with the new `mergeFiles` reporter option: ```js // playwright.config.ts export default defineConfig({ reporter: [['html', { mergeFiles: true }]], }); ``` #### Announcements - ⚠️ Debian 11 is not supported anymore. #### Browser Versions - Chromium 151.0.7922.34 - Mozilla Firefox 153.0 - WebKit 26.5 This version was also tested against the following stable channels: - Google Chrome 151 - Microsoft Edge 151 ### [`v1.61.1`](https://github.com/microsoft/playwright/releases/tag/v1.61.1) [Compare Source](https://github.com/microsoft/playwright/compare/v1.61.0...v1.61.1) ##### Bug Fixes - [#&#8203;41365](https://github.com/microsoft/playwright/issues/41365) \[Bug]: Expect.Extend matcher with same name as default matcher in same expect instance overrides default matchers implementation to custom matcher - [#&#8203;41351](https://github.com/microsoft/playwright/issues/41351) \[Bug]: Playwright UI mode: apiRequestContext.\_wrapApiCall reports unexpected number of bytes (same test passes in headed mode) - [#&#8203;41360](https://github.com/microsoft/playwright/issues/41360) \[Bug]: Trace viewer: message times in websockets are downscaled by 1000 - [#&#8203;41311](https://github.com/microsoft/playwright/issues/41311) \[Bug]: \[Regression]: Sync loader throws "context.conditions?.includes is not a function" on Node 22.15 - [#&#8203;41371](https://github.com/microsoft/playwright/issues/41371) \[Regression]: Sync ESM loader (registerHooks) fails to resolve extensionless .ts subpath imports across pnpm workspace symlinks ### [`v1.61.0`](https://github.com/microsoft/playwright/releases/tag/v1.61.0) [Compare Source](https://github.com/microsoft/playwright/compare/v1.60.0...v1.61.0) #### 🔑 WebAuthn passkeys New [Credentials](https://playwright.dev/docs/api/class-credentials) virtual authenticator, available via [browserContext.credentials](https://playwright.dev/docs/api/class-browsercontext#browser-context-credentials), lets tests register passkeys and answer `navigator.credentials.create()` / `navigator.credentials.get()` ceremonies in the page — no real hardware key required, works in all browsers: ```js const context = await browser.newContext(); // Seed a passkey your backend provisioned for a test user. await context.credentials.create('example.com', { id: credentialId, userHandle, privateKey, publicKey, }); await context.credentials.install(); const page = await context.newPage(); await page.goto('https://example.com/login'); // The page's navigator.credentials.get() is answered with the seeded passkey. ``` You can also let the app register a passkey once in a setup test, read it back with [credentials.get()](https://playwright.dev/docs/api/class-credentials#credentials-get), and seed it into later tests — see [Credentials](https://playwright.dev/docs/api/class-credentials) for details. #### 🗃️ Web Storage New [WebStorage](https://playwright.dev/docs/api/class-webstorage) API, available via [page.localStorage](https://playwright.dev/docs/api/class-page#page-local-storage) and [page.sessionStorage](https://playwright.dev/docs/api/class-page#page-session-storage), reads and writes the page's storage for the current origin: ```js await page.localStorage.setItem('token', 'abc'); const token = await page.localStorage.getItem('token'); const items = await page.sessionStorage.items(); ``` #### New APIs ##### Network - [apiResponse.securityDetails()](https://playwright.dev/docs/api/class-apiresponse#api-response-security-details) and [apiResponse.serverAddr()](https://playwright.dev/docs/api/class-apiresponse#api-response-server-addr) mirror the browser-side [response.securityDetails()](https://playwright.dev/docs/api/class-response#response-security-details) and [response.serverAddr()](https://playwright.dev/docs/api/class-response#response-server-addr). ##### Browser and Screencast - New option `artifactsDir` in [browserType.connectOverCDP()](https://playwright.dev/docs/api/class-browsertype#browser-type-connect-over-cdp) controls where artifacts such as traces and downloads are stored when attached to an existing browser. - New option `cursor` in [screencast.showActions()](https://playwright.dev/docs/api/class-screencast#screencast-show-actions) controls the cursor decoration rendered for pointer actions. - The `onFrame` callback in [screencast.start()](https://playwright.dev/docs/api/class-screencast#screencast-start) now receives a `timestamp` of when the frame was presented by the browser. ##### Test runner - The [testOptions.video](https://playwright.dev/docs/api/class-testoptions#test-options-video) option now supports the same set of modes as `trace`: new `'on-all-retries'`, `'retain-on-first-failure'` and `'retain-on-failure-and-retries'` values. See the [video modes table](https://playwright.dev/docs/test-use-options#video-modes) for which runs are recorded and kept in each mode. - Supported `expect.soft.poll(...)`. - New [fullConfig.argv](https://playwright.dev/docs/api/class-fullconfig#full-config-argv) — a snapshot of `process.argv` from the runner process, handy for reading custom arguments passed after the `--` separator. - New [fullConfig.failOnFlakyTests](https://playwright.dev/docs/api/class-fullconfig#full-config-fail-on-flaky-tests) mirrors the config option, so reporters can explain why a flaky run failed. - [testInfo.errors](https://playwright.dev/docs/api/class-testinfo#test-info-errors) now lists each sub-error of an `AggregateError` as a separate entry. - New `-G` command line shorthand for `--grep-invert`. #### 🛠️ Other improvements - Playwright now supports Ubuntu 26.04. - HAR and trace recordings now include WebSocket requests. #### Browser Versions - Chromium 149.0.7827.55 - Mozilla Firefox 151.0 - WebKit 26.5 This version was also tested against the following stable channels: - Google Chrome 149 - Microsoft Edge 149 </details> <details> <summary>vitest-dev/vitest (@&#8203;vitest/coverage-v8)</summary> ### [`v4.1.12`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.12) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.1.11...v4.1.12) #####    🐞 Bug Fixes - **mocker**: Harden manual and redirect mocks \[backport to v4]  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;11580](https://github.com/vitest-dev/vitest/issues/11580) [<samp>(b8253)</samp>](https://github.com/vitest-dev/vitest/commit/b82531324) #####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.11...v4.1.12) ### [`v4.1.11`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.11) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.1.10...v4.1.11) #####    🐞 Bug Fixes - Revive global concurrency limit for test lifecycle \[backport to v4]  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;10992](https://github.com/vitest-dev/vitest/issues/10992) [<samp>(5146d)</samp>](https://github.com/vitest-dev/vitest/commit/5146df80b) - **browser**: - Encode iframeId in tester iframe URL \[backport to v4]  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va), **Pduhard** and **Claude Opus 4.8** in [#&#8203;10955](https://github.com/vitest-dev/vitest/issues/10955) [<samp>(10b2c)</samp>](https://github.com/vitest-dev/vitest/commit/10b2cd201) - Trigger playwright/chromium gc on lower disk availability \[backport to v4]  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode** in [#&#8203;10951](https://github.com/vitest-dev/vitest/issues/10951) [<samp>(9851d)</samp>](https://github.com/vitest-dev/vitest/commit/9851dbc41) - **mocker**: - Restrict redirect mocks to the fs allowlist \[backport to v4]  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;10974](https://github.com/vitest-dev/vitest/issues/10974) [<samp>(fe5a1)</samp>](https://github.com/vitest-dev/vitest/commit/fe5a11d3c) #####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.10...v4.1.11) ### [`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) </details> <details> <summary>eslint/eslint (eslint)</summary> ### [`v10.14.0`](https://github.com/eslint/eslint/releases/tag/v10.14.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.13.0...v10.14.0) #### Features - [`d23a7f9`](https://github.com/eslint/eslint/commit/d23a7f9eed78e2733fa2d17d7d7dbb9891bbb692) feat: fix property descriptor handling in `func-name-matching` ([#&#8203;21400](https://github.com/eslint/eslint/issues/21400)) (xbinaryx) #### Bug Fixes - [`4a12580`](https://github.com/eslint/eslint/commit/4a12580eefdb240bd9b6ae83428638120e9a5f66) fix: require minimatch `10.2.6` to avoid vulnerable brace-expansion ([#&#8203;21460](https://github.com/eslint/eslint/issues/21460)) (lumir) - [`827a8f3`](https://github.com/eslint/eslint/commit/827a8f3cca710d3efd76c1d7088d894deff08434) fix: `no-restricted-globals` crash on global objects as property values ([#&#8203;21449](https://github.com/eslint/eslint/issues/21449)) (xbinaryx) - [`161558a`](https://github.com/eslint/eslint/commit/161558ae1391a8649a8d69a8b2c2e555b40121b9) fix: handle LS, PS and empty hashbang comments ([#&#8203;21419](https://github.com/eslint/eslint/issues/21419)) (lumir) - [`6194939`](https://github.com/eslint/eslint/commit/6194939873960e605b9df3892aa1f5acd648df34) fix: `no-invalid-this` crash on `accessor` fields without initializer ([#&#8203;21442](https://github.com/eslint/eslint/issues/21442)) (xbinaryx) - [`9155e14`](https://github.com/eslint/eslint/commit/9155e14781bf0a5549f9a747691f7d98c8c66dcd) fix: Update [@&#8203;humanfs/node](https://github.com/humanfs/node) dependency version ([#&#8203;21434](https://github.com/eslint/eslint/issues/21434)) (Nicholas C. Zakas) - [`cb2b9d4`](https://github.com/eslint/eslint/commit/cb2b9d47a1a14e287ffd473083e97370801ea21e) fix: avoid invalid object-shorthand fixes for super methods ([#&#8203;21323](https://github.com/eslint/eslint/issues/21323)) (dvd233) - [`5ee3915`](https://github.com/eslint/eslint/commit/5ee39156b5abb606170a289844cd25aebda6d302) fix: yoda invalid autofix at statement start ([#&#8203;21424](https://github.com/eslint/eslint/issues/21424)) (Daniel Pinto) #### Documentation - [`0f94f47`](https://github.com/eslint/eslint/commit/0f94f47b3cf188534d6ac24c0ef4108dd004492b) docs: remove `zh-hans` from docs language switcher ([#&#8203;21437](https://github.com/eslint/eslint/issues/21437)) (lumir) - [`dab466e`](https://github.com/eslint/eslint/commit/dab466e5cd43f4b9156a4d00b3423be2ed0088cc) docs: Update README (GitHub Actions Bot) - [`97431f8`](https://github.com/eslint/eslint/commit/97431f86d5dc7cd60ade6415393b906cf08fe46c) docs: replace `--rulesdir` with a virtual plugin in custom rules docs ([#&#8203;21452](https://github.com/eslint/eslint/issues/21452)) (Pixel) - [`7697550`](https://github.com/eslint/eslint/commit/76975502cb1370f2ae4d9427fa1daf7effabe909) docs: Update README (GitHub Actions Bot) - [`0c699d5`](https://github.com/eslint/eslint/commit/0c699d52d2c4596a56e8f8aa0c8f5732558cf552) docs: Remove Tidelift commercial support ([#&#8203;21416](https://github.com/eslint/eslint/issues/21416)) (Milos Djermanovic) - [`0880666`](https://github.com/eslint/eslint/commit/088066663aae84ad6edfa902a27a90c4c08785f3) docs: update loadESLint() documentation for v10 ([#&#8203;21374](https://github.com/eslint/eslint/issues/21374)) (Minseon Kim) - [`e06fe87`](https://github.com/eslint/eslint/commit/e06fe87c41cc6210269260a097c61cefb92f456a) docs: Revise AI acknowledgment options in PR template ([#&#8203;21414](https://github.com/eslint/eslint/issues/21414)) (Nicholas C. Zakas) #### Chores - [`0e2ab70`](https://github.com/eslint/eslint/commit/0e2ab702714a66829fe2798c77190b48a3a88645) ci: disable `eslint-plugin-unicorn` ecosystem test ([#&#8203;21462](https://github.com/eslint/eslint/issues/21462)) (Francesco Trotta) - [`6e3f988`](https://github.com/eslint/eslint/commit/6e3f9888cca518fbb9ba399e88b3033577d9f4ad) chore: update github/codeql-action action to v4.39.1 ([#&#8203;21450](https://github.com/eslint/eslint/issues/21450)) (renovate\[bot]) - [`a031c40`](https://github.com/eslint/eslint/commit/a031c40da3c2185279ca8f1f7961fff01fb7b8ff) chore: update ecosystem plugins ([#&#8203;21445](https://github.com/eslint/eslint/issues/21445)) (ESLint Bot) - [`67d2ca2`](https://github.com/eslint/eslint/commit/67d2ca2d246bf0311d4a60f58282a7b246c44cba) chore: add troubleshooting page URL to circular fixes warning message ([#&#8203;21429](https://github.com/eslint/eslint/issues/21429)) (Milos Djermanovic) - [`276021d`](https://github.com/eslint/eslint/commit/276021d5190f62c873002f7aa08cdcb345135bbe) chore: update github/codeql-action action to v4.39.0 ([#&#8203;21432](https://github.com/eslint/eslint/issues/21432)) (renovate\[bot]) - [`449724e`](https://github.com/eslint/eslint/commit/449724e95bfa013fa32c29375925b4111d3924e4) chore: update ecosystem plugins ([#&#8203;21420](https://github.com/eslint/eslint/issues/21420)) (ESLint Bot) - [`8ffeb8c`](https://github.com/eslint/eslint/commit/8ffeb8c023bea91a5cfa01b1413a52a83838a59a) chore: update dependency prettier to v3.9.10 ([#&#8203;21417](https://github.com/eslint/eslint/issues/21417)) (renovate\[bot]) ### [`v10.13.0`](https://github.com/eslint/eslint/releases/tag/v10.13.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.12.0...v10.13.0) #### Features - [`48d5cc4`](https://github.com/eslint/eslint/commit/48d5cc47e43478670ccf95a74f7a73e8408152b5) feat: report references inside IIFEs in `no-use-before-define` ([#&#8203;21238](https://github.com/eslint/eslint/issues/21238)) (Irfan fandi) - [`a39d9fb`](https://github.com/eslint/eslint/commit/a39d9fb1fdb5db546f6407580cac531ba3370450) feat: add `globalThis` to `no-obj-calls` ([#&#8203;21382](https://github.com/eslint/eslint/issues/21382)) (synthex-byte) - [`66ac583`](https://github.com/eslint/eslint/commit/66ac58383e076940c11a5d7213ad079028d1140e) feat: check `yield*` expressions in `no-unsafe-optional-chaining` ([#&#8203;21399](https://github.com/eslint/eslint/issues/21399)) (xbinaryx) #### Bug Fixes - [`87bd2ce`](https://github.com/eslint/eslint/commit/87bd2cef7b2309739c29598fb2be335f4bed71a3) fix: avoid redeclared `let` when `no-var` and `one-var` fix together ([#&#8203;21389](https://github.com/eslint/eslint/issues/21389)) (Daniel Pinto) #### Documentation - [`4783a68`](https://github.com/eslint/eslint/commit/4783a6806fb73ea4843ac46c6ae3d8285f56c288) docs: Update README (GitHub Actions Bot) - [`43f0ac9`](https://github.com/eslint/eslint/commit/43f0ac90e7858a834a0e68309e6397fb4cfa72dd) docs: clarify parameter description in `getText` ([#&#8203;21287](https://github.com/eslint/eslint/issues/21287)) (lumir) #### Chores - [`b59d889`](https://github.com/eslint/eslint/commit/b59d889c7c18d8c73144e6ba46e9e7f3e7da0196) chore: update github/codeql-action action to v4.38.3 ([#&#8203;21412](https://github.com/eslint/eslint/issues/21412)) (renovate\[bot]) - [`95e51a0`](https://github.com/eslint/eslint/commit/95e51a0518b15015304eca9844b3f64c1fc167ca) ci: re-enable `@typescript-eslint/typescript-eslint` in ecosystem tests ([#&#8203;21410](https://github.com/eslint/eslint/issues/21410)) (Francesco Trotta) - [`317fcb3`](https://github.com/eslint/eslint/commit/317fcb365f19e912a60d171a9d5a8d1f16fe4660) chore: update ecosystem plugins ([#&#8203;21409](https://github.com/eslint/eslint/issues/21409)) (ESLint Bot) - [`b92decf`](https://github.com/eslint/eslint/commit/b92decf8ead7cc4082a18a4a0ab28f3c7c589887) perf: skip no-redeclare scan for single-declaration variables ([#&#8203;21365](https://github.com/eslint/eslint/issues/21365)) (James Ross) - [`47b7063`](https://github.com/eslint/eslint/commit/47b7063b3f3f7bc7a5bcb87c082577e4e8b96e24) chore: update dependency [@&#8203;eslint/json](https://github.com/eslint/json) to ^2.1.1 ([#&#8203;21398](https://github.com/eslint/eslint/issues/21398)) (renovate\[bot]) - [`e5aea41`](https://github.com/eslint/eslint/commit/e5aea414cc00555ecd43f6e608bf80e0f9a6d4d6) chore: update ecosystem plugins ([#&#8203;21390](https://github.com/eslint/eslint/issues/21390)) (ESLint Bot) ### [`v10.12.0`](https://github.com/eslint/eslint/releases/tag/v10.12.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.11.0...v10.12.0) #### Features - [`4618052`](https://github.com/eslint/eslint/commit/4618052eed6bb3ef420cf0db0490bbda2fd835a5) feat: handle astral letters in `new-cap` ([#&#8203;21357](https://github.com/eslint/eslint/issues/21357)) (sary) - [`4ec5168`](https://github.com/eslint/eslint/commit/4ec5168d6d6888e3f7b163eb82963d40e45a75fa) feat: allow `SourceCode#getText()` to accept tokens and comments ([#&#8203;21340](https://github.com/eslint/eslint/issues/21340)) (electrohyun) #### Bug Fixes - [`bc51eee`](https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7) fix: `prefer-arrow-callback` false positive in conditional test ([#&#8203;21373](https://github.com/eslint/eslint/issues/21373)) (Daniel Pinto) - [`bbff86c`](https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038) fix: skip lines with multiple comments in `max-lines-per-function` ([#&#8203;21332](https://github.com/eslint/eslint/issues/21332)) (xbinaryx) - [`efc4d6b`](https://github.com/eslint/eslint/commit/efc4d6bdc4c4d1dfba8bdab6a8f44f27a1b1d00a) fix: astral letters in `consistent-return`, `no-eval`, `no-invalid-this` ([#&#8203;21360](https://github.com/eslint/eslint/issues/21360)) (lumir) - [`93de066`](https://github.com/eslint/eslint/commit/93de066d4125f8df013d40305e8009f4634a5cba) fix: prefer-exponentiation-operator autofix for async function base ([#&#8203;21322](https://github.com/eslint/eslint/issues/21322)) (Vladimir Babin) - [`02e34ff`](https://github.com/eslint/eslint/commit/02e34ffba6adbed72365177c7caee71d950834e5) fix: add missing space after `else` in `curly` autofix ([#&#8203;21355](https://github.com/eslint/eslint/issues/21355)) (Pixel) - [`b14b8bc`](https://github.com/eslint/eslint/commit/b14b8bc213ccfc19d3edcfa9ce6af62622661160) fix: correct `id-length` message for long private names ([#&#8203;21348](https://github.com/eslint/eslint/issues/21348)) (Pixel) - [`69aac01`](https://github.com/eslint/eslint/commit/69aac01d898837a934c9e735e0b7881cc1df09e8) fix: support `TSFunctionType` in `getFunctionHeadLoc` ([#&#8203;21335](https://github.com/eslint/eslint/issues/21335)) (xbinaryx) - [`686630e`](https://github.com/eslint/eslint/commit/686630eb34ec1cddf399a4e6eaeebb080116a532) fix: `no-loss-of-precision` false positive with `0.e5` ([#&#8203;21337](https://github.com/eslint/eslint/issues/21337)) (sethamus) #### Documentation - [`67eb586`](https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f) docs: Update README (GitHub Actions Bot) - [`5370d7e`](https://github.com/eslint/eslint/commit/5370d7ee35a6523873f798e87f3ccc73779d5d21) docs: clarify `one-var` `separateRequires` matches any `require()` call ([#&#8203;21192](https://github.com/eslint/eslint/issues/21192)) (sethamus) - [`8816c1d`](https://github.com/eslint/eslint/commit/8816c1ddfcfa31318ad17cddcfb68acffa30940f) docs: Update README (GitHub Actions Bot) - [`3d2e7ce`](https://github.com/eslint/eslint/commit/3d2e7cedb7409d8a2c5f2c2fafb14fa22790e40e) docs: fix typo in no-unused-expressions documentation ([#&#8203;21346](https://github.com/eslint/eslint/issues/21346)) (bytedoe) #### Chores - [`152067f`](https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6) chore: update ecosystem plugins ([#&#8203;21362](https://github.com/eslint/eslint/issues/21362)) (ESLint Bot) - [`b56d58e`](https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e) chore: update github/codeql-action action to v4.38.2 ([#&#8203;21376](https://github.com/eslint/eslint/issues/21376)) (renovate\[bot]) - [`bfaea12`](https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177) perf: cache normalized config globals per languageOptions ([#&#8203;21364](https://github.com/eslint/eslint/issues/21364)) (James Ross) - [`322209e`](https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c) ci: avoid Nx cache in ecosystem tests and disable failing test ([#&#8203;21369](https://github.com/eslint/eslint/issues/21369)) (Francesco Trotta) - [`d166567`](https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927) chore: update dependency prettier to v3.9.9 ([#&#8203;21371](https://github.com/eslint/eslint/issues/21371)) (renovate\[bot]) - [`29585ce`](https://github.com/eslint/eslint/commit/29585ceba7ad35368d1b763bd1e80d899f28842c) chore: update dependency eslint-plugin-expect-type to ^0.7.0 ([#&#8203;21359](https://github.com/eslint/eslint/issues/21359)) (renovate\[bot]) - [`39d79ba`](https://github.com/eslint/eslint/commit/39d79ba9650542ac66d585d1899304abd630c07d) chore: update github/codeql-action action to v4.38.1 ([#&#8203;21354](https://github.com/eslint/eslint/issues/21354)) (renovate\[bot]) - [`182a6e9`](https://github.com/eslint/eslint/commit/182a6e993a8a5dbdad5a628b69ad7382d48bf24f) chore: update dependency prettier to v3.9.8 ([#&#8203;21352](https://github.com/eslint/eslint/issues/21352)) (renovate\[bot]) - [`f995127`](https://github.com/eslint/eslint/commit/f995127230dad258069c29b7f51971681bd53f00) chore: remove CLAUDE.md in favor of AGENTS.md ([#&#8203;21339](https://github.com/eslint/eslint/issues/21339)) (Jarren) - [`b95fb6c`](https://github.com/eslint/eslint/commit/b95fb6cb335f82a0ccabb0944ac3b89c703bd947) chore: update dependency prettier to v3.9.7 ([#&#8203;21347](https://github.com/eslint/eslint/issues/21347)) (renovate\[bot]) - [`3782dd4`](https://github.com/eslint/eslint/commit/3782dd458fdfbe492e600d9a54b295a9721ed815) chore: update ecosystem plugins ([#&#8203;21342](https://github.com/eslint/eslint/issues/21342)) (ESLint Bot) ### [`v10.11.0`](https://github.com/eslint/eslint/releases/tag/v10.11.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.10.0...v10.11.0) #### Features - [`d136fa4`](https://github.com/eslint/eslint/commit/d136fa4b0d2dd4a9e738ca1c012cc674d1441127) feat: object-shorthand handle quoted properties for `ignoreConstructors` ([#&#8203;21271](https://github.com/eslint/eslint/issues/21271)) (Pavel) - [`397b3b8`](https://github.com/eslint/eslint/commit/397b3b8134b8ce1a61cbf414d4c29c945ba25690) feat: report unsafe labeled `continue` in `no-unsafe-finally` rule ([#&#8203;21316](https://github.com/eslint/eslint/issues/21316)) (electrohyun) - [`d3dd47f`](https://github.com/eslint/eslint/commit/d3dd47f42e4cb5f9da27e3a2e741aa21e02ea1a4) feat: only exempt `new-cap` built-ins that reference the global ([#&#8203;21290](https://github.com/eslint/eslint/issues/21290)) (sethamus) #### Bug Fixes - [`22b09f5`](https://github.com/eslint/eslint/commit/22b09f54f67a9512d4cea39ddbab9b6973d5c476) fix: ignore `__proto__` properties in `prefer-object-spread` ([#&#8203;21311](https://github.com/eslint/eslint/issues/21311)) (xbinaryx) - [`b684bb1`](https://github.com/eslint/eslint/commit/b684bb1cd7e6be03ad1b7a951baead936d9c2166) fix: make TimePass.parse optional in types and docs ([#&#8203;21313](https://github.com/eslint/eslint/issues/21313)) (ntnyq) - [`26d11bc`](https://github.com/eslint/eslint/commit/26d11bce3e0e21f223613d4bb4be3423839b229e) fix: don't report `__proto__` properties in `object-shorthand` ([#&#8203;21310](https://github.com/eslint/eslint/issues/21310)) (xbinaryx) #### Documentation - [`9ecfdc5`](https://github.com/eslint/eslint/commit/9ecfdc5319f83580cf3b81beab7e936015fef2fa) docs: note that --cache can serve stale results for cross-file rules ([#&#8203;21312](https://github.com/eslint/eslint/issues/21312)) (bytedoe) - [`6c789ff`](https://github.com/eslint/eslint/commit/6c789ff39bc5420e94e8dafeb328bf2b7e3d35ab) docs: Update README (GitHub Actions Bot) - [`5997825`](https://github.com/eslint/eslint/commit/5997825635dc9c4e81434894607ef2e3887e0ea3) docs: clarify preserve-caught-error known limitation ([#&#8203;21294](https://github.com/eslint/eslint/issues/21294)) (Akinyemi Toluwalase) #### Chores - [`520dd77`](https://github.com/eslint/eslint/commit/520dd77a35922fb537e2dbfb3c839d047acbdd68) perf: Implement fast paths in critical areas ([#&#8203;21210](https://github.com/eslint/eslint/issues/21210)) (Nicholas C. Zakas) - [`92086c8`](https://github.com/eslint/eslint/commit/92086c87e042413a3d0363d8fc3fbb11db98d06a) test: update `EMFILE` error generation for Node.js 26.9.0 compatibility ([#&#8203;21330](https://github.com/eslint/eslint/issues/21330)) (Francesco Trotta) - [`9ac7eb6`](https://github.com/eslint/eslint/commit/9ac7eb60525ec768c2fdc6699e5a292aa913ce9e) chore: update github/codeql-action action to v4.38.0 ([#&#8203;21331](https://github.com/eslint/eslint/issues/21331)) (renovate\[bot]) - [`24310e3`](https://github.com/eslint/eslint/commit/24310e3a0e22b3c086ca402f88448676f2e1cfcd) chore: update ecosystem plugins ([#&#8203;21324](https://github.com/eslint/eslint/issues/21324)) (ESLint Bot) - [`45ad79e`](https://github.com/eslint/eslint/commit/45ad79e54a39b54b4ce8eb47e612bd2f72a7a651) ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 ([#&#8203;21318](https://github.com/eslint/eslint/issues/21318)) (dependabot\[bot]) - [`ac74e37`](https://github.com/eslint/eslint/commit/ac74e37322ebf122ada676f153dc55c81f3caab0) chore: Add AGENTS.md with AI disclosure requirements ([#&#8203;21221](https://github.com/eslint/eslint/issues/21221)) (Nicholas C. Zakas) - [`c832660`](https://github.com/eslint/eslint/commit/c8326608e710e670beaf982501aed80ea104919a) chore: Upgrade Stylelint to the latest version in docs ([#&#8203;21245](https://github.com/eslint/eslint/issues/21245)) (Jung Hyeon Jun) - [`f9f88fc`](https://github.com/eslint/eslint/commit/f9f88fcccd965fdc162b89c4615dd4018e3cabdf) chore: update ecosystem plugins ([#&#8203;21308](https://github.com/eslint/eslint/issues/21308)) (ESLint Bot) - [`fc81076`](https://github.com/eslint/eslint/commit/fc81076a5b8145360654d81cbc130cf7d25dca77) ci: add more types integration tests ([#&#8203;20395](https://github.com/eslint/eslint/issues/20395)) (Nitin Kumar) ### [`v10.10.0`](https://github.com/eslint/eslint/releases/tag/v10.10.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.9.1...v10.10.0) #### Features - [`264b434`](https://github.com/eslint/eslint/commit/264b4346d1963701df0c398b4aeb2f6e8b2af93e) feat: add `d` and `v` flags to `no-unexpected-multiline` ([#&#8203;21305](https://github.com/eslint/eslint/issues/21305)) (Gihyeon Jeong / 정기현) - [`c6cc6c5`](https://github.com/eslint/eslint/commit/c6cc6c592f30901345d94ef75e0d42c1894fae6c) feat: check `Object.prototype` property names in `new-cap` ([#&#8203;21269](https://github.com/eslint/eslint/issues/21269)) (crimsonjay0) - [`5661fa6`](https://github.com/eslint/eslint/commit/5661fa65fde9fd4c14f0b730e3cee6a42fc657c1) feat: no-extra-bind false negatives with class fields and static blocks ([#&#8203;21260](https://github.com/eslint/eslint/issues/21260)) (synthex-byte) #### Bug Fixes - [`bb47dc6`](https://github.com/eslint/eslint/commit/bb47dc6da2399a8f76c0c0c3273e6bc314c480e5) fix: update dependency file-entry-cache to v11 ([#&#8203;20801](https://github.com/eslint/eslint/issues/20801)) (Milos Djermanovic) - [`427ac0a`](https://github.com/eslint/eslint/commit/427ac0a014066c36aa57fa8fa9af20fd9fb591e1) fix: use format strings in debug calls ([#&#8203;21247](https://github.com/eslint/eslint/issues/21247)) (Francesco Trotta) - [`9d81532`](https://github.com/eslint/eslint/commit/9d8153223dbf47b9aecdc1474202aaee4845f146) fix: support `__proto__` in `/* exported */` comments ([#&#8203;21261](https://github.com/eslint/eslint/issues/21261)) (sethamus) - [`87e0a08`](https://github.com/eslint/eslint/commit/87e0a082438264ad90b87fd74165ab4fd90f63ef) fix: prefer-object-has-own autofix breaks when Object is shadowed ([#&#8203;21282](https://github.com/eslint/eslint/issues/21282)) (김채영) - [`8e2cb14`](https://github.com/eslint/eslint/commit/8e2cb142217f2efee1d10dcc02bfb75145ae775d) fix: `new-cap` false positive for `UTC` calls with `properties: false` ([#&#8203;21275](https://github.com/eslint/eslint/issues/21275)) (Pixel) - [`9f4a364`](https://github.com/eslint/eslint/commit/9f4a364ab0ade048dfce1f37792b1d461d866e55) fix: Ignore static imports in no-unreachable ([#&#8203;21276](https://github.com/eslint/eslint/issues/21276)) (Taha Kotil) #### Documentation - [`2417cad`](https://github.com/eslint/eslint/commit/2417cad57d7d1bc4cf3ecf0f0575cfb10ff2011c) docs: Update README (GitHub Actions Bot) - [`9cecb8a`](https://github.com/eslint/eslint/commit/9cecb8a0a2348070abf72321965d41919c7cc626) docs: document `\c` control letter escapes in no-control-regex ([#&#8203;21286](https://github.com/eslint/eslint/issues/21286)) (한국) - [`8724829`](https://github.com/eslint/eslint/commit/8724829f69f8ed80c876e3a5a017da199ce78739) docs: update compat table links ([#&#8203;21263](https://github.com/eslint/eslint/issues/21263)) (fnx) - [`5634542`](https://github.com/eslint/eslint/commit/5634542be580750ffb1a5766470f9e9c72719696) docs: Clarify eqeqeq suggestion behavior ([#&#8203;21256](https://github.com/eslint/eslint/issues/21256)) (Müslüm Yılmaz) #### Chores - [`b3d876b`](https://github.com/eslint/eslint/commit/b3d876b46083d67899eb1d9613118c1c583632a2) chore: disable npm audit in ecosystem tests ([#&#8203;21306](https://github.com/eslint/eslint/issues/21306)) (Francesco Trotta) - [`1696682`](https://github.com/eslint/eslint/commit/1696682791661c13167eb905da2f38d1b8f4a3bf) ci: restore EMFILE test on Node.js 26 ([#&#8203;21297](https://github.com/eslint/eslint/issues/21297)) (Marry (Subin Yang)) - [`2c7f5d6`](https://github.com/eslint/eslint/commit/2c7f5d6f47a92e8c0847af103e40fdb2f4dc61ef) chore: update github/codeql-action action to v4.37.9 ([#&#8203;21296](https://github.com/eslint/eslint/issues/21296)) (renovate\[bot]) - [`3c753f1`](https://github.com/eslint/eslint/commit/3c753f18b461bfbf36d41a79a7863c093ef48489) chore: update eslint ([#&#8203;21289](https://github.com/eslint/eslint/issues/21289)) (renovate\[bot]) - [`1c73469`](https://github.com/eslint/eslint/commit/1c734690bf6f4f9c542bec428d5a1a5c6cc4a19b) chore: update ecosystem plugins ([#&#8203;21280](https://github.com/eslint/eslint/issues/21280)) (ESLint Bot) - [`08a02be`](https://github.com/eslint/eslint/commit/08a02be429e21fc93d86c8dd16cec6dc945ea2c1) test: add error locations to `no-extra-boolean-cast` ([#&#8203;21266](https://github.com/eslint/eslint/issues/21266)) (lumir) - [`77bb1db`](https://github.com/eslint/eslint/commit/77bb1db8e730b7da2347c647d60f215706aa349a) chore: update github/codeql-action action to v4.37.8 ([#&#8203;21270](https://github.com/eslint/eslint/issues/21270)) (renovate\[bot]) - [`007e81a`](https://github.com/eslint/eslint/commit/007e81ac0ad66bd0be4887d88a276df292ae0bed) ci: skip EMFILE test on Node.js 26 ([#&#8203;21265](https://github.com/eslint/eslint/issues/21265)) (lumir) - [`0430280`](https://github.com/eslint/eslint/commit/0430280e7cca9dc0fdbf0bc50464e98e84285c49) chore: improve ecosystem tests compatibility on Windows ([#&#8203;21178](https://github.com/eslint/eslint/issues/21178)) (crimsonjay0) ### [`v10.9.1`](https://github.com/eslint/eslint/releases/tag/v10.9.1) [Compare Source](https://github.com/eslint/eslint/compare/v10.9.0...v10.9.1) #### Bug Fixes - [`1e641c9`](https://github.com/eslint/eslint/commit/1e641c919fc1421493bf913feb607896982451a3) fix: no-loss-of-precision false positive with trailing decimal point ([#&#8203;21251](https://github.com/eslint/eslint/issues/21251)) (Aleksandr Shoronov) #### Documentation - [`ad74a8d`](https://github.com/eslint/eslint/commit/ad74a8dada2aaa17bfd0b8cc7b4119ff7a8ac04b) docs: add deprecation steps for EOL package versions ([#&#8203;21248](https://github.com/eslint/eslint/issues/21248)) (Francesco Trotta) #### Chores - [`3c3ae53`](https://github.com/eslint/eslint/commit/3c3ae53a43721162f0db76c69665ebd9d752ea52) chore: update ecosystem plugins ([#&#8203;21249](https://github.com/eslint/eslint/issues/21249)) (ESLint Bot) ### [`v10.9.0`](https://github.com/eslint/eslint/releases/tag/v10.9.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.8.1...v10.9.0) #### Features - [`08de88e`](https://github.com/eslint/eslint/commit/08de88e50294c4e01f6cae97eceeb578da55792b) feat: handle underflow in no-loss-of-precision ([#&#8203;21218](https://github.com/eslint/eslint/issues/21218)) (Rithish S) - [`55db479`](https://github.com/eslint/eslint/commit/55db4791120ae591d88089c43127b7b0e16866d4) feat: add checkConditionalExpressions to `no-unmodified-loop-condition` ([#&#8203;21175](https://github.com/eslint/eslint/issues/21175)) (sethamus) #### Bug Fixes - [`2ba3025`](https://github.com/eslint/eslint/commit/2ba302554e7a24e9909bbdd026fd0c2d1d0d8638) fix: prevent unsafe `no-var` autofix with hoisted functions ([#&#8203;21213](https://github.com/eslint/eslint/issues/21213)) (sethamus) - [`8e69622`](https://github.com/eslint/eslint/commit/8e6962219a605c5f5add10953aa31027da839194) fix: Prevent no-var autofix when var is shadowed by catch parameter ([#&#8203;21204](https://github.com/eslint/eslint/issues/21204)) (Yang Hyeonjong) - [`684b579`](https://github.com/eslint/eslint/commit/684b57972e1ddf25e076fb36189c60bbcacee635) fix: prefer-template invalid autofix creates a tagged template call ([#&#8203;21207](https://github.com/eslint/eslint/issues/21207)) (김채영) #### Documentation - [`9ef407a`](https://github.com/eslint/eslint/commit/9ef407a3b051e74f50dc7fb8914e2bd89b3e5e53) docs: use eslint.config.\* wherever config file names are listed ([#&#8203;21216](https://github.com/eslint/eslint/issues/21216)) (Marry (Subin Yang)) - [`87f66f4`](https://github.com/eslint/eslint/commit/87f66f4435c4df7f4f6815c939d153196ec03e3c) docs: Update README (GitHub Actions Bot) - [`585ef37`](https://github.com/eslint/eslint/commit/585ef37516c0dc29ddb91ce2a2cdcc46fdbbd610) docs: update architecture documentation ([#&#8203;21112](https://github.com/eslint/eslint/issues/21112)) (Francesco Trotta) - [`f3993b0`](https://github.com/eslint/eslint/commit/f3993b0547bace7370e9728ee7408af49d367d76) docs: Update README (GitHub Actions Bot) - [`ffc87d6`](https://github.com/eslint/eslint/commit/ffc87d6234b2aa4335eec069e5c4d6ac04832b9e) docs: fix broken links in Further Reading sections ([#&#8203;21203](https://github.com/eslint/eslint/issues/21203)) (Minsu) - [`1a761e1`](https://github.com/eslint/eslint/commit/1a761e1d11b011fcb6bee181231a51010c500e4d) docs: update moved JSX specification links ([#&#8203;21198](https://github.com/eslint/eslint/issues/21198)) (Imran Mustafa) - [`4d00ca4`](https://github.com/eslint/eslint/commit/4d00ca4064ae0d1a75b604a16c68ab9f386ad388) docs: update ESLint peer dependency to `^10.0.0` in shareable configs ([#&#8203;21202](https://github.com/eslint/eslint/issues/21202)) (lumir) - [`510d1a2`](https://github.com/eslint/eslint/commit/510d1a2e87bc197219f42e195ddb638d2b183a5a) docs: Update README (GitHub Actions Bot) #### Chores - [`899dbf1`](https://github.com/eslint/eslint/commit/899dbf131ce12a194b394bb8d67307df23509d17) chore: update github/codeql-action action to v4.37.7 ([#&#8203;21243](https://github.com/eslint/eslint/issues/21243)) (renovate\[bot]) - [`9aa3873`](https://github.com/eslint/eslint/commit/9aa38732177935bd1d7f1493732c0b67666be28a) chore: update ecosystem plugins ([#&#8203;21235](https://github.com/eslint/eslint/issues/21235)) (ESLint Bot) - [`dc1e7a8`](https://github.com/eslint/eslint/commit/dc1e7a8416937edefe04cf836ee202a6fc03bedd) chore: update ecosystem plugins ([#&#8203;21208](https://github.com/eslint/eslint/issues/21208)) (ESLint Bot) - [`f878d21`](https://github.com/eslint/eslint/commit/f878d212e9622da9513bcd60d2aedb2e8bb4fc8b) ci: bump pnpm/action-setup from 6.0.9 to 6.0.10 ([#&#8203;21200](https://github.com/eslint/eslint/issues/21200)) (dependabot\[bot]) - [`4891e50`](https://github.com/eslint/eslint/commit/4891e50aceadb0e886ad7d8ab5ae2beab563de85) ci: bump github/codeql-action from 4.37.4 to 4.37.6 ([#&#8203;21199](https://github.com/eslint/eslint/issues/21199)) (dependabot\[bot]) ### [`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) </details> <details> <summary>npm/cli (npm)</summary> ### [`v10.9.9`](https://github.com/npm/cli/releases/tag/v10.9.9) [Compare Source](https://github.com/npm/cli/compare/v10.9.8...v10.9.9) ##### Dependencies - [`5e9f451`](https://github.com/npm/cli/commit/5e9f45190223b143f3ff891dc9cb99fc606bb909) [#&#8203;9814](https://github.com/npm/cli/pull/9814) `tar@7.5.22` ([#&#8203;9814](https://github.com/npm/cli/issues/9814)) ([@&#8203;martinrrm](https://github.com/martinrrm), [@&#8203;Copilot](https://github.com/Copilot)) ##### Chores - [`189ba13`](https://github.com/npm/cli/commit/189ba136a75c773927a5cb8922e6b00c71814d35) [#&#8203;9319](https://github.com/npm/cli/pull/9319) add cli-triage team as codeowner ([#&#8203;9319](https://github.com/npm/cli/issues/9319)) ([@&#8203;github-actions](https://github.com/github-actions)\[bot], Michael Smith) ### [`v10.9.8`](https://github.com/npm/cli/releases/tag/v10.9.8) [Compare Source](https://github.com/npm/cli/compare/v10.9.7...v10.9.8) ##### Dependencies - [workspace](https://github.com/npm/cli/releases/tag/arborist-v8.0.5): `@npmcli/arborist@8.0.5` - [workspace](https://github.com/npm/cli/releases/tag/libnpmdiff-v7.0.5): `libnpmdiff@7.0.5` - [workspace](https://github.com/npm/cli/releases/tag/libnpmexec-v9.0.5): `libnpmexec@9.0.5` - [workspace](https://github.com/npm/cli/releases/tag/libnpmfund-v6.0.5): `libnpmfund@6.0.5` - [workspace](https://github.com/npm/cli/releases/tag/libnpmpack-v8.0.5): `libnpmpack@8.0.5` ### [`v10.9.7`](https://github.com/npm/cli/releases/tag/v10.9.7) [Compare Source](https://github.com/npm/cli/compare/v10.9.6...v10.9.7) ##### Bug Fixes - [`bbcd455`](https://github.com/npm/cli/commit/bbcd45502315365286ce8b35a9585c5e4c516e6b) [#&#8203;9120](https://github.com/npm/cli/pull/9120) arborist: v10 - backport store, lock-only, and override sibling fixes ([#&#8203;9120](https://github.com/npm/cli/issues/9120)) ([@&#8203;manzoorwanijk](https://github.com/manzoorwanijk)) ##### Dependencies - [`cc9a4de`](https://github.com/npm/cli/commit/cc9a4de0a9552f7942dcaa3d72e7a2c7163e3b31) [#&#8203;9130](https://github.com/npm/cli/pull/9130) hoist production [@&#8203;sigstore](https://github.com/sigstore) dependencies ##### Chores - [`e5c1309`](https://github.com/npm/cli/commit/e5c1309693f9a94044be87d7642b0327a8f27569) [#&#8203;9130](https://github.com/npm/cli/pull/9130) dev dependency updates ([@&#8203;wraithgar](https://github.com/wraithgar)) - [workspace](https://github.com/npm/cli/releases/tag/arborist-v8.0.4): `@npmcli/arborist@8.0.4` - [workspace](https://github.com/npm/cli/releases/tag/libnpmdiff-v7.0.4): `libnpmdiff@7.0.4` - [workspace](https://github.com/npm/cli/releases/tag/libnpmexec-v9.0.4): `libnpmexec@9.0.4` - [workspace](https://github.com/npm/cli/releases/tag/libnpmfund-v6.0.4): `libnpmfund@6.0.4` - [workspace](https://github.com/npm/cli/releases/tag/libnpmpack-v8.0.4): `libnpmpack@8.0.4` ### [`v10.9.6`](https://github.com/npm/cli/releases/tag/v10.9.6) [Compare Source](https://github.com/npm/cli/compare/v10.9.5...v10.9.6) ##### Bug Fixes - [`d6fe671`](https://github.com/npm/cli/commit/d6fe671dfb6137bf6dcbaaa23abfce95ff1d4270) [#&#8203;9098](https://github.com/npm/cli/pull/9098) arborist: v10 - backport multiple fixes for linked install ([#&#8203;9098](https://github.com/npm/cli/issues/9098)) ([@&#8203;manzoorwanijk](https://github.com/manzoorwanijk)) ##### Dependencies - [`a5dadad`](https://github.com/npm/cli/commit/a5dadad48ecbea9783d12d355e4031f9f22d845f) [#&#8203;9067](https://github.com/npm/cli/pull/9067) `tar@7.5.11` - [`87abb92`](https://github.com/npm/cli/commit/87abb92b6e426104718341462b544496ba31d226) [#&#8203;9067](https://github.com/npm/cli/pull/9067) `pacote@20.0.1` - [`c2f0fd2`](https://github.com/npm/cli/commit/c2f0fd273075ed4d0ac33d17ede62f3915ccb5ef) [#&#8203;9067](https://github.com/npm/cli/pull/9067) `pacote@19.0.2` - [workspace](https://github.com/npm/cli/releases/tag/arborist-v8.0.3): `@npmcli/arborist@8.0.3` - [workspace](https://github.com/npm/cli/releases/tag/libnpmdiff-v7.0.3): `libnpmdiff@7.0.3` - [workspace](https://github.com/npm/cli/releases/tag/libnpmexec-v9.0.3): `libnpmexec@9.0.3` - [workspace](https://github.com/npm/cli/releases/tag/libnpmfund-v6.0.3): `libnpmfund@6.0.3` - [workspace](https://github.com/npm/cli/releases/tag/libnpmpack-v8.0.3): `libnpmpack@8.0.3` ### [`v10.9.5`](https://github.com/npm/cli/releases/tag/v10.9.5) [Compare Source](https://github.com/npm/cli/compare/v10.9.4...v10.9.5) ##### Bug Fixes - [`794f6c8`](https://github.com/npm/cli/commit/794f6c8f0d56698430d05430777d22dbfa92b353) [#&#8203;9011](https://github.com/npm/cli/pull/9011) backport linked strategy fixes from multiple PRs to v10 ([#&#8203;9011](https://github.com/npm/cli/issues/9011)) ([@&#8203;manzoorwanijk](https://github.com/manzoorwanijk)) ##### Dependencies - [`6717032`](https://github.com/npm/cli/commit/67170328a0c7110dc0e099ba409db0a478333939) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `tuf-js@3.1.0` - [`e4e25ea`](https://github.com/npm/cli/commit/e4e25ea2c1bf50b2938e653c192cc025484e78e3) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `tinyglobby@0.2.15` - [`9464329`](https://github.com/npm/cli/commit/946432913e06c5ee846fcd299b409e4b99f1e42c) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `socks@2.8.7` - [`23c3e17`](https://github.com/npm/cli/commit/23c3e17bdb1964387718aa55f0061bd424dfd3e1) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `postcss-selector-parser@7.1.1` - [`77f9c29`](https://github.com/npm/cli/commit/77f9c2900fa19303a7fc10177006ba7b7f13281e) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `p-map@7.0.4` - [`f1a0315`](https://github.com/npm/cli/commit/f1a03155de2fe18da4a3e45d775e32e19a74a3ef) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `npm-install-checks@7.1.2` - [`ad7d3ac`](https://github.com/npm/cli/commit/ad7d3ac98d49ce2ee9cf8080ec52c5d8261c0911) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `normalize-package-data@7.0.1` - [`63a7c82`](https://github.com/npm/cli/commit/63a7c823c822a35d802c06476ba53acef10aa7ca) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `node-gyp@11.5.0` - [`569d807`](https://github.com/npm/cli/commit/569d80764e75c608d50fbbcb87c14b184e3c13ab) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `isexe@3.1.5` - [`7dbe993`](https://github.com/npm/cli/commit/7dbe993583f6d5516848bc831e5aa5d87f82529b) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `fdir@6.5.0` - [`f241a38`](https://github.com/npm/cli/commit/f241a381693dde11b401f62bc95a2add798e2794) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `exponential-backoff@3.1.3` - [`bdeabff`](https://github.com/npm/cli/commit/bdeabff42ef46c12f33d602b7edada53700a04df) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `ci-info@4.4.0` - [`d8ebcd5`](https://github.com/npm/cli/commit/d8ebcd5fa1b954f0120f3f613560c3208097e9f0) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `aproba@2.1.0` - [`be1b008`](https://github.com/npm/cli/commit/be1b008a4b3dfbfd841551376b9083b55d0aca8f) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `spdx-license-ids@3.0.23` - [`1005efd`](https://github.com/npm/cli/commit/1005efd909062eeb0e287f3098c5ff2ea2a820eb) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `strip-ansi@7.2.0` - [`d00bf96`](https://github.com/npm/cli/commit/d00bf965cbd8c82e5788115c7d66ef2a0bbe8336) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `diff@5.2.2` - [`7a74819`](https://github.com/npm/cli/commit/7a7481977c0e7defde15583efca098e8bad13751) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `debug@4.4.3` - [`938db00`](https://github.com/npm/cli/commit/938db00b6174a35801063a73bfe06ac77e61c40a) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `minipass@7.1.3` - [`70e90e5`](https://github.com/npm/cli/commit/70e90e5a13d4bf55ca1abde49309d35a1fb6cea4) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `minimatch@9.0.9` - [`733ff41`](https://github.com/npm/cli/commit/733ff4152e628701c39400a9adc085d245454058) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `glob@10.5.0` - [`ea8227a`](https://github.com/npm/cli/commit/ea8227a254adfbc75df2123be31e76ab87352d74) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `ansi-styles@6.2.3` - [`edd20ef`](https://github.com/npm/cli/commit/edd20ef12f5fd14fa8763416ef9f52c3040d48db) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `ansi-regex@6.2.2` - [`2592b45`](https://github.com/npm/cli/commit/2592b458dc1cb49e843304f7253c28ae14866c13) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `agent-base@7.7.4` - [`3174366`](https://github.com/npm/cli/commit/3174366370d713eb27d3acbe83b7892c33e0d198) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `semver@7.7.4` - [`380df0e`](https://github.com/npm/cli/commit/380df0e1a091f607692f770db2ebe566518b9955) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `tar@7.5.9` - [`49025ae`](https://github.com/npm/cli/commit/49025ae5ffc4385b4518a025f03ef47948ec4cda) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `chalk@5.6.2` - [`64601cd`](https://github.com/npm/cli/commit/64601cdb25424ed45fb706f49059caf8cfcdf5e7) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `@npmcli/promise-spawn@8.0.3` - [`0e23c00`](https://github.com/npm/cli/commit/0e23c00a30dc13f9485b2dea842ea03f43367c72) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `validate-npm-package-name@6.0.2` ##### Chores - [`72cc7de`](https://github.com/npm/cli/commit/72cc7de03deeea4ce081dfc1ef36863e8b98fec9) [#&#8203;9056](https://github.com/npm/cli/pull/9056) `template-oss@4.29.0` ([@&#8203;wraithgar](https://github.com/wraithgar)) - [`51711b8`](https://github.com/npm/cli/commit/51711b851e61c9d701400268b38d2e82564815a6) [#&#8203;9056](https://github.com/npm/cli/pull/9056) dev dependency updates ([@&#8203;wraithgar](https://github.com/wraithgar)) - [workspace](https://github.com/npm/cli/releases/tag/arborist-v8.0.2): `@npmcli/arborist@8.0.2` - [workspace](https://github.com/npm/cli/releases/tag/libnpmdiff-v7.0.2): `libnpmdiff@7.0.2` - [workspace](https://github.com/npm/cli/releases/tag/libnpmexec-v9.0.2): `libnpmexec@9.0.2` - [workspace](https://github.com/npm/cli/releases/tag/libnpmfund-v6.0.2): `libnpmfund@6.0.2` - [workspace](https://github.com/npm/cli/releases/tag/libnpmpack-v8.0.2): `libnpmpack@8.0.2` - [workspace](https://github.com/npm/cli/releases/tag/libnpmpublish-v10.0.2): `libnpmpublish@10.0.2` ### [`v10.9.4`](https://github.com/npm/cli/releases/tag/v10.9.4) [Compare Source](https://github.com/npm/cli/compare/v10.9.3...v10.9.4) ##### Bug Fixes - [`f7ff89c`](https://github.com/npm/cli/commit/f7ff89ca89e1cf69d70786b2bc26ff5c04ac31eb) [#&#8203;8551](https://github.com/npm/cli/pull/8551) powershell: fix StrictMode and improve argument parsing ([#&#8203;8551](https://github.com/npm/cli/issues/8551)) ([@&#8203;alexsch01](https://github.com/alexsch01), [@&#8203;splatteredbits](https://github.com/splatteredbits)) ### [`v10.9.3`](https://github.com/npm/cli/releases/tag/v10.9.3) [Compare Source](https://github.com/npm/cli/compare/v10.9.2...v10.9.3) ##### Bug Fixes - [`7cff878`](https://github.com/npm/cli/commit/7cff878a3dd95b6a9d0bae118914626f5480ecb5) [#&#8203;8343](https://github.com/npm/cli/pull/8343) powershell: use Invoke-Expression to pass args ([#&#8203;8343](https://github.com/npm/cli/issues/8343)) ([@&#8203;alexsch01](https://github.com/alexsch01)) - [`78dc057`](https://github.com/npm/cli/commit/78dc0574cad0295fb49a96032871e17ea6c2cffc) [#&#8203;8378](https://github.com/npm/cli/pull/8378) stop working around bug fixed in `npm-package-arg@12.0.2` ([@&#8203;TrevorBurnham](https://github.com/TrevorBurnham)) - [`e510f14`](https://github.com/npm/cli/commit/e510f14bf6a20d67e7b37c3f25ff271d9f7a0da5) [#&#8203;8248](https://github.com/npm/cli/pull/8248) docs: 'pacakge' -> 'package' ([#&#8203;8248](https://github.com/npm/cli/issues/8248)) ([@&#8203;t3hmrman](https://github.com/t3hmrman)) ##### Dependencies - [`c38ec84`](https://github.com/npm/cli/commit/c38ec84f94cec3b9aa34401ca52524eae0773f34) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `validate-npm-package-name@6.0.1` - [`72564c5`](https://github.com/npm/cli/commit/72564c5390529aa1749fa654b97ac26be566fa98) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `spdx-license-ids@3.0.21` - [`20fa199`](https://github.com/npm/cli/commit/20fa199cb3f1b6788875cca2c80a3776dc64efe4) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `socks@2.8.5` - [`48c193a`](https://github.com/npm/cli/commit/48c193a088ef4f982b662c8c8a946b4d1d52338c) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `socks-proxy-agent@8.0.5` - [`00fccfb`](https://github.com/npm/cli/commit/00fccfbf52b0af67ac9e715d1ebd97d48736a431) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `semver@7.7.2` - [`5ab8aac`](https://github.com/npm/cli/commit/5ab8aac000afc9aa627b77a659c6d56ebfa512f2) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `read@4.1.0` - [`224c69e`](https://github.com/npm/cli/commit/224c69e7a957532677f00292ce366a621f43dda7) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `p-map@7.0.3` - [`1e41678`](https://github.com/npm/cli/commit/1e41678627b3652afe2d23cce49b48aae7374ddc) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `npm-package-arg@12.0.2` - [`e9cf30e`](https://github.com/npm/cli/commit/e9cf30e74f22fd3584831a6bcf2834d2b9033576) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `nopt@8.1.0` - [`2bedf25`](https://github.com/npm/cli/commit/2bedf256df7a4072a71e6bc2d67526c428b6933b) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `minizlib@3.0.2` - [`a795ee0`](https://github.com/npm/cli/commit/a795ee032cd590ef7b267cb9be3771d981b95b86) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `minipass-fetch@4.0.1` - [`8ed043c`](https://github.com/npm/cli/commit/8ed043c174578e816a7dfa4c16410e6cff7db21b) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `https-proxy-agent@7.0.6` - [`74518d0`](https://github.com/npm/cli/commit/74518d05f4f5f5788e6bc58680c62b46f7a5c512) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `http-cache-semantics@4.2.0` - [`cc7dcfc`](https://github.com/npm/cli/commit/cc7dcfc76faa5fd8e415437404347ed1758a1a4b) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `hosted-git-info@8.1.0` - [`13aea40`](https://github.com/npm/cli/commit/13aea4091c21162588937f38b5705806e6eeffd6) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `foreground-child@3.3.1` - [`9c81599`](https://github.com/npm/cli/commit/9c81599086e5e8a0245004e0814d92c4222adb1f) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `exponential-backoff@3.1.2` - [`b59097f`](https://github.com/npm/cli/commit/b59097f3ab3d4a300c5112f6f0b4f600f93381b9) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `node-gyp@11.2.0` - [`8b29435`](https://github.com/npm/cli/commit/8b2943514f1a699ce4d5b8610b55eb867758bfed) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `debug@4.4.1` - [`4c8e170`](https://github.com/npm/cli/commit/4c8e170a5507c37ca85dbd3695a7a4813e347ac1) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `cidr-regex@4.1.3` - [`9bb94a3`](https://github.com/npm/cli/commit/9bb94a310e6a2f3d2556f7945d5cc10f3a7f1fc9) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `is-cidr@5.1.1` - [`a1dbb0b`](https://github.com/npm/cli/commit/a1dbb0b11a0e2f7df47c93fd0a5d0068e19475e5) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `ci-info@4.2.0` - [`0a5f2ff`](https://github.com/npm/cli/commit/0a5f2ff9397e03ef092073fa05076213a00cb480) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `chalk@5.4.1` - [`7912c9c`](https://github.com/npm/cli/commit/7912c9ca4bdadb38f1445903291116c7365500ae) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `brace-expansion@2.0.2` - [`19028b8`](https://github.com/npm/cli/commit/19028b89b8923ad772a48e352557665bc75c0687) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `agent-base@7.1.3` - [`fd26776`](https://github.com/npm/cli/commit/fd267760a1d0cb0908e44525c7a5d1ca124f8d2a) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `abbrev@3.0.1` - [`dbb23ab`](https://github.com/npm/cli/commit/dbb23abac7cca20c55f3831b2be747e9d1dc2b95) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `sigstore@3.1.0` - [`92feb9b`](https://github.com/npm/cli/commit/92feb9b18fa007f743004420afbed895c7f0a279) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `@sigstore/protobuf-specs@0.4.3` - [`4fd7174`](https://github.com/npm/cli/commit/4fd7174b2fa4ba7fd0b2b333b6184ea3f0b649bd) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `@sigstore/tuf@3.1.1` - [`b327bc2`](https://github.com/npm/cli/commit/b327bc214ebe228bfe588ed0fee360cf096e607f) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `@npmcli/run-script@9.1.0` - [`04e7e1c`](https://github.com/npm/cli/commit/04e7e1c4ed4e90c6e5b4691675cb994e601c07d6) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `@npmcli/redact@3.2.2`. - [`90d2aab`](https://github.com/npm/cli/commit/90d2aabd98aa873ae804b559331c9b2a316c0dd5) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `@npmcli/query@4.0.1` - [`2e47537`](https://github.com/npm/cli/commit/2e47537a30eae4ad505a7863f375360f16e3fde3) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `@npmcli/package-json@6.2.0` - [`a5eb5dd`](https://github.com/npm/cli/commit/a5eb5dd28e6b2ac626a3a5d44b936402565c4694) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `@npmcli/git@6.0.3` ##### Chores - [`15e545b`](https://github.com/npm/cli/commit/15e545b7a0301798b28056382325cd83e02621e7) [#&#8203;8384](https://github.com/npm/cli/pull/8384) `@npmcli/template-oss@4.24.4` ([#&#8203;8384](https://github.com/npm/cli/issues/8384)) ([@&#8203;wraithgar](https://github.com/wraithgar)) - [`fb5a9f2`](https://github.com/npm/cli/commit/fb5a9f2ac7047655b79988c972ed99ef3b8fa8fe) [#&#8203;8378](https://github.com/npm/cli/pull/8378) `@npmcli/template-oss@4.24.3` ([@&#8203;wraithgar](https://github.com/wraithgar)) - [`19da79a`](https://github.com/npm/cli/commit/19da79a93442de81470355e87147ebcd179b7e80) [#&#8203;8378](https://github.com/npm/cli/pull/8378) dev dependency updates ([@&#8203;wraithgar](https://github.com/wraithgar)) - [workspace](https://github.com/npm/cli/releases/tag/arborist-v8.0.1): `@npmcli/arborist@8.0.1` - [workspace](https://github.com/npm/cli/releases/tag/libnpmdiff-v7.0.1): `libnpmdiff@7.0.1` - [workspace](https://github.com/npm/cli/releases/tag/libnpmexec-v9.0.1): `libnpmexec@9.0.1` - [workspace](https://github.com/npm/cli/releases/tag/libnpmfund-v6.0.1): `libnpmfund@6.0.1` - [workspace](https://github.com/npm/cli/releases/tag/libnpmpack-v8.0.1): `libnpmpack@8.0.1` </details> <details> <summary>prettier/prettier (prettier)</summary> ### [`v3.9.10`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#3910) [Compare Source](https://github.com/prettier/prettier/compare/3.9.9...3.9.10) [diff](https://github.com/prettier/prettier/compare/3.9.9...3.9.10) ##### Markdown: Update `micromark-extension-gfm-table` to fix the table parse issue on performance ([#&#8203;20266](https://github.com/prettier/prettier/pull/20266) by [@&#8203;fisker](https://github.com/fisker)) See [micromark/micromark-extension-gfm-table@`4f43ead`](https://github.com/micromark/micromark-extension-gfm-table/commit/4f43ead37b786bc531d924530d4ab4c714886267) for details. ### [`v3.9.9`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#399) [Compare Source](https://github.com/prettier/prettier/compare/3.9.8...3.9.9) [diff](https://github.com/prettier/prettier/compare/3.9.8...3.9.9) ##### Markdown: Fix text with `$` been incorrectly parsed as math syntax ([#&#8203;20140](https://github.com/prettier/prettier/pull/20140) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```md <!-- Input --> **Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here. <!-- Prettier 3.9.8 --> **Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR`from`c.sh`, before anything else runs here. <!-- Prettier 3.9.9 --> **Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here. ``` ### [`v3.9.8`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#398) [Compare Source](https://github.com/prettier/prettier/compare/3.9.7...3.9.8) [diff](https://github.com/prettier/prettier/compare/3.9.7...3.9.8) ##### Markdown: Don't let Liquid objects interrupt paragraphs ([#&#8203;20087](https://github.com/prettier/prettier/pull/20087) by [@&#8203;seiyab](https://github.com/seiyab)) <!-- prettier-ignore --> ```markdown <!-- Input --> If `module` is not a [`WebAssembly.Module`](/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a {{jsxref("TypeError")}} is thrown. <!-- Prettier 3.9.7 --> If `module` is not a [`WebAssembly.Module`](/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a {{jsxref("TypeError")}} is thrown. <!-- Prettier 3.9.8 --> If `module` is not a [`WebAssembly.Module`](/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a {{jsxref("TypeError")}} is thrown. ``` ### [`v3.9.7`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#397) [Compare Source](https://github.com/prettier/prettier/compare/3.9.6...3.9.7) [diff](https://github.com/prettier/prettier/compare/3.9.6...3.9.7) ##### Markdown: Prevent indentation drift in list-item code blocks ([#&#8203;19647](https://github.com/prettier/prettier/pull/19647), [#&#8203;19990](https://github.com/prettier/prettier/pull/19990) by [@&#8203;Austin1serb](https://github.com/Austin1serb), [@&#8203;giaBaoJS](https://github.com/giaBaoJS)) <!-- prettier-ignore --> ```markdown <!-- Input --> - [x] short first line. second paragraph at six spaces that wraps onto another line here. <!-- Prettier 3.9.6 --> - [x] short first line. second paragraph at six spaces that wraps onto another line here. <!-- Prettier 3.9.7 --> - [x] short first line. second paragraph at six spaces that wraps onto another line here. ``` ##### JavaScript: Fix embedded template literal idempotency ([#&#8203;19725](https://github.com/prettier/prettier/pull/19725) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```jsx // Input const foo = html` <div>${getText({ value, })}</div> `; // Prettier 3.9.6 (first format) const foo = html` <div> ${getText({ value, })} </div> `; // Prettier 3.9.6 (second format) const foo = html` <div> ${getText({ value, })} </div> `; // Prettier 3.9.7 const foo = html` <div> ${getText({ value, })} </div> `; ``` ##### Markdown: Preserve Liquid blocks after Markdown tables ([#&#8203;19730](https://github.com/prettier/prettier/pull/19730) by [@&#8203;wanxiankai](https://github.com/wanxiankai), [@&#8203;seiyab](https://github.com/seiyab)) <!-- prettier-ignore --> ```markdown <!-- Input --> | Argument | Type | | -------- | ---- | {% set default_params = { "model": ["str"], } %} <!-- Prettier 3.9.6 --> | Argument | Type | | ------------------------- | ---- | | {% set default_params = { | "model": ["str"], } %} <!-- Prettier 3.9.7 --> | Argument | Type | | -------- | ---- | {% set default_params = { "model": ["str"], } %} ``` ##### Markdown: Preserve single tildes in Markdown ([#&#8203;19739](https://github.com/prettier/prettier/pull/19739) by [@&#8203;lazerg](https://github.com/lazerg)) Since 3.9.0, single-tilde spans like `H~2~O` were rewritten to double tildes, turning subscript syntax into strike-through. Only double tildes are treated that way now, matching GitHub. <!-- prettier-ignore --> ```markdown <!-- Input --> H~2~O <!-- Prettier 3.9.6 --> H~~2~~O <!-- Prettier 3.9.7 --> H~2~O ``` ##### Markdown: Fix Markdown blockquote containing `>` characters ([#&#8203;19802](https://github.com/prettier/prettier/pull/19802) by [@&#8203;seiyab](https://github.com/seiyab)) <!-- prettier-ignore --> ```md <!-- Input --> > **test**\> <!-- Prettier 3.9.6 --> > **test**>\> <!-- Prettier 3.9.7 --> > **test**\> ``` ##### Markdown: Strip blockquote markers from a setext heading's continuation lines ([#&#8203;19878](https://github.com/prettier/prettier/pull/19878) by [@&#8203;Kjubikstronk](https://github.com/Kjubikstronk)) A setext heading spanning multiple lines inside a blockquote kept the `>` marker of its continuation lines as literal text. <!-- prettier-ignore --> ```md <!-- Input --> > Multi > Line > === <!-- Prettier 3.9.6 --> > Multi > Line > === <!-- Prettier 3.9.7 --> > Multi > Line > === ``` ##### Markdown: Fix HTML block indentation drift in markdown list items ([#&#8203;19987](https://github.com/prettier/prettier/pull/19987) by [@&#8203;lazerg](https://github.com/lazerg)) <!-- prettier-ignore --> ```markdown <!-- Input --> 1. Enable images: <p align="center"> <img alt="example"> </p> <!-- Prettier 3.9.6 (--tab-width=4) --> 1. Enable images: <p align="center"> <img alt="example"> </p> <!-- Prettier 3.9.7 (--tab-width=4) --> 1. Enable images: <p align="center"> <img alt="example"> </p> ``` ##### Angular: Support `@boundary` error boundaries ([#&#8203;20014](https://github.com/prettier/prettier/pull/20014) by [@&#8203;Yahiro025](https://github.com/Yahiro025)) <!-- prettier-ignore --> ```html <!-- Input --> @boundary { <complex-chart [data]="data"/> } @error (let err) { <p>{{err.message}}</p> } <!-- Prettier 3.9.6 --> SyntaxError: Unexpected character "EOF" (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.) (6:1) <!-- Prettier 3.9.7 --> @boundary { <complex-chart [data]="data" /> } @error (let err) { <p>{{ err.message }}</p> } ``` ### [`v3.9.6`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#396) [Compare Source](https://github.com/prettier/prettier/compare/3.9.5...3.9.6) [diff](https://github.com/prettier/prettier/compare/3.9.5...3.9.6) ##### TypeScript: Preserve quotes for methods named `new` ([#&#8203;19621](https://github.com/prettier/prettier/pull/19621) by [@&#8203;kovsu](https://github.com/kovsu)) <!-- prettier-ignore --> ```tsx // Input interface Container { "new"(id: string): number; } // Prettier 3.9.5 interface Container { new(id: string): number; } // Prettier 3.9.6 interface Container { "new"(id: string): number; } ``` ##### TypeScript: Support `import defer` ([#&#8203;19624](https://github.com/prettier/prettier/pull/19624), [#&#8203;19675](https://github.com/prettier/prettier/pull/19675) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```tsx // Input import defer * as foo from "foo"; // Prettier 3.9.5 import * as foo from "foo"; // Prettier 3.9.6 import defer * as foo from "foo"; ``` ##### JavaScript: Added a new official plugin `@prettier/plugin-yuku` ([#&#8203;19628](https://github.com/prettier/prettier/pull/19628), [#&#8203;19629](https://github.com/prettier/prettier/pull/19629) by [@&#8203;fisker](https://github.com/fisker)) `@prettier/plugin-yuku` is powered by [Yuku](https://yuku.fyi/) (A high-performance JavaScript/TypeScript compiler toolchain written in Zig). This plugin includes two new parsers: `yuku` (JavaScript syntax) and `yuku-ts` (TypeScript syntax). **To use this plugin:** 1. Install the plugin: ```bash yarn add --dev prettier @prettier/plugin-yuku ``` 2. Add it to your `.prettierrc`: ```yaml plugins: - "@prettier/plugin-yuku" ``` Due to package size limitations, this plugin is not bundled with the main prettier package and must be installed separately. For more information, check [the package homepage](https://github.com/prettier/prettier/tree/main/packages/plugin-yuku). Big thanks to [@&#8203;arshad-yaseen](https://github.com/arshad-yaseen) for his excellent work. ### [`v3.9.5`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#395) [Compare Source](https://github.com/prettier/prettier/compare/3.9.4...3.9.5) [diff](https://github.com/prettier/prettier/compare/3.9.4...3.9.5) ##### Markdown: Cap ordered list mark at 999,999,999 ([#&#8203;19351](https://github.com/prettier/prettier/pull/19351) by [@&#8203;tats-u](https://github.com/tats-u)) CommonMark parsers only support ordered list item numbers up to 999,999,999. With this change, Prettier now caps the ordered list item number at 999,999,999 to ensure that the output is correctly parsed as an ordered list by CommonMark parsers. Numbers larger than 999,999,999 are not parsed as list item numbers and are left unchanged in the output: <!-- prettier-ignore --> ```markdown <!-- Input --> 999999998. text 999999998. text 999999998. text 999999998. text 1234567890123456789012) text <!-- Prettier 3.9.4 --> 999999998. text 999999999. text 1000000000. text 1000000001. text 1234567890123456789012) text <!-- Prettier 3.9.5 --> 999999998. text 999999999. text 999999999. text 999999999. text 1234567890123456789012) text ``` ##### Markdown: Avoid corrupting empty link with title ([#&#8203;19487](https://github.com/prettier/prettier/pull/19487) by [@&#8203;andersk](https://github.com/andersk)) Do not remove `<>` from an inline link or image with an empty URL and a title, as this removal would change its interpretation. <!-- prettier-ignore --> ```md <!-- Input --> [link](<> "title") <!-- Prettier 3.9.4 --> [link]( "title") <!-- Prettier 3.9.5 --> [link](<> "title") ``` ##### Less: Remove extra spaces after `[` in map lookups ([#&#8203;19503](https://github.com/prettier/prettier/pull/19503) by [@&#8203;kovsu](https://github.com/kovsu)) <!-- prettier-ignore --> ```less // Input .foo { color: #theme[ primary]; color: #theme[@name]; color: #theme[@@name]; } // Prettier 3.9.4 .foo { color: #theme[ primary]; color: #theme[ @name]; color: #theme[ @@name]; } // Prettier 3.9.5 .foo { color: #theme[primary]; color: #theme[@name]; color: #theme[@@name]; } ``` ##### CSS: Prevent addition space in `type()` with `+` ([#&#8203;19516](https://github.com/prettier/prettier/pull/19516) by [@&#8203;bigandy](https://github.com/bigandy)) This fixes the addition space before `+` in CSS `type()` declaration. For example `type(<number>+)` was being converted into `type(<number> +)` which is invalid CSS and does not work. <!-- prettier-ignore --> ```css /* Input */ div { border-radius: attr(br type(<length>+)); } /* Prettier 3.9.4 */ div { border-radius: attr(br type(<length> +)); } /* Prettier 3.9.5 */ div { border-radius: attr(br type(<length>+)); } ``` ##### Less: Remove spaces between merge markers and colons ([#&#8203;19517](https://github.com/prettier/prettier/pull/19517) by [@&#8203;kovsu](https://github.com/kovsu)) <!-- prettier-ignore --> ```less // Input a { box-shadow + : 0 0 1px #&#8203;000; } // Prettier 3.9.4 a { box-shadow+ : 0 0 1px #&#8203;000; } // Prettier 3.9.5 a { box-shadow+: 0 0 1px #&#8203;000; } ``` ##### Markdown: Preserve wiki links with aliases ([#&#8203;19527](https://github.com/prettier/prettier/pull/19527) by [@&#8203;kovsu](https://github.com/kovsu)) <!-- prettier-ignore --> ```markdown <!-- Input --> [[Foo:Bar]] <!-- Prettier 3.9.4 --> [[Foo]] <!-- Prettier 3.9.5 --> [[Foo:Bar]] ``` ##### TypeScript: Fix comments being dropped on shorthand `type` import/export specifiers ([#&#8203;19565](https://github.com/prettier/prettier/pull/19565) by [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger)) <!-- prettier-ignore --> ```tsx // Input export { type /* comment */ T } from "foo"; import { type /* comment */ T } from "foo"; // Prettier 3.9.4 Error: Comment "comment" was not printed. Please report this error! // Prettier 3.9.5 export { type /* comment */ T } from "foo"; import { type /* comment */ T } from "foo"; ``` ##### Miscellaneous: Preserving comments' `placement` property ([#&#8203;19567](https://github.com/prettier/prettier/pull/19567) by [@&#8203;Janther](https://github.com/Janther)) Prettier\@&#8203;3.9.0 deleted an undocumented property on comments, which was already used by plugins, `comment.placement` is now available again after comment attach. ##### Flow: Stop enforcing empty module declaration to break ([#&#8203;19568](https://github.com/prettier/prettier/pull/19568) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```flow // Input declare module "foo" {} // Prettier 3.9.4 declare module "foo" { } // Prettier 3.9.5 declare module "foo" {} ``` ##### Angular: Support expression for exhaustive typechecking ([#&#8203;19571](https://github.com/prettier/prettier/pull/19571) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```html <!-- Input --> @switch (state.mode) { @default never(state); } <!-- Prettier 3.9.4 --> @switch (state.mode) { @default never; } <!-- Prettier 3.9.5 --> @switch (state.mode) { @default never(state); } ``` ##### TypeScript: Ignore comments inside mapped type when checking type parameter comments ([#&#8203;19572](https://github.com/prettier/prettier/pull/19572) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```tsx // Input foo<{ // comment [key in keyof Foo]: number }>(); // Prettier 3.9.4 foo< { // comment [key in keyof Foo]: number; } >(); // Prettier 3.9.5 foo<{ // comment [key in keyof Foo]: number; }>(); ``` ##### Less: Fix adjacent block comments being corrupted ([#&#8203;19574](https://github.com/prettier/prettier/pull/19574) by [@&#8203;kovsu](https://github.com/kovsu)) <!-- prettier-ignore --> ```less // Input /* a *//* b */ /* a */* { color: red; } // Prettier 3.9.4 /* a */ /* b */ /* a * { color: red; } // Prettier 3.9.5 /* a */ /* b */ /* a */ * { color: red; } ``` ##### JavaScript: Handle dangling comments in `SwitchStatement` ([#&#8203;19581](https://github.com/prettier/prettier/pull/19581) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```jsx // Input switch (foo) { // comment } // Prettier 3.9.4 switch ( foo // comment ) { } // Prettier 3.9.5 switch (foo) { // comment } ``` ##### TypeScript: Remove space in comment-only object type ([#&#8203;19583](https://github.com/prettier/prettier/pull/19583) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```tsx // Input var foo = { /* comment */ }; type Foo = { /* comment */ }; // Prettier 3.9.4 var foo = {/* comment */}; type Foo = { /* comment */ }; // Prettier 3.9.5 var foo = {/* comment */}; type Foo = {/* comment */}; ``` ### [`v3.9.4`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#394) [Compare Source](https://github.com/prettier/prettier/compare/3.9.3...3.9.4) [diff](https://github.com/prettier/prettier/compare/3.9.3...3.9.4) ##### Angular: Format `@content(name)` -> `@content (name)` to align with other block syntax ([#&#8203;19499](https://github.com/prettier/prettier/pull/19499) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```html <!-- Input --> <FancyButton [label]="title"> @content (icon) { <span>Icon!</span> } @content (description) { <span>Description text</span> } <span>Other children</span> </FancyButton> <!-- Prettier 3.9.3 --> <FancyButton [label]="title"> @content(icon) { <span>Icon!</span> } @content(description) { <span>Description text</span> } <span>Other children</span> </FancyButton> <!-- Prettier 3.9.4 --> <FancyButton [label]="title"> @content (icon) { <span>Icon!</span> } @content (description) { <span>Description text</span> } <span>Other children</span> </FancyButton> ``` ### [`v3.9.3`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#393) [Compare Source](https://github.com/prettier/prettier/compare/3.9.2...3.9.3) [diff](https://github.com/prettier/prettier/compare/3.9.1...3.9.3) ##### Markdown: Fix unexpected removal of characters in liquid syntax ([#&#8203;19489](https://github.com/prettier/prettier/pull/19489) by [@&#8203;seiyab](https://github.com/seiyab)) <!-- prettier-ignore --> ```md // Input <!-- Input --> {{ page.title }} text <!-- Prettier 3.9.1 --> {{ page.title text <!-- Prettier 3.9.3 --> {{ page.title }} text ``` ##### TypeScript: Allow decorators to be used with declare on class fields ([#&#8203;19492](https://github.com/prettier/prettier/pull/19492) by [@&#8203;evoactivity](https://github.com/evoactivity)) Extensively used within the Ember ecosystem, decorators with `declare` on class fields will ignore the babel parser error and allow Prettier to format the code without breaking it. <!-- prettier-ignore --> ```ts // Input export default class ProjectStatusComponent extends Component<ProjectStatusSig> { @service declare server: ServerService; } // Prettier 3.9.1 // SyntaxError: Decorators can't be used with a declare field. (2:3) // 1 | export default class ProjectStatusComponent extends Component<ProjectStatusSig> { //> 2 | @service declare server: ServerService; // | ^ // 3 | } // Prettier 3.9.3 export default class ProjectStatusComponent extends Component<ProjectStatusSig> { @service declare server: ServerService; } ``` ### [`v3.9.2`](https://github.com/prettier/prettier/compare/3.9.1...3.9.2) [Compare Source](https://github.com/prettier/prettier/compare/3.9.1...3.9.2) ### [`v3.9.1`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#3910) [Compare Source](https://github.com/prettier/prettier/compare/3.9.0...3.9.1) [diff](https://github.com/prettier/prettier/compare/3.9.9...3.9.10) ##### Markdown: Update `micromark-extension-gfm-table` to fix the table parse issue on performance ([#&#8203;20266](https://github.com/prettier/prettier/pull/20266) by [@&#8203;fisker](https://github.com/fisker)) See [micromark/micromark-extension-gfm-table@`4f43ead`](https://github.com/micromark/micromark-extension-gfm-table/commit/4f43ead37b786bc531d924530d4ab4c714886267) for details. ### [`v3.9.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#390) [Compare Source](https://github.com/prettier/prettier/compare/3.8.5...3.9.0) [diff](https://github.com/prettier/prettier/compare/3.8.5...3.9.0) 🔗 [Release Notes](https://prettier.io/blog/2026/06/27/3.9.0) ### [`v3.8.5`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#385) [Compare Source](https://github.com/prettier/prettier/compare/3.8.4...3.8.5) [diff](https://github.com/prettier/prettier/compare/3.8.4...3.8.5) ##### Flow: Support `readonly` as a variance annotation ([#&#8203;19022](https://github.com/prettier/prettier/pull/19022) by [@&#8203;marcoww6](https://github.com/marcoww6)) Flow now accepts `readonly` as a property variance annotation, equivalent to `+` (covariant/read-only). <!-- prettier-ignore --> ```jsx // Input type T = { readonly foo: string, }; // Prettier 3.8.4 SyntaxError // Prettier 3.8.5 type T = { readonly foo: string, }; ``` ### [`v3.8.4`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#384) [Compare Source](https://github.com/prettier/prettier/compare/3.8.3...3.8.4) [diff](https://github.com/prettier/prettier/compare/3.8.3...3.8.4) ##### Markdown: Fix blank lines between list items and nested sub-lists being removed in Markdown/MDX ([#&#8203;17746](https://github.com/prettier/prettier/pull/17746) by [@&#8203;byplayer](https://github.com/byplayer)) Prettier was removing blank lines between list items and their nested sub-lists, converting loose lists into tight lists and changing their semantic meaning. <!-- prettier-ignore --> ```markdown <!-- Input --> - a - b - c - d <!-- Prettier 3.8.3 --> - a - b - c - d <!-- Prettier 3.8.4 --> - a - b - c - d ``` </details> <details> <summary>Microsoft/tslib (tslib)</summary> ### [`v2.9.1`](https://github.com/microsoft/tslib/releases/tag/v2.9.1): tslib 2.9.1 [Compare Source](https://github.com/Microsoft/tslib/compare/v2.8.1...v2.9.1) #### What's Changed - Update dependencies by [@&#8203;jakebailey](https://github.com/jakebailey) in [microsoft#283](https://github.com/microsoft/tslib/pull/283) - Switch to new release pipeline by [@&#8203;jakebailey](https://github.com/jakebailey) in [microsoft#289](https://github.com/microsoft/tslib/pull/289) - Port content mapper changes to rewriteRelativeImportExtension by [@&#8203;andrewbranch](https://github.com/andrewbranch) in [microsoft#295](https://github.com/microsoft/tslib/pull/295) - Stop requiring an ignored lockfile in release workflows by [@&#8203;jakebailey](https://github.com/jakebailey) in [microsoft#296](https://github.com/microsoft/tslib/pull/296) - Bump tslib to 2.9.0 by [@&#8203;typescript-automation](https://github.com/typescript-automation)\[bot] in [microsoft#297](https://github.com/microsoft/tslib/pull/297) - Stop running tests in the Azure release pipeline by [@&#8203;jakebailey](https://github.com/jakebailey) in [microsoft#298](https://github.com/microsoft/tslib/pull/298) - Bump tslib to 2.9.1 by [@&#8203;typescript-automation](https://github.com/typescript-automation)\[bot] in [microsoft#299](https://github.com/microsoft/tslib/pull/299) **Full Changelog**: <https://github.com/microsoft/tslib/compare/v2.8.1...v2.9.1> </details> <details> <summary>typescript-eslint/typescript-eslint (typescript-eslint)</summary> ### [`v8.72.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8721-2026-10-26) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.72.0...v8.72.1) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.72.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.72.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8720-2026-10-19) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.71.2...v8.72.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.72.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.71.2`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8712-2026-10-12) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.71.1...v8.71.2) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.2) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.71.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8711-2026-10-05) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.71.0...v8.71.1) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.71.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8710-2026-09-28) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.70.1...v8.71.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.70.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8701-2026-09-21) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.70.0...v8.70.1) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.70.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8700-2026-09-07) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.69.0...v8.70.0) ##### 🩹 Fixes - **eslint-plugin:** \[no-deprecated] report deprecated imported values used in object shorthand properties ([#&#8203;12780](https://github.com/typescript-eslint/typescript-eslint/pull/12780)) ##### ❤️ Thank You - Ulrich Stark [@&#8203;ulrichstark](https://github.com/ulrichstark) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.69.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8690-2026-08-31) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.68.0...v8.69.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.69.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.68.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8680-2026-08-24) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.67.0...v8.68.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.68.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.67.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8670-2026-08-10) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.66.0...v8.67.0) ##### 🚀 Features - **typescript-eslint:** export basic globs for using tseslint ([#&#8203;12105](https://github.com/typescript-eslint/typescript-eslint/pull/12105)) ##### ❤️ Thank You - Claude Sonnet 5 - Evyatar Daud [@&#8203;StyleShit](https://github.com/StyleShit) - Josh Goldberg - Josh Goldberg ✨ - Kirk Waiblinger [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.67.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.66.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8660-2026-08-03) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.65.0...v8.66.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.66.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.65.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8650-2026-07-20) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.64.0...v8.65.0) ##### 🚀 Features - add warning when TS 7 is detected ([#&#8203;12529](https://github.com/typescript-eslint/typescript-eslint/pull/12529)) ##### ❤️ Thank You - Josh Goldberg ✨ - Kirk Waiblinger [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.64.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8640-2026-07-13) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.63.0...v8.64.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.64.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.63.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8630-2026-07-06) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.62.1...v8.63.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.63.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.62.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8621-2026-06-29) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.62.0...v8.62.1) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.62.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.62.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8620-2026-06-22) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.61.1...v8.62.0) ##### 🚀 Features - remove redundant package.json "files" ([#&#8203;12444](https://github.com/typescript-eslint/typescript-eslint/pull/12444)) ##### ❤️ Thank You - Kirk Waiblinger [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.62.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.61.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8611-2026-06-15) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.61.0...v8.61.1) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.61.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.61.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8610-2026-06-08) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.60.1...v8.61.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.61.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.60.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8601-2026-06-01) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.60.0...v8.60.1) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.60.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8600-2026-05-25) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.59.4...v8.60.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.59.4`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8594-2026-05-18) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.59.3...v8.59.4) ##### 🩹 Fixes - **typescript-eslint:** export Compatible\* types from typescript-eslint to resolve pnpm TS error ([#&#8203;12340](https://github.com/typescript-eslint/typescript-eslint/pull/12340)) ##### ❤️ Thank You - Kirk Waiblinger [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.59.3`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8593-2026-05-11) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.59.2...v8.59.3) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> --- ### 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:eyJjcmVhdGVkSW5WZXIiOiI0NC4xODkuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjE5Ny4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Update all dependencies
Some checks failed
renovate/artifacts Artifact file update failure
CI / Frontend lint (pull_request) Failing after 18s
CI / Backend tests (pull_request) Successful in 21s
CI / Frontend unit tests (pull_request) Failing after 13s
CI / Frontend build (pull_request) Failing after 16s
CI / Playwright e2e (pull_request) Has been skipped
c150f3d258
andras force-pushed renovate/all from c150f3d258
Some checks failed
renovate/artifacts Artifact file update failure
CI / Frontend lint (pull_request) Failing after 18s
CI / Backend tests (pull_request) Successful in 21s
CI / Frontend unit tests (pull_request) Failing after 13s
CI / Frontend build (pull_request) Failing after 16s
CI / Playwright e2e (pull_request) Has been skipped
to 982ac9fd2b
Some checks failed
CI / Backend tests (pull_request) Successful in 18s
CI / Frontend lint (pull_request) Successful in 22s
CI / Frontend unit tests (pull_request) Failing after 20s
CI / Frontend build (pull_request) Successful in 27s
CI / Playwright e2e (pull_request) Failing after 1m1s
2026-10-30 17:48:30 +00:00
Compare
andras changed title from Update all dependencies to Update all non-major dependencies 2026-10-30 17:48:39 +00:00
andras force-pushed renovate/all from 982ac9fd2b
Some checks failed
CI / Backend tests (pull_request) Successful in 18s
CI / Frontend lint (pull_request) Successful in 22s
CI / Frontend unit tests (pull_request) Failing after 20s
CI / Frontend build (pull_request) Successful in 27s
CI / Playwright e2e (pull_request) Failing after 1m1s
to 3ba48a395d
Some checks failed
CI / Backend tests (pull_request) Successful in 21s
CI / Frontend lint (pull_request) Successful in 24s
CI / Frontend unit tests (pull_request) Failing after 21s
CI / Frontend build (pull_request) Successful in 29s
CI / Playwright e2e (pull_request) Failing after 16s
2026-10-31 00:00:54 +00:00
Compare
andras force-pushed renovate/all from 3ba48a395d
Some checks failed
CI / Backend tests (pull_request) Successful in 21s
CI / Frontend lint (pull_request) Successful in 24s
CI / Frontend unit tests (pull_request) Failing after 21s
CI / Frontend build (pull_request) Successful in 29s
CI / Playwright e2e (pull_request) Failing after 16s
to 26a6ca4920
Some checks failed
CI / Backend tests (pull_request) Successful in 19s
CI / Frontend unit tests (pull_request) Failing after 50s
CI / Frontend lint (pull_request) Successful in 55s
CI / Frontend build (pull_request) Successful in 53s
CI / Playwright e2e (pull_request) Failing after 31s
2026-11-03 02:22:52 +00:00
Compare
Some checks failed
CI / Backend tests (pull_request) Successful in 19s
CI / Frontend unit tests (pull_request) Failing after 50s
CI / Frontend lint (pull_request) Successful in 55s
CI / Frontend build (pull_request) Successful in 53s
CI / Playwright e2e (pull_request) Failing after 31s
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin "renovate/all:renovate/all"
git switch "renovate/all"

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch "main"
git merge --no-ff "renovate/all"
git switch "renovate/all"
git rebase "main"
git switch "main"
git merge --ff-only "renovate/all"
git switch "renovate/all"
git rebase "main"
git switch "main"
git merge --no-ff "renovate/all"
git switch "main"
git merge --squash "renovate/all"
git switch "main"
git merge --ff-only "renovate/all"
git switch "main"
git merge "renovate/all"
git push origin "main"
Sign in to join this conversation.
No description provided.