Repository navigation
feat: add d and v flags to no-unexpected-multiline - #21305
Conversation
✅ Deploy Preview for docs-eslint canceled.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe regex flag matcher now recognizes the ChangesRegex flag detection
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: ⚪ Minimal · up to This change extends multiline regex-flag detection to d and v, with focused tests for both cases. No current merge-blocking risk remains. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
d and v flags to no-unexpected-multilined and v flags to no-unexpected-multiline
|
Since this rule change adds reported problems, I changed the prefix from |
mdjermanovic
left a comment
There was a problem hiding this comment.
LGTM, thanks! Since this is a feat, leaving it open for a second review.
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | [`10.9.1` → `10.10.0`](https://renovatebot.com/diffs/npm/eslint/10.9.1/10.10.0) |  |  | --- ### Release Notes <details> <summary>eslint/eslint (eslint)</summary> ### [`v10.10.0`](https://github.com/eslint/eslint/releases/tag/v10.10.0) [Compare Source](eslint/eslint@v10.9.1...v10.10.0) #### Features - [`264b434`](eslint/eslint@264b434) feat: add `d` and `v` flags to `no-unexpected-multiline` ([#​21305](eslint/eslint#21305)) (Gihyeon Jeong / 정기현) - [`c6cc6c5`](eslint/eslint@c6cc6c5) feat: check `Object.prototype` property names in `new-cap` ([#​21269](eslint/eslint#21269)) (crimsonjay0) - [`5661fa6`](eslint/eslint@5661fa6) feat: no-extra-bind false negatives with class fields and static blocks ([#​21260](eslint/eslint#21260)) (synthex-byte) #### Bug Fixes - [`bb47dc6`](eslint/eslint@bb47dc6) fix: update dependency file-entry-cache to v11 ([#​20801](eslint/eslint#20801)) (Milos Djermanovic) - [`427ac0a`](eslint/eslint@427ac0a) fix: use format strings in debug calls ([#​21247](eslint/eslint#21247)) (Francesco Trotta) - [`9d81532`](eslint/eslint@9d81532) fix: support `__proto__` in `/* exported */` comments ([#​21261](eslint/eslint#21261)) (sethamus) - [`87e0a08`](eslint/eslint@87e0a08) fix: prefer-object-has-own autofix breaks when Object is shadowed ([#​21282](eslint/eslint#21282)) (김채영) - [`8e2cb14`](eslint/eslint@8e2cb14) fix: `new-cap` false positive for `UTC` calls with `properties: false` ([#​21275](eslint/eslint#21275)) (Pixel) - [`9f4a364`](eslint/eslint@9f4a364) fix: Ignore static imports in no-unreachable ([#​21276](eslint/eslint#21276)) (Taha Kotil) #### Documentation - [`2417cad`](eslint/eslint@2417cad) docs: Update README (GitHub Actions Bot) - [`9cecb8a`](eslint/eslint@9cecb8a) docs: document `\c` control letter escapes in no-control-regex ([#​21286](eslint/eslint#21286)) (한국) - [`8724829`](eslint/eslint@8724829) docs: update compat table links ([#​21263](eslint/eslint#21263)) (fnx) - [`5634542`](eslint/eslint@5634542) docs: Clarify eqeqeq suggestion behavior ([#​21256](eslint/eslint#21256)) (Müslüm Yılmaz) #### Chores - [`b3d876b`](eslint/eslint@b3d876b) chore: disable npm audit in ecosystem tests ([#​21306](eslint/eslint#21306)) (Francesco Trotta) - [`1696682`](eslint/eslint@1696682) ci: restore EMFILE test on Node.js 26 ([#​21297](eslint/eslint#21297)) (Marry (Subin Yang)) - [`2c7f5d6`](eslint/eslint@2c7f5d6) chore: update github/codeql-action action to v4.37.9 ([#​21296](eslint/eslint#21296)) (renovate\[bot]) - [`3c753f1`](eslint/eslint@3c753f1) chore: update eslint ([#​21289](eslint/eslint#21289)) (renovate\[bot]) - [`1c73469`](eslint/eslint@1c73469) chore: update ecosystem plugins ([#​21280](eslint/eslint#21280)) (ESLint Bot) - [`08a02be`](eslint/eslint@08a02be) test: add error locations to `no-extra-boolean-cast` ([#​21266](eslint/eslint#21266)) (lumir) - [`77bb1db`](eslint/eslint@77bb1db) chore: update github/codeql-action action to v4.37.8 ([#​21270](eslint/eslint#21270)) (renovate\[bot]) - [`007e81a`](eslint/eslint@007e81a) ci: skip EMFILE test on Node.js 26 ([#​21265](eslint/eslint#21265)) (lumir) - [`0430280`](eslint/eslint@0430280) chore: improve ecosystem tests compatibility on Windows ([#​21178](eslint/eslint#21178)) (crimsonjay0) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNjEuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI2MS4yIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6W119--> Reviewed-on: https://codeberg.org/huskas-2189/Bookmark/pulls/261
|
Hello. I’m sorry for adding another comment to a PR that has already been merged. I updated the PR description to make the scope of my AI use clearer. Since this PR is part of the contributor pool review, I am also noting the update here. Previously, I disclosed AI use based on whether it had been used to generate part of the submitted work, such as code, code comments, or documentation. But I think it is better to disclose the scope of AI assistance even when its output was not included in the substantive contribution, so I have added that information to the PR description as well. For this work, I found the relevant rule while searching the repository for uses of Since @snitin315, @mdjermanovic reviewed this contribution, and @mdjermanovic also added it to the contributor pool, I thought it would be appropriate to share this update here as well. Thank you again for taking the time to review this contribution. |
| datasource | package | from | to | | ---------- | ------- | ------ | ------- | | npm | eslint | 10.9.1 | 10.11.0 | ## [v10.11.0](https://github.com/eslint/eslint/releases/tag/v10.11.0) #### Features - [`d136fa4`](eslint/eslint@d136fa4) feat: object-shorthand handle quoted properties for `ignoreConstructors` ([#21271](eslint/eslint#21271)) (Pavel) - [`397b3b8`](eslint/eslint@397b3b8) feat: report unsafe labeled `continue` in `no-unsafe-finally` rule ([#21316](eslint/eslint#21316)) (electrohyun) - [`d3dd47f`](eslint/eslint@d3dd47f) feat: only exempt `new-cap` built-ins that reference the global ([#21290](eslint/eslint#21290)) (sethamus) #### Bug Fixes - [`22b09f5`](eslint/eslint@22b09f5) fix: ignore `__proto__` properties in `prefer-object-spread` ([#21311](eslint/eslint#21311)) (xbinaryx) - [`b684bb1`](eslint/eslint@b684bb1) fix: make TimePass.parse optional in types and docs ([#21313](eslint/eslint#21313)) (ntnyq) - [`26d11bc`](eslint/eslint@26d11bc) fix: don't report `__proto__` properties in `object-shorthand` ([#21310](eslint/eslint#21310)) (xbinaryx) #### Documentation - [`9ecfdc5`](eslint/eslint@9ecfdc5) docs: note that --cache can serve stale results for cross-file rules ([#21312](eslint/eslint#21312)) (bytedoe) - [`6c789ff`](eslint/eslint@6c789ff) docs: Update README (GitHub Actions Bot) - [`5997825`](eslint/eslint@5997825) docs: clarify preserve-caught-error known limitation ([#21294](eslint/eslint#21294)) (Akinyemi Toluwalase) #### Chores - [`520dd77`](eslint/eslint@520dd77) perf: Implement fast paths in critical areas ([#21210](eslint/eslint#21210)) (Nicholas C. Zakas) - [`92086c8`](eslint/eslint@92086c8) test: update `EMFILE` error generation for Node.js 26.9.0 compatibility ([#21330](eslint/eslint#21330)) (Francesco Trotta) - [`9ac7eb6`](eslint/eslint@9ac7eb6) chore: update github/codeql-action action to v4.38.0 ([#21331](eslint/eslint#21331)) (renovate\[bot]) - [`24310e3`](eslint/eslint@24310e3) chore: update ecosystem plugins ([#21324](eslint/eslint#21324)) (ESLint Bot) - [`45ad79e`](eslint/eslint@45ad79e) ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 ([#21318](eslint/eslint#21318)) (dependabot\[bot]) - [`ac74e37`](eslint/eslint@ac74e37) chore: Add AGENTS.md with AI disclosure requirements ([#21221](eslint/eslint#21221)) (Nicholas C. Zakas) - [`c832660`](eslint/eslint@c832660) chore: Upgrade Stylelint to the latest version in docs ([#21245](eslint/eslint#21245)) (Jung Hyeon Jun) - [`f9f88fc`](eslint/eslint@f9f88fc) chore: update ecosystem plugins ([#21308](eslint/eslint#21308)) (ESLint Bot) - [`fc81076`](eslint/eslint@fc81076) ci: add more types integration tests ([#20395](eslint/eslint#20395)) (Nitin Kumar) ## [v10.10.0](https://github.com/eslint/eslint/releases/tag/v10.10.0) #### Features - [`264b434`](eslint/eslint@264b434) feat: add `d` and `v` flags to `no-unexpected-multiline` ([#21305](eslint/eslint#21305)) (Gihyeon Jeong / 정기현) - [`c6cc6c5`](eslint/eslint@c6cc6c5) feat: check `Object.prototype` property names in `new-cap` ([#21269](eslint/eslint#21269)) (crimsonjay0) - [`5661fa6`](eslint/eslint@5661fa6) feat: no-extra-bind false negatives with class fields and static blocks ([#21260](eslint/eslint#21260)) (synthex-byte) #### Bug Fixes - [`bb47dc6`](eslint/eslint@bb47dc6) fix: update dependency file-entry-cache to v11 ([#20801](eslint/eslint#20801)) (Milos Djermanovic) - [`427ac0a`](eslint/eslint@427ac0a) fix: use format strings in debug calls ([#21247](eslint/eslint#21247)) (Francesco Trotta) - [`9d81532`](eslint/eslint@9d81532) fix: support `__proto__` in `/* exported */` comments ([#21261](eslint/eslint#21261)) (sethamus) - [`87e0a08`](eslint/eslint@87e0a08) fix: prefer-object-has-own autofix breaks when Object is shadowed ([#21282](eslint/eslint#21282)) (김채영) - [`8e2cb14`](eslint/eslint@8e2cb14) fix: `new-cap` false positive for `UTC` calls with `properties: false` ([#21275](eslint/eslint#21275)) (Pixel) - [`9f4a364`](eslint/eslint@9f4a364) fix: Ignore static imports in no-unreachable ([#21276](eslint/eslint#21276)) (Taha Kotil) #### Documentation - [`2417cad`](eslint/eslint@2417cad) docs: Update README (GitHub Actions Bot) - [`9cecb8a`](eslint/eslint@9cecb8a) docs: document `\c` control letter escapes in no-control-regex ([#21286](eslint/eslint#21286)) (한국) - [`8724829`](eslint/eslint@8724829) docs: update compat table links ([#21263](eslint/eslint#21263)) (fnx) - [`5634542`](eslint/eslint@5634542) docs: Clarify eqeqeq suggestion behavior ([#21256](eslint/eslint#21256)) (Müslüm Yılmaz) #### Chores - [`b3d876b`](eslint/eslint@b3d876b) chore: disable npm audit in ecosystem tests ([#21306](eslint/eslint#21306)) (Francesco Trotta) - [`1696682`](eslint/eslint@1696682) ci: restore EMFILE test on Node.js 26 ([#21297](eslint/eslint#21297)) (Marry (Subin Yang)) - [`2c7f5d6`](eslint/eslint@2c7f5d6) chore: update github/codeql-action action to v4.37.9 ([#21296](eslint/eslint#21296)) (renovate\[bot]) - [`3c753f1`](eslint/eslint@3c753f1) chore: update eslint ([#21289](eslint/eslint#21289)) (renovate\[bot]) - [`1c73469`](eslint/eslint@1c73469) chore: update ecosystem plugins ([#21280](eslint/eslint#21280)) (ESLint Bot) - [`08a02be`](eslint/eslint@08a02be) test: add error locations to `no-extra-boolean-cast` ([#21266](eslint/eslint#21266)) (lumir) - [`77bb1db`](eslint/eslint@77bb1db) chore: update github/codeql-action action to v4.37.8 ([#21270](eslint/eslint#21270)) (renovate\[bot]) - [`007e81a`](eslint/eslint@007e81a) ci: skip EMFILE test on Node.js 26 ([#21265](eslint/eslint#21265)) (lumir) - [`0430280`](eslint/eslint@0430280) chore: improve ecosystem tests compatibility on Windows ([#21178](eslint/eslint#21178)) (crimsonjay0)
| datasource | package | from | to | | ---------- | ------- | ------ | ------- | | npm | eslint | 10.9.1 | 10.11.0 | ## [v10.11.0](https://github.com/eslint/eslint/releases/tag/v10.11.0) #### Features - [`d136fa4`](eslint/eslint@d136fa4) feat: object-shorthand handle quoted properties for `ignoreConstructors` ([#21271](eslint/eslint#21271)) (Pavel) - [`397b3b8`](eslint/eslint@397b3b8) feat: report unsafe labeled `continue` in `no-unsafe-finally` rule ([#21316](eslint/eslint#21316)) (electrohyun) - [`d3dd47f`](eslint/eslint@d3dd47f) feat: only exempt `new-cap` built-ins that reference the global ([#21290](eslint/eslint#21290)) (sethamus) #### Bug Fixes - [`22b09f5`](eslint/eslint@22b09f5) fix: ignore `__proto__` properties in `prefer-object-spread` ([#21311](eslint/eslint#21311)) (xbinaryx) - [`b684bb1`](eslint/eslint@b684bb1) fix: make TimePass.parse optional in types and docs ([#21313](eslint/eslint#21313)) (ntnyq) - [`26d11bc`](eslint/eslint@26d11bc) fix: don't report `__proto__` properties in `object-shorthand` ([#21310](eslint/eslint#21310)) (xbinaryx) #### Documentation - [`9ecfdc5`](eslint/eslint@9ecfdc5) docs: note that --cache can serve stale results for cross-file rules ([#21312](eslint/eslint#21312)) (bytedoe) - [`6c789ff`](eslint/eslint@6c789ff) docs: Update README (GitHub Actions Bot) - [`5997825`](eslint/eslint@5997825) docs: clarify preserve-caught-error known limitation ([#21294](eslint/eslint#21294)) (Akinyemi Toluwalase) #### Chores - [`520dd77`](eslint/eslint@520dd77) perf: Implement fast paths in critical areas ([#21210](eslint/eslint#21210)) (Nicholas C. Zakas) - [`92086c8`](eslint/eslint@92086c8) test: update `EMFILE` error generation for Node.js 26.9.0 compatibility ([#21330](eslint/eslint#21330)) (Francesco Trotta) - [`9ac7eb6`](eslint/eslint@9ac7eb6) chore: update github/codeql-action action to v4.38.0 ([#21331](eslint/eslint#21331)) (renovate\[bot]) - [`24310e3`](eslint/eslint@24310e3) chore: update ecosystem plugins ([#21324](eslint/eslint#21324)) (ESLint Bot) - [`45ad79e`](eslint/eslint@45ad79e) ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 ([#21318](eslint/eslint#21318)) (dependabot\[bot]) - [`ac74e37`](eslint/eslint@ac74e37) chore: Add AGENTS.md with AI disclosure requirements ([#21221](eslint/eslint#21221)) (Nicholas C. Zakas) - [`c832660`](eslint/eslint@c832660) chore: Upgrade Stylelint to the latest version in docs ([#21245](eslint/eslint#21245)) (Jung Hyeon Jun) - [`f9f88fc`](eslint/eslint@f9f88fc) chore: update ecosystem plugins ([#21308](eslint/eslint#21308)) (ESLint Bot) - [`fc81076`](eslint/eslint@fc81076) ci: add more types integration tests ([#20395](eslint/eslint#20395)) (Nitin Kumar) ## [v10.10.0](https://github.com/eslint/eslint/releases/tag/v10.10.0) #### Features - [`264b434`](eslint/eslint@264b434) feat: add `d` and `v` flags to `no-unexpected-multiline` ([#21305](eslint/eslint#21305)) (Gihyeon Jeong / 정기현) - [`c6cc6c5`](eslint/eslint@c6cc6c5) feat: check `Object.prototype` property names in `new-cap` ([#21269](eslint/eslint#21269)) (crimsonjay0) - [`5661fa6`](eslint/eslint@5661fa6) feat: no-extra-bind false negatives with class fields and static blocks ([#21260](eslint/eslint#21260)) (synthex-byte) #### Bug Fixes - [`bb47dc6`](eslint/eslint@bb47dc6) fix: update dependency file-entry-cache to v11 ([#20801](eslint/eslint#20801)) (Milos Djermanovic) - [`427ac0a`](eslint/eslint@427ac0a) fix: use format strings in debug calls ([#21247](eslint/eslint#21247)) (Francesco Trotta) - [`9d81532`](eslint/eslint@9d81532) fix: support `__proto__` in `/* exported */` comments ([#21261](eslint/eslint#21261)) (sethamus) - [`87e0a08`](eslint/eslint@87e0a08) fix: prefer-object-has-own autofix breaks when Object is shadowed ([#21282](eslint/eslint#21282)) (김채영) - [`8e2cb14`](eslint/eslint@8e2cb14) fix: `new-cap` false positive for `UTC` calls with `properties: false` ([#21275](eslint/eslint#21275)) (Pixel) - [`9f4a364`](eslint/eslint@9f4a364) fix: Ignore static imports in no-unreachable ([#21276](eslint/eslint#21276)) (Taha Kotil) #### Documentation - [`2417cad`](eslint/eslint@2417cad) docs: Update README (GitHub Actions Bot) - [`9cecb8a`](eslint/eslint@9cecb8a) docs: document `\c` control letter escapes in no-control-regex ([#21286](eslint/eslint#21286)) (한국) - [`8724829`](eslint/eslint@8724829) docs: update compat table links ([#21263](eslint/eslint#21263)) (fnx) - [`5634542`](eslint/eslint@5634542) docs: Clarify eqeqeq suggestion behavior ([#21256](eslint/eslint#21256)) (Müslüm Yılmaz) #### Chores - [`b3d876b`](eslint/eslint@b3d876b) chore: disable npm audit in ecosystem tests ([#21306](eslint/eslint#21306)) (Francesco Trotta) - [`1696682`](eslint/eslint@1696682) ci: restore EMFILE test on Node.js 26 ([#21297](eslint/eslint#21297)) (Marry (Subin Yang)) - [`2c7f5d6`](eslint/eslint@2c7f5d6) chore: update github/codeql-action action to v4.37.9 ([#21296](eslint/eslint#21296)) (renovate\[bot]) - [`3c753f1`](eslint/eslint@3c753f1) chore: update eslint ([#21289](eslint/eslint#21289)) (renovate\[bot]) - [`1c73469`](eslint/eslint@1c73469) chore: update ecosystem plugins ([#21280](eslint/eslint#21280)) (ESLint Bot) - [`08a02be`](eslint/eslint@08a02be) test: add error locations to `no-extra-boolean-cast` ([#21266](eslint/eslint#21266)) (lumir) - [`77bb1db`](eslint/eslint@77bb1db) chore: update github/codeql-action action to v4.37.8 ([#21270](eslint/eslint#21270)) (renovate\[bot]) - [`007e81a`](eslint/eslint@007e81a) ci: skip EMFILE test on Node.js 26 ([#21265](eslint/eslint#21265)) (lumir) - [`0430280`](eslint/eslint@0430280) chore: improve ecosystem tests compatibility on Windows ([#21178](eslint/eslint#21178)) (crimsonjay0)
| datasource | package | from | to | | ---------- | ------- | ------ | ------- | | npm | eslint | 10.9.1 | 10.11.0 | ## [v10.11.0](https://github.com/eslint/eslint/releases/tag/v10.11.0) #### Features - [`d136fa4`](eslint/eslint@d136fa4) feat: object-shorthand handle quoted properties for `ignoreConstructors` ([#21271](eslint/eslint#21271)) (Pavel) - [`397b3b8`](eslint/eslint@397b3b8) feat: report unsafe labeled `continue` in `no-unsafe-finally` rule ([#21316](eslint/eslint#21316)) (electrohyun) - [`d3dd47f`](eslint/eslint@d3dd47f) feat: only exempt `new-cap` built-ins that reference the global ([#21290](eslint/eslint#21290)) (sethamus) #### Bug Fixes - [`22b09f5`](eslint/eslint@22b09f5) fix: ignore `__proto__` properties in `prefer-object-spread` ([#21311](eslint/eslint#21311)) (xbinaryx) - [`b684bb1`](eslint/eslint@b684bb1) fix: make TimePass.parse optional in types and docs ([#21313](eslint/eslint#21313)) (ntnyq) - [`26d11bc`](eslint/eslint@26d11bc) fix: don't report `__proto__` properties in `object-shorthand` ([#21310](eslint/eslint#21310)) (xbinaryx) #### Documentation - [`9ecfdc5`](eslint/eslint@9ecfdc5) docs: note that --cache can serve stale results for cross-file rules ([#21312](eslint/eslint#21312)) (bytedoe) - [`6c789ff`](eslint/eslint@6c789ff) docs: Update README (GitHub Actions Bot) - [`5997825`](eslint/eslint@5997825) docs: clarify preserve-caught-error known limitation ([#21294](eslint/eslint#21294)) (Akinyemi Toluwalase) #### Chores - [`520dd77`](eslint/eslint@520dd77) perf: Implement fast paths in critical areas ([#21210](eslint/eslint#21210)) (Nicholas C. Zakas) - [`92086c8`](eslint/eslint@92086c8) test: update `EMFILE` error generation for Node.js 26.9.0 compatibility ([#21330](eslint/eslint#21330)) (Francesco Trotta) - [`9ac7eb6`](eslint/eslint@9ac7eb6) chore: update github/codeql-action action to v4.38.0 ([#21331](eslint/eslint#21331)) (renovate\[bot]) - [`24310e3`](eslint/eslint@24310e3) chore: update ecosystem plugins ([#21324](eslint/eslint#21324)) (ESLint Bot) - [`45ad79e`](eslint/eslint@45ad79e) ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 ([#21318](eslint/eslint#21318)) (dependabot\[bot]) - [`ac74e37`](eslint/eslint@ac74e37) chore: Add AGENTS.md with AI disclosure requirements ([#21221](eslint/eslint#21221)) (Nicholas C. Zakas) - [`c832660`](eslint/eslint@c832660) chore: Upgrade Stylelint to the latest version in docs ([#21245](eslint/eslint#21245)) (Jung Hyeon Jun) - [`f9f88fc`](eslint/eslint@f9f88fc) chore: update ecosystem plugins ([#21308](eslint/eslint#21308)) (ESLint Bot) - [`fc81076`](eslint/eslint@fc81076) ci: add more types integration tests ([#20395](eslint/eslint#20395)) (Nitin Kumar) ## [v10.10.0](https://github.com/eslint/eslint/releases/tag/v10.10.0) #### Features - [`264b434`](eslint/eslint@264b434) feat: add `d` and `v` flags to `no-unexpected-multiline` ([#21305](eslint/eslint#21305)) (Gihyeon Jeong / 정기현) - [`c6cc6c5`](eslint/eslint@c6cc6c5) feat: check `Object.prototype` property names in `new-cap` ([#21269](eslint/eslint#21269)) (crimsonjay0) - [`5661fa6`](eslint/eslint@5661fa6) feat: no-extra-bind false negatives with class fields and static blocks ([#21260](eslint/eslint#21260)) (synthex-byte) #### Bug Fixes - [`bb47dc6`](eslint/eslint@bb47dc6) fix: update dependency file-entry-cache to v11 ([#20801](eslint/eslint#20801)) (Milos Djermanovic) - [`427ac0a`](eslint/eslint@427ac0a) fix: use format strings in debug calls ([#21247](eslint/eslint#21247)) (Francesco Trotta) - [`9d81532`](eslint/eslint@9d81532) fix: support `__proto__` in `/* exported */` comments ([#21261](eslint/eslint#21261)) (sethamus) - [`87e0a08`](eslint/eslint@87e0a08) fix: prefer-object-has-own autofix breaks when Object is shadowed ([#21282](eslint/eslint#21282)) (김채영) - [`8e2cb14`](eslint/eslint@8e2cb14) fix: `new-cap` false positive for `UTC` calls with `properties: false` ([#21275](eslint/eslint#21275)) (Pixel) - [`9f4a364`](eslint/eslint@9f4a364) fix: Ignore static imports in no-unreachable ([#21276](eslint/eslint#21276)) (Taha Kotil) #### Documentation - [`2417cad`](eslint/eslint@2417cad) docs: Update README (GitHub Actions Bot) - [`9cecb8a`](eslint/eslint@9cecb8a) docs: document `\c` control letter escapes in no-control-regex ([#21286](eslint/eslint#21286)) (한국) - [`8724829`](eslint/eslint@8724829) docs: update compat table links ([#21263](eslint/eslint#21263)) (fnx) - [`5634542`](eslint/eslint@5634542) docs: Clarify eqeqeq suggestion behavior ([#21256](eslint/eslint#21256)) (Müslüm Yılmaz) #### Chores - [`b3d876b`](eslint/eslint@b3d876b) chore: disable npm audit in ecosystem tests ([#21306](eslint/eslint#21306)) (Francesco Trotta) - [`1696682`](eslint/eslint@1696682) ci: restore EMFILE test on Node.js 26 ([#21297](eslint/eslint#21297)) (Marry (Subin Yang)) - [`2c7f5d6`](eslint/eslint@2c7f5d6) chore: update github/codeql-action action to v4.37.9 ([#21296](eslint/eslint#21296)) (renovate\[bot]) - [`3c753f1`](eslint/eslint@3c753f1) chore: update eslint ([#21289](eslint/eslint#21289)) (renovate\[bot]) - [`1c73469`](eslint/eslint@1c73469) chore: update ecosystem plugins ([#21280](eslint/eslint#21280)) (ESLint Bot) - [`08a02be`](eslint/eslint@08a02be) test: add error locations to `no-extra-boolean-cast` ([#21266](eslint/eslint#21266)) (lumir) - [`77bb1db`](eslint/eslint@77bb1db) chore: update github/codeql-action action to v4.37.8 ([#21270](eslint/eslint#21270)) (renovate\[bot]) - [`007e81a`](eslint/eslint@007e81a) ci: skip EMFILE test on Node.js 26 ([#21265](eslint/eslint#21265)) (lumir) - [`0430280`](eslint/eslint@0430280) chore: improve ecosystem tests compatibility on Windows ([#21178](eslint/eslint#21178)) (crimsonjay0)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | major | [`^9.33.0` -> `^10.0.0`](https://renovatebot.com/diffs/npm/eslint/9.39.5/10.13.0) | --- ### Release Notes <details> <summary>eslint/eslint (eslint)</summary> ### [`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` ([#​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` ([#​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` ([#​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 ([#​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` ([#​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 ([#​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 ([#​21410](https://github.com/eslint/eslint/issues/21410)) (Francesco Trotta) - [`317fcb3`](https://github.com/eslint/eslint/commit/317fcb365f19e912a60d171a9d5a8d1f16fe4660) chore: update ecosystem plugins ([#​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 ([#​21365](https://github.com/eslint/eslint/issues/21365)) (James Ross) - [`47b7063`](https://github.com/eslint/eslint/commit/47b7063b3f3f7bc7a5bcb87c082577e4e8b96e24) chore: update dependency [@​eslint/json](https://github.com/eslint/json) to ^2.1.1 ([#​21398](https://github.com/eslint/eslint/issues/21398)) (renovate\[bot]) - [`e5aea41`](https://github.com/eslint/eslint/commit/e5aea414cc00555ecd43f6e608bf80e0f9a6d4d6) chore: update ecosystem plugins ([#​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` ([#​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 ([#​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 ([#​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` ([#​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` ([#​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 ([#​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 ([#​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 ([#​21348](https://github.com/eslint/eslint/issues/21348)) (Pixel) - [`69aac01`](https://github.com/eslint/eslint/commit/69aac01d898837a934c9e735e0b7881cc1df09e8) fix: support `TSFunctionType` in `getFunctionHeadLoc` ([#​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` ([#​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 ([#​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 ([#​21346](https://github.com/eslint/eslint/issues/21346)) (bytedoe) #### Chores - [`152067f`](https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6) chore: update ecosystem plugins ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​21347](https://github.com/eslint/eslint/issues/21347)) (renovate\[bot]) - [`3782dd4`](https://github.com/eslint/eslint/commit/3782dd458fdfbe492e600d9a54b295a9721ed815) chore: update ecosystem plugins ([#​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` ([#​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 ([#​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 ([#​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` ([#​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 ([#​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` ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​21331](https://github.com/eslint/eslint/issues/21331)) (renovate\[bot]) - [`24310e3`](https://github.com/eslint/eslint/commit/24310e3a0e22b3c086ca402f88448676f2e1cfcd) chore: update ecosystem plugins ([#​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 ([#​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 ([#​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 ([#​21245](https://github.com/eslint/eslint/issues/21245)) (Jung Hyeon Jun) - [`f9f88fc`](https://github.com/eslint/eslint/commit/f9f88fcccd965fdc162b89c4615dd4018e3cabdf) chore: update ecosystem plugins ([#​21308](https://github.com/eslint/eslint/issues/21308)) (ESLint Bot) - [`fc81076`](https://github.com/eslint/eslint/commit/fc81076a5b8145360654d81cbc130cf7d25dca77) ci: add more types integration tests ([#​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` ([#​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` ([#​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 ([#​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 ([#​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 ([#​21247](https://github.com/eslint/eslint/issues/21247)) (Francesco Trotta) - [`9d81532`](https://github.com/eslint/eslint/commit/9d8153223dbf47b9aecdc1474202aaee4845f146) fix: support `__proto__` in `/* exported */` comments ([#​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 ([#​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` ([#​21275](https://github.com/eslint/eslint/issues/21275)) (Pixel) - [`9f4a364`](https://github.com/eslint/eslint/commit/9f4a364ab0ade048dfce1f37792b1d461d866e55) fix: Ignore static imports in no-unreachable ([#​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 ([#​21286](https://github.com/eslint/eslint/issues/21286)) (한국) - [`8724829`](https://github.com/eslint/eslint/commit/8724829f69f8ed80c876e3a5a017da199ce78739) docs: update compat table links ([#​21263](https://github.com/eslint/eslint/issues/21263)) (fnx) - [`5634542`](https://github.com/eslint/eslint/commit/5634542be580750ffb1a5766470f9e9c72719696) docs: Clarify eqeqeq suggestion behavior ([#​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 ([#​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 ([#​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 ([#​21296](https://github.com/eslint/eslint/issues/21296)) (renovate\[bot]) - [`3c753f1`](https://github.com/eslint/eslint/commit/3c753f18b461bfbf36d41a79a7863c093ef48489) chore: update eslint ([#​21289](https://github.com/eslint/eslint/issues/21289)) (renovate\[bot]) - [`1c73469`](https://github.com/eslint/eslint/commit/1c734690bf6f4f9c542bec428d5a1a5c6cc4a19b) chore: update ecosystem plugins ([#​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` ([#​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 ([#​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 ([#​21265](https://github.com/eslint/eslint/issues/21265)) (lumir) - [`0430280`](https://github.com/eslint/eslint/commit/0430280e7cca9dc0fdbf0bc50464e98e84285c49) chore: improve ecosystem tests compatibility on Windows ([#​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 ([#​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 ([#​21248](https://github.com/eslint/eslint/issues/21248)) (Francesco Trotta) #### Chores - [`3c3ae53`](https://github.com/eslint/eslint/commit/3c3ae53a43721162f0db76c69665ebd9d752ea52) chore: update ecosystem plugins ([#​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 ([#​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` ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​21203](https://github.com/eslint/eslint/issues/21203)) (Minsu) - [`1a761e1`](https://github.com/eslint/eslint/commit/1a761e1d11b011fcb6bee181231a51010c500e4d) docs: update moved JSX specification links ([#​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 ([#​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 ([#​21243](https://github.com/eslint/eslint/issues/21243)) (renovate\[bot]) - [`9aa3873`](https://github.com/eslint/eslint/commit/9aa38732177935bd1d7f1493732c0b67666be28a) chore: update ecosystem plugins ([#​21235](https://github.com/eslint/eslint/issues/21235)) (ESLint Bot) - [`dc1e7a8`](https://github.com/eslint/eslint/commit/dc1e7a8416937edefe04cf836ee202a6fc03bedd) chore: update ecosystem plugins ([#​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 ([#​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 ([#​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 ([#​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` ([#​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` ([#​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` ([#​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 ([#​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` ([#​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 ([#​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` ([#​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` ([#​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 ([#​21176](https://github.com/eslint/eslint/issues/21176)) (dependabot\[bot]) - [`f131c03`](https://github.com/eslint/eslint/commit/f131c034ad91bbf06bcbb6b5e931447a8e419a46) chore: improve ecosystem test failure reporting ([#​20937](https://github.com/eslint/eslint/issues/20937)) (crimsonjay0) - [`1f6edde`](https://github.com/eslint/eslint/commit/1f6eddee609b369b50993eab08d437dda4700991) chore: update ecosystem plugins ([#​21182](https://github.com/eslint/eslint/issues/21182)) (ESLint Bot) - [`d3266fb`](https://github.com/eslint/eslint/commit/d3266fb26c719c6b90a6cbe54bb120c9335ad19c) chore: unpin `webpack` dependency ([#​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 ([#​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 ([#​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 ([#​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 ([#​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` ([#​21156](https://github.com/eslint/eslint/issues/21156)) (Francesco Trotta) - [`60a178d`](https://github.com/eslint/eslint/commit/60a178d5ef1b0c471be0831031ed7347f8f81dc2) chore: update ecosystem plugins ([#​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` ([#​21151](https://github.com/eslint/eslint/issues/21151)) (JIYEON) - [`d086293`](https://github.com/eslint/eslint/commit/d08629382b0a6aaa042823b796e5100e60053b54) test: add error locations to `no-undef` ([#​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` ([#​21144](https://github.com/eslint/eslint/issues/21144)) (devoil) - [`688e75e`](https://github.com/eslint/eslint/commit/688e75ede01b295d51f2f86c9d82da020a4c887e) chore: add missing backticks in JSDoc ([#​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` ([#​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` ([#​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` ([#​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` ([#​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` ([#​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 ([#​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 ([#​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 ([#​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` ([#​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 ([#​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` ([#​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 ([#​21106](https://github.com/eslint/eslint/issues/21106)) (Minsu) - [`784dfbe`](https://github.com/eslint/eslint/commit/784dfbe98f0222426fd200153a5ce2e5624151f0) docs: Clarify `no-eq-null` description ([#​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 ([#​21095](https://github.com/eslint/eslint/issues/21095)) (Marry (Subin Yang)) - [`92bb13f`](https://github.com/eslint/eslint/commit/92bb13f13065db72d62454b9830d3ae52db15c76) docs: replace quake link ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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` ([#​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 ([#​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 ([#​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 ([#​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 ([#​21107](https://github.com/eslint/eslint/issues/21107)) (김채영) - [`fb09aa8`](https://github.com/eslint/eslint/commit/fb09aa8ff09730d3ccf68859e065f99666b52466) chore: update ecosystem plugins ([#​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` ([#​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` ([#​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` ([#​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` ([#​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` ([#​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 ([#​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` ([#​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` ([#​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` ([#​21091](https://github.com/eslint/eslint/issues/21091)) (이규환) - [`dcc9312`](https://github.com/eslint/eslint/commit/dcc9312c1081931de0fe1b555fbb6aa82fe696b9) test: add error locations to `eqeqeq` ([#​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 ([#​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 ([#​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` ([#​21084](https://github.com/eslint/eslint/issues/21084)) (Francesco Trotta) - [`bf3eda0`](https://github.com/eslint/eslint/commit/bf3eda049bd690f1e9a5a0c4520a6329b3e4ec85) chore: update ecosystem plugins ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​21036](https://github.com/eslint/eslint/issues/21036)) (EduardF1) #### Chores - [`9489379`](https://github.com/eslint/eslint/commit/948937986f2aa3cccb27a4c80694a85e5b0a5f64) chore: update dependency [@​eslint/eslintrc](https://github.com/eslint/eslintrc) to ^3.3.6 ([#​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 ([#​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 ([#​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 ([#​21061](https://github.com/eslint/eslint/issues/21061)) (renovate\[bot]) - [`7ea106d`](https://github.com/eslint/eslint/commit/7ea106ddcb6af7db8f36d62a28dbaba94d33598e) chore: update ecosystem plugins ([#​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` ([#​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 ([#​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 ([#​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 ([#​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 ([#​21027](https://github.com/eslint/eslint/issues/21027)) (sethamus) - [`993539f`](https://github.com/eslint/eslint/commit/993539fd45d3d01aad3fbc13963e2245fdf7ee0d) chore: update dependency [@​eslint/json](https://github.com/eslint/json) to ^2.0.1 ([#​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` ([#​21039](https://github.com/eslint/eslint/issues/21039)) (lumir) - [`5ab71d5`](https://github.com/eslint/eslint/commit/5ab71d52f9d860df04e626fcd819a36257f21f9e) refactor: clean up radix rule internals ([#​21015](https://github.com/eslint/eslint/issues/21015)) (Pixel) - [`a80a9a4`](https://github.com/eslint/eslint/commit/a80a9a461478838930c5545f840473840b26b0e6) chore: update ecosystem plugins ([#​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 ([#​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 ([#​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 ([#​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 ([#​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` ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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` ([#​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… ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​21001](https://github.com/eslint/eslint/issues/21001)) (xbinaryx) - [`27166e7`](https://github.com/eslint/eslint/commit/27166e78511db526688afc34bbfab1a458405f3f) chore: update ecosystem plugins ([#​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 ([#​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 ([#​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 ([#​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 ([#​20990](https://github.com/eslint/eslint/issues/20990)) (renovate\[bot]) - [`6993fb3`](https://github.com/eslint/eslint/commit/6993fb3173da84999fc208507b93f523aa657448) chore: update ecosystem plugins ([#​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 ([#​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 ([#​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 ([#​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 ([#​20967](https://github.com/eslint/eslint/issues/20967)) (Pixel998) - [`f9c138a`](https://github.com/eslint/eslint/commit/f9c138a0ba7d8e37aed39aef4a3ff1cae8c669f7) feat: report max-depth violations on keywords ([#​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 ([#​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 ([#​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 ([#​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 ([#​20926](https://github.com/eslint/eslint/issues/20926)) (sethamus) #### Chores - [`b18bf58`](https://github.com/eslint/eslint/commit/b18bf58c5ac748415ffffdff2d96980fbd6a57e8) chore: update ecosystem plugins ([#​20959](https://github.com/eslint/eslint/issues/20959)) (ESLint Bot) - [`c2d1444`](https://github.com/eslint/eslint/commit/c2d1444df77cb42e5a0b89ab70496879d180a54d) refactor: replace areAllSegmentsUnreachable with !isAnySegmentReachable ([#​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 ([#​20788](https://github.com/eslint/eslint/issues/20788)) (kuldeep kumar) - [`217b2a9`](https://github.com/eslint/eslint/commit/217b2a91f46137c5ffd693965e71306c4c15ea6b) test: add unit tests for ParserService ([#​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` ([#​20945](https://github.com/eslint/eslint/issues/20945)) (lumir) - [`7797c26`](https://github.com/eslint/eslint/commit/7797c266977b0bc4971aa79721813d480de72cd1) refactor: deduplicate isAnySegmentReachable across rules ([#​20890](https://github.com/eslint/eslint/issues/20890)) (Taejin Kim) - [`67c46fa`](https://github.com/eslint/eslint/commit/67c46fa6e4f34e88cc6bc82f8a0dcc917c65d257) chore: update ecosystem plugins ([#​20938](https://github.com/eslint/eslint/issues/20938)) (ESLint Bot) - [`95d8c7a`](https://github.com/eslint/eslint/commit/95d8c7a99f991abd8ab618d0ee2cbd4f58effc29) chore: update dependency [@​eslint/json](https://github.com/eslint/json) to v2 ([#​20934](https://github.com/eslint/eslint/issues/20934)) (renovate\[bot]) - [`cf9e496`](https://github.com/eslint/eslint/commit/cf9e496205142cd4971b9f98aed85866d1010b9c) chore: update [@​arethetypeswrong/cli](https://github.com/arethetypeswrong/cli) to 0.18.3 ([#​20933](https://github.com/eslint/eslint/issues/20933)) (Pixel998) - [`fb6d396`](https://github.com/eslint/eslint/commit/fb6d3960cacc51fc12383fa5ded2382adbf90c1c) test: run type tests with TypeScript 7 ([#​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 ([#​20930](https://github.com/eslint/eslint/issues/20930)) (Francesco Trotta) - [`d4ce898`](https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd) fix: propagate failures from delegated commands ([#​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` ([#​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 ([#​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 ([#​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` ([#​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 ([#​20911](https://github.com/eslint/eslint/issues/20911)) (Tanuj Kanti) - [`49b0202`](https://github.com/eslint/eslint/commit/49b0202d01918b8061720d586dffd7c68047090c) docs: fix `display: none` of ad ([#​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 ([#​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 ([#​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 ([#​20924](https://github.com/eslint/eslint/issues/20924)) (Tanuj Kanti) - [`f78838b`](https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46) test: add CodePath type coverage ([#​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 ([#​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 ([#​20919](https://github.com/eslint/eslint/issues/20919)) (Arpit Jain) - [`64bca24`](https://github.com/eslint/eslint/commit/64bca24e7bed35bc3c864fc625cb2d89eca87d5b) chore: update ecosystem plugins ([#​20912](https://github.com/eslint/eslint/issues/20912)) (ESLint Bot) - [`6d7c832`](https://github.com/eslint/eslint/commit/6d7c832950d5e92499d88e504080661f888f8f56) chore: ignore fflate updates in renovate ([#​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 ([#​20889](https://github.com/eslint/eslint/issues/20889)) (dependabot\[bot]) - [`a9b8d7f`](https://github.com/eslint/eslint/commit/a9b8d7f74c50211701cfc49710fa541fd91b2aa5) chore: increase maxBuffer for ecosystem tests ([#​20881](https://github.com/eslint/eslint/issues/20881)) (sethamus) - [`b702ead`](https://github.com/eslint/eslint/commit/b702ead5e1ed7cb9f28238a454797662efb37396) chore: update ecosystem update PR settings ([#​20884](https://github.com/eslint/eslint/issues/20884)) (Pixel998) - [`507f60e`](https://github.com/eslint/eslint/commit/507f60e9a78c9a902bc8759f066ae17a1ea6cd81) chore: update ecosystem plugins ([#​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 ([#​20878](https://github.com/eslint/eslint/issues/20878)) (kuldeep kumar) - [`df32108`](https://github.com/eslint/eslint/commit/df321080af5758b1fa25e4b9a40e26135642dd6e) chore: add [@​eslint/markdown](https://github.com/eslint/markdown) and typescript-eslint ecosystem tests ([#​20837](https://github.com/eslint/eslint/issues/20837)) (sethamus) - [`327f91d`](https://github.com/eslint/eslint/commit/327f91d36aa49f2a50ded931d841a16374fd875f) chore: use includeIgnoreFile internally ([#​20876](https://github.com/eslint/eslint/issues/20876)) (Kirk Waiblinger) - [`f0dc4bd`](https://github.com/eslint/eslint/commit/f0dc4bd893fb3a9f44e4ddc3ad7063ffb0beacd3) chore: pin fflate@0.8.2 ([#​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 ([#​20873](https://github.com/eslint/eslint/issues/20873)) (Copilot) ### [`v10.4.0`](https://github.com/eslint/eslint/releases/tag/v10.4.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.3.0...v10.4.0) #### Features - [`1a45ec5`](https://github.com/eslint/eslint/commit/1a45ec596af1dd5f880e6874cb8f24dafb6a7ecf) feat: check sequence expressions in `for-direction` ([#​20701](https://github.com/eslint/eslint/issues/20701)) (kuldeep kumar) - [`450040b`](https://github.com/eslint/eslint/commit/450040bd89b989b3531824c6be45feb5fe3d936b) feat: add `includeIgnoreFile()` to `eslint/config` ([#​20735](https://github.com/eslint/eslint/issues/20735)) (Kirk Waiblinger) #### Bug Fixes - [`544c0c3`](https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be) fix: escape code path DOT labels in debug output ([#​20866](https://github.com/eslint/eslint/issues/20866)) (Pixel998) - [`6799431`](https://github.com/eslint/eslint/commit/6799431203f2579632d0870f98ba132067f4040…
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [@plausible-analytics/tracker](https://plausible.io) ([source](https://github.com/plausible/analytics)) | devDependencies | 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) |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | devDependencies | patch | [`25.9.1` → `25.9.9`](https://renovatebot.com/diffs/npm/@types%2fnode/25.9.1/25.9.9) |
| [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | minor | [`10.4.1` → `10.14.0`](https://renovatebot.com/diffs/npm/eslint/10.4.1/10.14.0) |
| [node](https://nodejs.org) ([source](https://github.com/nodejs/node)) | | minor | `22.13.0` → `22.23.4` |
| [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) |
| [sass](https://github.com/sass/dart-sass) | devDependencies | minor | [`1.100.0` → `1.107.1`](https://renovatebot.com/diffs/npm/sass/1.100.0/1.107.1) |
| [sharp](https://sharp.pixelplumbing.com) ([source](https://github.com/lovell/sharp), [changelog](https://github.com/lovell/sharp/blob/main/docs/src/content/docs/changelog.md)) | devDependencies | minor | [`^0.34.5` → `^0.35.0`](https://renovatebot.com/diffs/npm/sharp/0.34.5/0.35.5) |
| [stylelint](https://stylelint.io) ([source](https://github.com/stylelint/stylelint)) | devDependencies | minor | [`17.12.0` → `17.16.0`](https://renovatebot.com/diffs/npm/stylelint/17.12.0/17.16.0) |
| [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.60.0` → `8.72.1`](https://renovatebot.com/diffs/npm/typescript-eslint/8.60.0/8.72.1) |
| [vite](https://vite.dev) ([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) | devDependencies | minor | [`8.0.14` → `8.3.5`](https://renovatebot.com/diffs/npm/vite/8.0.14/8.3.5) |
| [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>plausible/analytics (@​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 (@​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
- [#​43247](https://github.com/microsoft/playwright/issues/43247) \[Bug]: \_electron.launch intermittently loses a packaged app's first window since 1.64.0
- [#​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 #​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
- [#​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)
- [#​41998](https://github.com/microsoft/playwright/issues/41998) \[Regression]: directory-form tsconfig project references ("path": "../pkg") fail to resolve (fatal since 1.62)
- [#​41985](https://github.com/microsoft/playwright/issues/41985) Accessibility snapshot drops button name when text is nested inside spans with aria-hidden SVG
- [#​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
- [#​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
- [#​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
- [#​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)
- [#​41360](https://github.com/microsoft/playwright/issues/41360) \[Bug]: Trace viewer: message times in websockets are downscaled by 1000
- [#​41311](https://github.com/microsoft/playwright/issues/41311) \[Bug]: \[Regression]: Sync loader throws "context.conditions?.includes is not a function" on Node 22.15
- [#​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>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` ([#​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 ([#​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 ([#​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 ([#​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 ([#​21442](https://github.com/eslint/eslint/issues/21442)) (xbinaryx)
- [`9155e14`](https://github.com/eslint/eslint/commit/9155e14781bf0a5549f9a747691f7d98c8c66dcd) fix: Update [@​humanfs/node](https://github.com/humanfs/node) dependency version ([#​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 ([#​21323](https://github.com/eslint/eslint/issues/21323)) (dvd233)
- [`5ee3915`](https://github.com/eslint/eslint/commit/5ee39156b5abb606170a289844cd25aebda6d302) fix: yoda invalid autofix at statement start ([#​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 ([#​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 ([#​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 ([#​21416](https://github.com/eslint/eslint/issues/21416)) (Milos Djermanovic)
- [`0880666`](https://github.com/eslint/eslint/commit/088066663aae84ad6edfa902a27a90c4c08785f3) docs: update loadESLint() documentation for v10 ([#​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 ([#​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 ([#​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 ([#​21450](https://github.com/eslint/eslint/issues/21450)) (renovate\[bot])
- [`a031c40`](https://github.com/eslint/eslint/commit/a031c40da3c2185279ca8f1f7961fff01fb7b8ff) chore: update ecosystem plugins ([#​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 ([#​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 ([#​21432](https://github.com/eslint/eslint/issues/21432)) (renovate\[bot])
- [`449724e`](https://github.com/eslint/eslint/commit/449724e95bfa013fa32c29375925b4111d3924e4) chore: update ecosystem plugins ([#​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 ([#​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` ([#​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` ([#​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` ([#​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 ([#​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` ([#​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 ([#​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 ([#​21410](https://github.com/eslint/eslint/issues/21410)) (Francesco Trotta)
- [`317fcb3`](https://github.com/eslint/eslint/commit/317fcb365f19e912a60d171a9d5a8d1f16fe4660) chore: update ecosystem plugins ([#​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 ([#​21365](https://github.com/eslint/eslint/issues/21365)) (James Ross)
- [`47b7063`](https://github.com/eslint/eslint/commit/47b7063b3f3f7bc7a5bcb87c082577e4e8b96e24) chore: update dependency [@​eslint/json](https://github.com/eslint/json) to ^2.1.1 ([#​21398](https://github.com/eslint/eslint/issues/21398)) (renovate\[bot])
- [`e5aea41`](https://github.com/eslint/eslint/commit/e5aea414cc00555ecd43f6e608bf80e0f9a6d4d6) chore: update ecosystem plugins ([#​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` ([#​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 ([#​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 ([#​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` ([#​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` ([#​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 ([#​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 ([#​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 ([#​21348](https://github.com/eslint/eslint/issues/21348)) (Pixel)
- [`69aac01`](https://github.com/eslint/eslint/commit/69aac01d898837a934c9e735e0b7881cc1df09e8) fix: support `TSFunctionType` in `getFunctionHeadLoc` ([#​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` ([#​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 ([#​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 ([#​21346](https://github.com/eslint/eslint/issues/21346)) (bytedoe)
#### Chores
- [`152067f`](https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6) chore: update ecosystem plugins ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​21347](https://github.com/eslint/eslint/issues/21347)) (renovate\[bot])
- [`3782dd4`](https://github.com/eslint/eslint/commit/3782dd458fdfbe492e600d9a54b295a9721ed815) chore: update ecosystem plugins ([#​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` ([#​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 ([#​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 ([#​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` ([#​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 ([#​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` ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​21331](https://github.com/eslint/eslint/issues/21331)) (renovate\[bot])
- [`24310e3`](https://github.com/eslint/eslint/commit/24310e3a0e22b3c086ca402f88448676f2e1cfcd) chore: update ecosystem plugins ([#​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 ([#​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 ([#​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 ([#​21245](https://github.com/eslint/eslint/issues/21245)) (Jung Hyeon Jun)
- [`f9f88fc`](https://github.com/eslint/eslint/commit/f9f88fcccd965fdc162b89c4615dd4018e3cabdf) chore: update ecosystem plugins ([#​21308](https://github.com/eslint/eslint/issues/21308)) (ESLint Bot)
- [`fc81076`](https://github.com/eslint/eslint/commit/fc81076a5b8145360654d81cbc130cf7d25dca77) ci: add more types integration tests ([#​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` ([#​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` ([#​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 ([#​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 ([#​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 ([#​21247](https://github.com/eslint/eslint/issues/21247)) (Francesco Trotta)
- [`9d81532`](https://github.com/eslint/eslint/commit/9d8153223dbf47b9aecdc1474202aaee4845f146) fix: support `__proto__` in `/* exported */` comments ([#​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 ([#​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` ([#​21275](https://github.com/eslint/eslint/issues/21275)) (Pixel)
- [`9f4a364`](https://github.com/eslint/eslint/commit/9f4a364ab0ade048dfce1f37792b1d461d866e55) fix: Ignore static imports in no-unreachable ([#​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 ([#​21286](https://github.com/eslint/eslint/issues/21286)) (한국)
- [`8724829`](https://github.com/eslint/eslint/commit/8724829f69f8ed80c876e3a5a017da199ce78739) docs: update compat table links ([#​21263](https://github.com/eslint/eslint/issues/21263)) (fnx)
- [`5634542`](https://github.com/eslint/eslint/commit/5634542be580750ffb1a5766470f9e9c72719696) docs: Clarify eqeqeq suggestion behavior ([#​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 ([#​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 ([#​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 ([#​21296](https://github.com/eslint/eslint/issues/21296)) (renovate\[bot])
- [`3c753f1`](https://github.com/eslint/eslint/commit/3c753f18b461bfbf36d41a79a7863c093ef48489) chore: update eslint ([#​21289](https://github.com/eslint/eslint/issues/21289)) (renovate\[bot])
- [`1c73469`](https://github.com/eslint/eslint/commit/1c734690bf6f4f9c542bec428d5a1a5c6cc4a19b) chore: update ecosystem plugins ([#​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` ([#​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 ([#​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 ([#​21265](https://github.com/eslint/eslint/issues/21265)) (lumir)
- [`0430280`](https://github.com/eslint/eslint/commit/0430280e7cca9dc0fdbf0bc50464e98e84285c49) chore: improve ecosystem tests compatibility on Windows ([#​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 ([#​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 ([#​21248](https://github.com/eslint/eslint/issues/21248)) (Francesco Trotta)
#### Chores
- [`3c3ae53`](https://github.com/eslint/eslint/commit/3c3ae53a43721162f0db76c69665ebd9d752ea52) chore: update ecosystem plugins ([#​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 ([#​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` ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​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 ([#​21203](https://github.com/eslint/eslint/issues/21203)) (Minsu)
- [`1a761e1`](https://github.com/eslint/eslint/commit/1a761e1d11b011fcb6bee181231a51010c500e4d) docs: update moved JSX specification links ([#​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 ([#​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 ([#​21243](https://github.com/eslint/eslint/issues/21243)) (renovate\[bot])
- [`9aa3873`](https://github.com/eslint/eslint/commit/9aa38732177935bd1d7f1493732c0b67666be28a) chore: update ecosystem plugins ([#​21235](https://github.com/eslint/eslint/issues/21235)) (ESLint Bot)
- [`dc1e7a8`](https://github.com/eslint/eslint/commit/dc1e7a8416937edefe04cf836ee202a6fc03bedd) chore: update ecosystem plugins ([#​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 ([#​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 ([#​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 ([#​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` ([#​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` ([#​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` ([#​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 ([#​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` ([#​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 ([#​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` ([#​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` ([#​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 ([#​21176](https://github.com/eslint/eslint/issues/21176)) (dependabot\[bot])
- [`f131c03`](https://github.com/eslint/eslint/commit/f131c034ad91bbf06bcbb6b5e931447a8e419a46) chore: improve ecosystem test failure reporting ([#​20937](https://github.com/eslint/eslint/issues/20937)) (crimsonjay0)
- [`1f6edde`](https://github.com/eslint/eslint/commit/1f6eddee609b369b50993eab08d437dda4700991) chore: update ecosystem plugins ([#​21182](https://github.com/eslint/eslint/issues/21182)) (ESLint Bot)
- [`d3266fb`](https://github.com/eslint/eslint/commit/d3266fb26c719c6b90a6cbe54bb120c9335ad19c) chore: unpin `webpack` dependency ([#​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 ([#​21092…
Prerequisites checklist
AI acknowledgment
What is the purpose of this pull request? (put an "X" next to an item)
[ ] Documentation update
[x] Bug fix (template)
[ ] New rule (template)
[ ] Changes an existing rule (template)
[ ] Add autofix to a rule
[ ] Add a CLI option
[ ] Add something to the core
[ ] Other, please explain:
What changes did you make? (Give an overview)
Updated
no-unexpected-multilineto support thedandvregular expression flags.Fixes #21304
Is there anything you'd like reviewers to focus on?
No.
Disclosure: I'm a participant of open source contribution program OSSCA
Summary by CodeRabbit
dandvflags.