🚀 eslint/eslint - Release Notes

v9.23.0 (2025-03-21)

## Features
* [`557a0d2`](https://github.com/eslint/eslint/commit/557a0d23755f8af4f2aaab751805c7ba6496fc21) feat: support TypeScript syntax in no-useless-constructor (#19535) (Josh Goldberg ✨)
* [`8320241`](https://github.com/eslint/eslint/commit/83202412a1ceefd3eba4b97cc9dbe99ab70d59a2) feat: support TypeScript syntax in `default-param-last` (#19431) (Josh Goldberg ✨)
* [`833c4a3`](https://github.com/eslint/eslint/commit/833c4a301d4f7d21583d520d20d8a6724171733f) feat: defineConfig() supports "flat/" config prefix (#19533) (Nicholas C. Zakas)
* [`4a0df16`](https://github.com/eslint/eslint/commit/4a0df16f1ba7bed02d15c561119623199ea2ace0) feat: circular autofix/conflicting rules detection (#19514) (Milos Djermanovic)
* [`be56a68`](https://github.com/eslint/eslint/commit/be56a685bf1aadbf59d99d43e71c00802bc9ba27) feat: support TypeScript syntax in `class-methods-use-this` (#19498) (Josh Goldberg ✨)

## Bug Fixes
* [`0e20aa7`](https://github.com/eslint/eslint/commit/0e20aa72fec53b16a21c42ac9e82969efa8f94d2) fix: move deprecated `RuleContext` methods to subtype (#19531) (Francesco Trotta)
* [`cc3bd00`](https://github.com/eslint/eslint/commit/cc3bd00795708c4d7c06a6103983245cc9d9845b) fix: reporting variable used in catch block in `no-useless-assignment` (#19423) (Tanuj Kanti)
* [`d46ff83`](https://github.com/eslint/eslint/commit/d46ff832195aa841224a21086afda9d98be45ad6) fix: `no-dupe-keys` false positive with proto setter (#19508) (Milos Djermanovic)
* [`e732773`](https://github.com/eslint/eslint/commit/e7327736b92686e02721461ac9ccf6e65e0badac) fix: navigation of search results on pressing Enter (#19502) (Tanuj Kanti)
* [`f4e9c5f`](https://github.com/eslint/eslint/commit/f4e9c5fda9f8bcd36f1afe3706da60554cd07c48) fix: allow `RuleTester` to test files inside `node_modules/` (#19499) (fisker Cheung)

## Documentation
* [`5405939`](https://github.com/eslint/eslint/commit/5405939efcfe6a038a7c89354eae9c39c8ff21e3) docs: show red underlines in TypeScript examples in rules docs (#19547) (Milos Djermanovic)
* [`48b53d6`](https://github.com/eslint/eslint/commit/48b53d6e79945b4f5f66aa2073c2d51ff7896c7c) docs: replace var with const in examples (#19539) (Nitin Kumar)
* [`c39d7db`](https://github.com/eslint/eslint/commit/c39d7db7142ebdb8174da00358b80094eaad39c1) docs: Update README (GitHub Actions Bot)
* [`a4f8760`](https://github.com/eslint/eslint/commit/a4f87604f4d8d53cb2efbd19aa067606dd1c409e) docs: revert accidental changes (#19542) (Francesco Trotta)
* [`280128f`](https://github.com/eslint/eslint/commit/280128f73def56479e32e7d40879fff05b7f44a2) docs: add copy button (#19512) (xbinaryx)
* [`cd83eaa`](https://github.com/eslint/eslint/commit/cd83eaa761b4acd9a43fd3888a12ea08483c3366) docs: replace `var` with `const` in examples (#19530) (Nitin Kumar)
* [`7ff0cde`](https://github.com/eslint/eslint/commit/7ff0cde23014909997dd493de890463d8b09205e) docs: Update README (GitHub Actions Bot)
* [`996cfb9`](https://github.com/eslint/eslint/commit/996cfb9771734cb462b02a73c4aa87555854a05e) docs: migrate sass to module system (#19518) (xbinaryx)
* [`17cb958`](https://github.com/eslint/eslint/commit/17cb9586a706e75adee09b2388deea77a6ca8f14) docs: replace `var` with `let` and `const` in rule examples (#19515) (Tanuj Kanti)
* [`83e24f5`](https://github.com/eslint/eslint/commit/83e24f5be4d5723b5f79512b46ab68bc97a23247) docs: Replace var with let or const (#19511) (Jenna Toff)
* [`a59d0c0`](https://github.com/eslint/eslint/commit/a59d0c06b5a28ae5149eae6d10fa9f4968963b01) docs: Update docs for defineConfig (#19505) (Nicholas C. Zakas)
* [`fe92927`](https://github.com/eslint/eslint/commit/fe929270f33493d1a77be0f25a95d97817440c49) docs: `require-unicode-regexp` add note for `i` flag and `\w`  (#19510) (Chaemin-Lim)

## Build Related
* [`2357edd`](https://github.com/eslint/eslint/commit/2357edd09beca1c3f70c92df23f2f99b9ebc7a70) build: exclude autogenerated files from Prettier formatting (#19548) (Francesco Trotta)

## Chores
* [`0ac8ea4`](https://github.com/eslint/eslint/commit/0ac8ea45350fa5819694a3775641e94b1da3282b) chore: update dependencies for v9.23.0 release (#19554) (Francesco Trotta)
* [`20591c4`](https://github.com/eslint/eslint/commit/20591c49ff27435b1555111a929a6966febc249f) chore: package.json update for @eslint/js release (Jenkins)
* [`901344f`](https://github.com/eslint/eslint/commit/901344f9441c746dfa82261a0d00ff6ef35bcdf1) chore: update dependency @eslint/json to ^0.11.0 (#19552) (renovate[bot])
* [`5228383`](https://github.com/eslint/eslint/commit/5228383e3e5c77c7dd07fc9d17b9a57c2ee5bb48) chore: fix update-readme formatting (#19544) (Milos Djermanovic)
* [`5439525`](https://github.com/eslint/eslint/commit/5439525925dc26b387cc6cebf0b01f42464b4ab0) chore: format JSON files in Trunk (#19541) (Francesco Trotta)
* [`75adc99`](https://github.com/eslint/eslint/commit/75adc99eab2878e58fc88f0d4b1b6f9091455914) chore: enabled Prettier in Trunk (#19354) (Josh Goldberg ✨)
* [`2395168`](https://github.com/eslint/eslint/commit/239516856fbf61828f5ac2c8b45e245103c41c04) chore: added .git-blame-ignore-revs for Prettier via trunk fmt (#19538) (Josh Goldberg ✨)
* [`129882d`](https://github.com/eslint/eslint/commit/129882d2fdb4e7f597ed78eeadd86377f3d6b078) chore: formatted files with Prettier via trunk fmt (#19355) (Josh Goldberg ✨)
* [`1738dbc`](https://github.com/eslint/eslint/commit/1738dbc36ce556745c230d3592e7f1aa673a1430) chore: temporarily disable prettier in trunk (#19537) (Josh Goldberg ✨)
* [`dc854fd`](https://github.com/eslint/eslint/commit/dc854fdd2634cdec575ae5fc508edd838056f006) chore: update dependency shelljs to ^0.9.0 (#19524) (renovate[bot])
* [`5d57496`](https://github.com/eslint/eslint/commit/5d574963b71529abbb84fbc4861230a050434664) chore: fix some comments (#19525) (jimmycathy)
* [`9c5c6ee`](https://github.com/eslint/eslint/commit/9c5c6ee7734c6a5918a5983d4f2bd971ca3225a8) test: fix an assertion failure (#19500) (fisker Cheung)
* [`7a699a6`](https://github.com/eslint/eslint/commit/7a699a6b2616c24fe58df1265f6148b406a17e41) chore: remove formatting-related lint rules internally (#19473) (Josh Goldberg ✨)
* [`c99db89`](https://github.com/eslint/eslint/commit/c99db89141f1601abe6f9d398a4b6c126e3a0bdb) test: replace WebdriverIO with Cypress (#19465) (Pixel998)

v9.22.0 (2025-03-07)

## Features
* [`7ddb095`](https://github.com/eslint/eslint/commit/7ddb095419203d0efc883a6b3fdd3ac20128400a) feat: Export defineConfig, globalIgnores (#19487) (Nicholas C. Zakas)

## Bug Fixes
* [`19c0127`](https://github.com/eslint/eslint/commit/19c0127e79c37dba8d389733024be7326e540767) fix: improve message for `no-console` suggestions (#19483) (Francesco Trotta)
* [`49e624f`](https://github.com/eslint/eslint/commit/49e624f4a02e03762232cce2047febb36b1bcf4c) fix: improve error message for falsy parsed JS AST (#19458) (Josh Goldberg ✨)

## Documentation
* [`86c5f37`](https://github.com/eslint/eslint/commit/86c5f37bc7300157d9f19b633197135d2a7a2645) docs: Update README (GitHub Actions Bot)
* [`fbdeff0`](https://github.com/eslint/eslint/commit/fbdeff08f3bf4edd7f686af91d9ac0ed6e295080) docs: Update README (GitHub Actions Bot)
* [`c9e8510`](https://github.com/eslint/eslint/commit/c9e85105300069f4aa60526ca2de4d67d1eebe1d) docs: generate deprecation notice in TSDoc comments from rule metadata (#19461) (Francesco Trotta)
* [`2f386ad`](https://github.com/eslint/eslint/commit/2f386ad203a672832c91e72c285a25bd64d48d9d) docs: replace `var` with `const` in rule examples (#19469) (Tanuj Kanti)
* [`0e688e3`](https://github.com/eslint/eslint/commit/0e688e3a0d53bad991d2b4ae3bda926cc29bd54b) docs: Update README (GitHub Actions Bot)
* [`06b596d`](https://github.com/eslint/eslint/commit/06b596d221a2b4af644824bd10e0194e7237b6f2) docs: Restore the carrot to the position where the search input was lost (#19459) (Amaresh  S M)

## Chores
* [`97f788b`](https://github.com/eslint/eslint/commit/97f788b02e5742445887b4499a6dba9abb879a79) chore: upgrade @eslint/js@9.22.0 (#19489) (Milos Djermanovic)
* [`eed409a`](https://github.com/eslint/eslint/commit/eed409a64bfe2ae1123086aaf1652c8124e49b7c) chore: package.json update for @eslint/js release (Jenkins)
* [`f9a56d3`](https://github.com/eslint/eslint/commit/f9a56d337881300c94093e38804ba929ee09f7e9) chore: upgrade eslint-scope@8.3.0 (#19488) (Milos Djermanovic)

v9.21.0 (2025-02-21)

## Features
* [`418717f`](https://github.com/eslint/eslint/commit/418717f1150bb794c40014eca60c9116de2b0488) feat: introduce new deprecated types for rules (#19238) (fnx)
* [`5c5b802`](https://github.com/eslint/eslint/commit/5c5b8025d3e2a2a796909bdf7866fdce2a2f334c) feat: Add `--ext` CLI option (#19405) (Milos Djermanovic)

## Bug Fixes
* [`db5340d`](https://github.com/eslint/eslint/commit/db5340d57bff6b6e3a148f0f2bb56c7da6614ec0) fix: update missing plugin message template (#19445) (Milos Djermanovic)
* [`d8ffdd4`](https://github.com/eslint/eslint/commit/d8ffdd4e51ac46cef51b4118aa3d97195b38de63) fix: do not exit process on rule crash (#19436) (Francesco Trotta)

## Documentation
* [`c5561ea`](https://github.com/eslint/eslint/commit/c5561ea7fcc9d48f7c8017f51fb64fcdf13ff832) docs: Update README (GitHub Actions Bot)
* [`80b0485`](https://github.com/eslint/eslint/commit/80b048535e1d951692e838fe502fb0edb72c837f) docs: replace `var` with `let` and `const` in rule example (#19434) (Tanuj Kanti)
* [`f67d5e8`](https://github.com/eslint/eslint/commit/f67d5e875324a9d899598b11807a9c7624021432) docs: Update README (GitHub Actions Bot)
* [`75afc61`](https://github.com/eslint/eslint/commit/75afc61ff89c8c38a31877d1302584af9266f6d3) docs: Update README (GitHub Actions Bot)
* [`0636cab`](https://github.com/eslint/eslint/commit/0636caba7dd7c77c1845a69257bda68d5287a097) docs: Update Eleventy from v2 to v3 (#19415) (Amaresh  S M)
* [`dd7d930`](https://github.com/eslint/eslint/commit/dd7d93063418a9a9064a0e7cb7f556f5b8b6e96b) docs: Update README (GitHub Actions Bot)

## Chores
* [`a8c9a9f`](https://github.com/eslint/eslint/commit/a8c9a9f1b30db08094b145dd79921ae302b6ae24) chore: update `@eslint/eslintrc` and `@eslint/js` (#19453) (Francesco Trotta)
* [`265e0cf`](https://github.com/eslint/eslint/commit/265e0cf6d03df44f0e65ce5bcb0bac382189486a) chore: package.json update for @eslint/js release (Jenkins)
* [`3401b85`](https://github.com/eslint/eslint/commit/3401b85faaf75629900b7592433169fc00d8b224) test: add test for `Rule.ReportDescriptor` type (#19449) (Francesco Trotta)
* [`e497aa7`](https://github.com/eslint/eslint/commit/e497aa75f5441406985d417303081944f24acf6f) chore: update rewrite dependencies (#19448) (Francesco Trotta)
* [`dab5478`](https://github.com/eslint/eslint/commit/dab5478e8628447dbf9eaaa8b6f36d7ca253ed48) chore: better error message for missing plugin in config (#19402) (Tanuj Kanti)
* [`ebfe2eb`](https://github.com/eslint/eslint/commit/ebfe2ebc3d8b8f2d84caf309b2fc6bc8fd66fc22) chore: set js language for bug report issue config block (#19439) (Josh Goldberg ✨)
* [`5fd211d`](https://github.com/eslint/eslint/commit/5fd211d00b6f0fc58cf587196a432325b7b88ec2) test: processors can return subpaths (#19425) (Milos Djermanovic)

v9.20.1 (2025-02-11)

## Bug Fixes
* [`274f054`](https://github.com/eslint/eslint/commit/274f054f19f5f490d9496c6eee4bcd8620d2f4be) fix: fix `RuleContext` type (#19417) (Francesco Trotta)

## Documentation
* [`fe3ccb2`](https://github.com/eslint/eslint/commit/fe3ccb2ff43a9f20a7801c679f7d41f6a7ed3ddc) docs: allow typing in search box while dropdown is open (#19424) (Amaresh  S M)
* [`93c78a5`](https://github.com/eslint/eslint/commit/93c78a5c58edb7ead9bff87c874d2ff9b824ec04) docs: Add instructions for pnpm compat (#19422) (Nicholas C. Zakas)
* [`b476a93`](https://github.com/eslint/eslint/commit/b476a930bb3a6d644c482747d985f5da0d89e1e9) docs: Fix Keyboard Navigation for Search Results (#19416) (Amaresh  S M)
* [`ccb60c0`](https://github.com/eslint/eslint/commit/ccb60c0b1452e73750e3734c9cd7c7b12c473827) docs: Update README (GitHub Actions Bot)

v9.20.0 (2025-02-07)

## Features
* [`e89a54a`](https://github.com/eslint/eslint/commit/e89a54a3090f3503daf5e36b02b0035c993e3fd1) feat: change behavior of inactive flags (#19386) (Milos Djermanovic)

## Bug Fixes
* [`91d4d9f`](https://github.com/eslint/eslint/commit/91d4d9f62095e302c71595cc04c47073f366315c) fix: Bring types in sync with @eslint/core (#19157) (Nicholas C. Zakas)
* [`fa25c7a`](https://github.com/eslint/eslint/commit/fa25c7a79edee280f275fbc35b83bcde906d1480) fix: Emit warning when empty config file is used (#19399) (Nicholas C. Zakas)
* [`31a9fd0`](https://github.com/eslint/eslint/commit/31a9fd03d23aecf2b1e0c9b3df27554aff245723) fix: Clearer error message for wrong plugin format (#19380) (Nicholas C. Zakas)
* [`61d99e3`](https://github.com/eslint/eslint/commit/61d99e38f248f4d9abc09d970c4eebddd1af86ca) fix: Better error message for unserializable parser (#19384) (Nicholas C. Zakas)
* [`db1b9a6`](https://github.com/eslint/eslint/commit/db1b9a66e387e573f45885687dfefc04ab2877fe) fix: Ensure module scope is checked for references in `consistent-this` (#19383) (Nicholas C. Zakas)
* [`8bcd820`](https://github.com/eslint/eslint/commit/8bcd820f37f2361e4f7261a9876f52d21bd9de8f) fix: `arrow-body-style` crash with single-token body (#19379) (Milos Djermanovic)

## Documentation
* [`b7012c8`](https://github.com/eslint/eslint/commit/b7012c85f3c0f683baeffb6d856faf86c4d41702) docs: rewrite examples with var using let and const (#19407) (Mueez Javaid Hashmi)
* [`6406376`](https://github.com/eslint/eslint/commit/64063765afa5bf29855d996ccabfaa93b19bd458) docs: Update README (GitHub Actions Bot)
* [`350f2b9`](https://github.com/eslint/eslint/commit/350f2b9349bc8d2230cd953c14b77071f2961f47) docs: rewrite some examples with var using let and const (#19404) (Mueez Javaid Hashmi)
* [`93c325a`](https://github.com/eslint/eslint/commit/93c325a7a841d0fe4b5bf79efdec832e7c8f805f) docs: rewrite examples with var using let and const (#19398) (Mueez Javaid Hashmi)
* [`56ff404`](https://github.com/eslint/eslint/commit/56ff4048e053374db39201e7e880bde4c930e19f) docs: replace var with let or const in rules docs (#19396) (Daniel Harbrueger)
* [`4053226`](https://github.com/eslint/eslint/commit/4053226996bbdec1ffdef8af1b9d7f5aa4b11b86) docs: change `sourceType` in `no-eval` examples (#19393) (Milos Djermanovic)
* [`1324af0`](https://github.com/eslint/eslint/commit/1324af027986d655848ee1a9dcb89a527917ea3e) docs: replace var with let and const in rules docs (#19392) (Daniel Harbrueger)
* [`8b87e00`](https://github.com/eslint/eslint/commit/8b87e007bb2ba59b73061d22ef34baffb5656b79) docs: replace `var` with `const` and `let` in rules (#19389) (Tanuj Kanti)
* [`758c66b`](https://github.com/eslint/eslint/commit/758c66bc8d83cd4eda9639b0745f0d0fb70f04f4) docs: Explain what frozen rules mean (#19382) (Nicholas C. Zakas)
* [`0ef8bb8`](https://github.com/eslint/eslint/commit/0ef8bb859c988e558683c2d8bd9c9606f22e456c) docs: additional checks for rule examples (#19358) (Milos Djermanovic)
* [`58ab2f6`](https://github.com/eslint/eslint/commit/58ab2f69d2d4cf9b49bf3fd303795040ec761ebd) docs: fix order of installation steps in getting started (#19326) (Tanuj Kanti)

## Chores
* [`979097a`](https://github.com/eslint/eslint/commit/979097a3b4c656e2d9faabd4a52010d6647911f6) chore: upgrade @eslint/js@9.20.0 (#19412) (Francesco Trotta)
* [`031734e`](https://github.com/eslint/eslint/commit/031734efcb27e0d800da7ec32f5d5dae55f80564) chore: package.json update for @eslint/js release (Jenkins)
* [`d4c47c3`](https://github.com/eslint/eslint/commit/d4c47c3738f2bf53b4f6a1cf505861b35875ac5f) test: avoid empty config warning in test output (#19408) (Milos Djermanovic)
* [`67dd82a`](https://github.com/eslint/eslint/commit/67dd82ab88d784b6f36e471b6a5c6f64e37f9485) chore: update dependency @eslint/json to ^0.10.0 (#19387) (renovate[bot])
* [`15ac0e1`](https://github.com/eslint/eslint/commit/15ac0e182486f32d63171a310050383e15767697) chore: add permissions: read-all to stale.yml workflow (#19374) (Josh Goldberg ✨)

v9.19.0 (2025-01-24)

## Features
* [`1637b8e`](https://github.com/eslint/eslint/commit/1637b8e87df5c7f58ab71e0e159f4b96c998e070) feat: add `--report-unused-inline-configs` (#19201) (Josh Goldberg ✨)

## Bug Fixes
* [`aae6717`](https://github.com/eslint/eslint/commit/aae67172ab9631b4267fc03f64d3c3d6d1fcda73) fix: sync rule type header comments automatically (#19276) (Francesco Trotta)

## Documentation
* [`cfea9ab`](https://github.com/eslint/eslint/commit/cfea9abe0e27cf2ce1d27232b8c70555397e141b) docs: Clarify overrideConfig option (#19370) (Nicholas C. Zakas)
* [`2b84f66`](https://github.com/eslint/eslint/commit/2b84f666cd7474bb061e2f12205af57f5dbb89d6) docs: Update README (#19362) (Nicholas C. Zakas)
* [`044f93c`](https://github.com/eslint/eslint/commit/044f93cbbe71a45130156004509083814e2b9669) docs: clarify frozen rule description (#19351) (Pavel)
* [`797ee7c`](https://github.com/eslint/eslint/commit/797ee7c0d669678b90c5d5742228bc7b24353f79) docs: fix Bluesky links (#19368) (Milos Djermanovic)
* [`81a9c0e`](https://github.com/eslint/eslint/commit/81a9c0ebc33dd33765711296f827c4448c80163d) docs: Update README (GitHub Actions Bot)
* [`093fb3d`](https://github.com/eslint/eslint/commit/093fb3d40286588c2c425b738426ebfe5d142a63) docs: replace `var` with `let` and `const` in rule examples (#19365) (Tanuj Kanti)
* [`417de32`](https://github.com/eslint/eslint/commit/417de3298527e4f257e1ae7b02e1df9db3c9ed33) docs: replace var with const in rule examples (#19352) (jj)
* [`17f2aae`](https://github.com/eslint/eslint/commit/17f2aaec16d5afbb0d219bce6ae01d7b15d74828) docs: update getting-started config to match default generated config (#19308) (0xDev)
* [`8a0a5a8`](https://github.com/eslint/eslint/commit/8a0a5a8851f72982327c2aa3a41403963f025771) docs: better `global ignores` instruction (#19297) (Jacopo Marrone)
* [`6671a2c`](https://github.com/eslint/eslint/commit/6671a2cd8ccc710fefbccad9a813c3bea5f76c68) docs: Update README (GitHub Actions Bot)
* [`e39d3f2`](https://github.com/eslint/eslint/commit/e39d3f22ff793db42e1f1fc3808cbb12fc513118) docs: fix divider for rule category (#19264) (Tanuj Kanti)
* [`e0cf53f`](https://github.com/eslint/eslint/commit/e0cf53f80a4b127524e0badc8999d5d1a247143f) docs: fix search result box position for small screens (#19328) (Tanuj Kanti)
* [`f92a680`](https://github.com/eslint/eslint/commit/f92a6803a10c66cf77408b2bf29c17bcd63b1049) docs: replace var with let or const in rule examples (#19331) (Ravi Teja Kolla)
* [`b04b84b`](https://github.com/eslint/eslint/commit/b04b84bc17d4aaaea1326cb08196593624db02a2) docs: revert accidental changes in TS config files docs (#19336) (Francesco Trotta)

## Chores
* [`9b9cb05`](https://github.com/eslint/eslint/commit/9b9cb0584867916d50aa2e9590b132e2ef8ca59c) chore: upgrade @eslint/js@9.19.0 (#19371) (Milos Djermanovic)
* [`58560e7`](https://github.com/eslint/eslint/commit/58560e70bb4dcb305343fcd7c893ac56a404f674) chore: package.json update for @eslint/js release (Jenkins)
* [`2089707`](https://github.com/eslint/eslint/commit/20897070913418078d8f1ea9a877d223650dff73) test: fix failing test in Node.js v22.13.0 (#19345) (Francesco Trotta)

v9.18.0 (2025-01-10)

## Features
* [`e84e6e2`](https://github.com/eslint/eslint/commit/e84e6e269c4aefc84952e17a1f967697b02b7ad2) feat: Report allowed methods for `no-console` rule (#19306) (Anna Bocharova)
* [`8efc2d0`](https://github.com/eslint/eslint/commit/8efc2d0c92dab6099f34c1479cd80bdc5cd1b07b) feat: unflag TypeScript config files (#19266) (Francesco Trotta)
* [`87a9352`](https://github.com/eslint/eslint/commit/87a9352c621e7cd1d5bb77b3c08df7837363ea12) feat: check imports and class names in `no-shadow-restricted-names` (#19272) (Milos Djermanovic)

## Bug Fixes
* [`da768d4`](https://github.com/eslint/eslint/commit/da768d4541c4c30bfc33640a07a8d8a485520b18) fix: correct `overrideConfigFile` type (#19289) (Francesco Trotta)

## Documentation
* [`d9c23c5`](https://github.com/eslint/eslint/commit/d9c23c55be52a431141f38561c14140ee8b15686) docs: replace `var` with `const` in rule examples (#19325) (Tanuj Kanti)
* [`8e1a898`](https://github.com/eslint/eslint/commit/8e1a898411fd16c73332d7a2dd28aff9bac8da01) docs: add tabs to cli code blocks (#18784) (Jay)
* [`f3aeefb`](https://github.com/eslint/eslint/commit/f3aeefbd6547c25d78819ab7e77cf36a2c26611c) docs: rewrite using let and const in rule examples (#19320) (PoloSpark)
* [`0b680b3`](https://github.com/eslint/eslint/commit/0b680b3cc19c1e8d79ab94e7160051177c4adfe7) docs: Update README (GitHub Actions Bot)
* [`98c86a9`](https://github.com/eslint/eslint/commit/98c86a99f7657a2f15ea30a251523446b10a7cad) docs: `Edit this page` button link to different branches (#19228) (Tanuj Kanti)
* [`6947901`](https://github.com/eslint/eslint/commit/6947901d14b18dbb2db259c9769bd8ac4cd04c3c) docs: remove hardcoded edit link (#19323) (Milos Djermanovic)
* [`03f2f44`](https://github.com/eslint/eslint/commit/03f2f442a9a8bec15e89786980c07be5980cdac5) docs: rewrite var with const in rules examples (#19317) (Thiago)
* [`26c3003`](https://github.com/eslint/eslint/commit/26c3003bfca2f7d98950446fdf5b3978d17a3a60) docs: Clarify dangers of eslint:all (#19318) (Nicholas C. Zakas)
* [`c038257`](https://github.com/eslint/eslint/commit/c03825730d277405c357388d62ed48b3973083ba) docs: add `eqeqeq` in related rules to `no-eq-null` (#19310) (루밀LuMir)
* [`89c8fc5`](https://github.com/eslint/eslint/commit/89c8fc54c977ac457d3b5525a87cec1c51e72e23) docs: rewrite examples with var using let and const (#19315) (Amaresh  S M)
* [`db574c4`](https://github.com/eslint/eslint/commit/db574c4d380e2d25b6111a06bd15caa83f75bb2d) docs: add missing backticks to `no-void` (#19313) (루밀LuMir)
* [`8d943c3`](https://github.com/eslint/eslint/commit/8d943c335c528a6a6a631dcbd98506238240ecfb) docs: add missing backticks to `default-case-last` (#19311) (루밀LuMir)
* [`36ef8bb`](https://github.com/eslint/eslint/commit/36ef8bbeab495ef2598a4b1f52e32b4cb50be5e2) docs: rewrite examples with var using let and const (#19298) (Amaresh  S M)
* [`1610c9e`](https://github.com/eslint/eslint/commit/1610c9ee1479f23b1bc5a6853d0b42b83dacdb7f) docs: add missing backticks to `no-else-return` (#19309) (루밀LuMir)
* [`df409d8`](https://github.com/eslint/eslint/commit/df409d8f76555c7baa4353d678d5fc460454a4d7) docs: Update README (GitHub Actions Bot)
* [`2e84213`](https://github.com/eslint/eslint/commit/2e842138e689ee5623552e885c3a5ac1b0c2bfcf) docs: Fix Horizontal Scroll Overflow in Rule Description on Mobile View (#19304) (Amaresh  S M)
* [`6e7361b`](https://github.com/eslint/eslint/commit/6e7361bb6ae93c87fccdf2219379c7793517f17a) docs: replace `var` with `let` and `const` in rule example (#19302) (Tanuj Kanti)
* [`069af5e`](https://github.com/eslint/eslint/commit/069af5e9ac43c7f33bd2a30abce3d5d94f504465) docs: rewrite `var` using `const` in rule examples (#19303) (Kim GyeonWon)
* [`064e35d`](https://github.com/eslint/eslint/commit/064e35de95339cfedcad467c3c9871d5ff70c1a7) docs: remove 'I hope to' comments from scope-manager-interface (#19300) (Josh Goldberg ✨)
* [`8e00305`](https://github.com/eslint/eslint/commit/8e003056a805468b07bcf4edba83a90a932fb520) docs: replace `var` with `const` in rule examples (#19299) (Tanuj Kanti)
* [`a559009`](https://github.com/eslint/eslint/commit/a559009f51ad9f081bae5252bb2b7a6e23c54767) docs: Add warning about extending core rules (#19295) (Nicholas C. Zakas)
* [`0bfdf6c`](https://github.com/eslint/eslint/commit/0bfdf6caaf3e1553c67a77da900245879c730ad3) docs: Update README (GitHub Actions Bot)
* [`ce0b9ff`](https://github.com/eslint/eslint/commit/ce0b9ff04242f61c8c49fc1ce164eb45eb3c459a) docs: add navigation link for `code explorer` (#19285) (Tanuj Kanti)
* [`e255cc9`](https://github.com/eslint/eslint/commit/e255cc98abef202929112378bfe133f260f2ac9d) docs: add bluesky icon to footer (#19290) (Tanuj Kanti)
* [`5d64851`](https://github.com/eslint/eslint/commit/5d64851955f410f31c159a7097f6cc7d4a01d6a1) docs: remove outdated info about environments (#19296) (Francesco Trotta)
* [`eec01f0`](https://github.com/eslint/eslint/commit/eec01f04ae1c44f7c9a8c6afec59dd72f5a57600) docs: switch rule examples config format to `languageOptions` (#19277) (Milos Djermanovic)
* [`b36ca0a`](https://github.com/eslint/eslint/commit/b36ca0a490829c579358ec7193bde35275000e04) docs: Fixing Focus Order by Rearranging Element Sequence (#19241) (Amaresh  S M)
* [`d122c8a`](https://github.com/eslint/eslint/commit/d122c8a756bb8e232ef7c25cca6dcae645094835) docs: add missing backticks to `sort-imports` (#19282) (루밀LuMir)
* [`0367a70`](https://github.com/eslint/eslint/commit/0367a70a43346f1b9df8be75d38f98f9cfe4007c) docs: update custom parser docs (#19288) (Francesco Trotta)
* [`8c07ebb`](https://github.com/eslint/eslint/commit/8c07ebb9004309f8691f972d554e8bbb3eb517bc) docs: add `border-radius` to `hX:target` selector styles (#19270) (루밀LuMir)
* [`eff7c57`](https://github.com/eslint/eslint/commit/eff7c5721c101975a03e7906905f1fe2c9538df0) docs: add limitation section in `no-loop-func` (#19287) (Tanuj Kanti)
* [`5db226f`](https://github.com/eslint/eslint/commit/5db226f4da9ad7d53a4505a90290b68d4036c082) docs: add missing backticks in various parts of the documentation (#19269) (루밀LuMir)
* [`789edbb`](https://github.com/eslint/eslint/commit/789edbbae5aeeefc8fee94cd653b0b5f3e2ae3eb) docs: Update README (GitHub Actions Bot)
* [`613c06a`](https://github.com/eslint/eslint/commit/613c06a2c341758739473409a2331074884ec7f8) docs: mark rules that are frozen with ❄️ (#19231) (Amaresh  S M)
* [`43172ec`](https://github.com/eslint/eslint/commit/43172ecbd449c13a503cb39539e31106179f5d80) docs: Update README (GitHub Actions Bot)
* [`ac8b3c4`](https://github.com/eslint/eslint/commit/ac8b3c4ca9f7b84f84356137cf23a1ba6dfecf11) docs: fix description of `overrideConfigFile` option (#19262) (Milos Djermanovic)
* [`bbb9b46`](https://github.com/eslint/eslint/commit/bbb9b46c20662019e98df85dedde9b68719afa1f) docs: Update README (GitHub Actions Bot)
* [`995b492`](https://github.com/eslint/eslint/commit/995b49231a3f0ccddb941663175ce4fead9c9432) docs: fix inconsistent divider in rule categories box (#19249) (Tanuj Kanti)
* [`f76d05d`](https://github.com/eslint/eslint/commit/f76d05da6e745adbea574c32b334638c7ba3c0c8) docs: Refactor search result handling with better event listener cleanup (#19252) (Amaresh  S M)
* [`c5f3d7d`](https://github.com/eslint/eslint/commit/c5f3d7dab303468ae33ccfec61bba75a816f832c) docs: Update README (GitHub Actions Bot)

## Chores
* [`c52be85`](https://github.com/eslint/eslint/commit/c52be85c4a916f70807377e1a486adb3a5857347) chore: upgrade to `@eslint/js@9.18.0` (#19330) (Francesco Trotta)
* [`362099c`](https://github.com/eslint/eslint/commit/362099c580992b2602316fc417ce3e595b96f28c) chore: package.json update for @eslint/js release (Jenkins)
* [`495aa49`](https://github.com/eslint/eslint/commit/495aa499a7390f99b763cba8f2b8312e3eecfe0d) chore: extract package `name` from `package.json` for public interface (#19314) (루밀LuMir)
* [`6fe0e72`](https://github.com/eslint/eslint/commit/6fe0e7244a7e88458ea7fdcebc43794c03793c4b) chore: update dependency @eslint/json to ^0.9.0 (#19263) (renovate[bot])

v9.17.0 (2024-12-13)

## Features
* [`eed91d1`](https://github.com/eslint/eslint/commit/eed91d12d4d265bd32905dd1fbf8a6d5dbcdb54a) feat: add suggestions to `no-unused-vars` (#18352) (Tanuj Kanti)

## Bug Fixes
* [`67d683d`](https://github.com/eslint/eslint/commit/67d683df29d873002299c70736dacea731b69f5d) fix: fix crash when `message.fix` is nullish (#19168) (ntnyq)
* [`c618707`](https://github.com/eslint/eslint/commit/c61870715e5bc1cb51c45a8efd72f392502807b8) fix: ignore vars with non-identifier references in no-useless-assignment (#19200) (YeonJuan)

## Documentation
* [`3c22d2a`](https://github.com/eslint/eslint/commit/3c22d2accedd7b0bc381a4eee2c3db4df657b236) docs: update `yoda` to `Yoda` in `yoda.md` for consistency (#19230) (루밀LuMir)
* [`e0a2203`](https://github.com/eslint/eslint/commit/e0a220355f447b3674b758776344959ce746b5e3) docs: add missing backticks to `no-sequences` (#19233) (루밀LuMir)
* [`4cc4881`](https://github.com/eslint/eslint/commit/4cc48812cdfd686304b5b3b71ea70cd7f2d8389a) docs: Update README (GitHub Actions Bot)
* [`3db6fdf`](https://github.com/eslint/eslint/commit/3db6fdf885b17d25103e3cddc31fea56542e064d) docs: [no-await-in-loop] expand on benefits and inapplicability (#19211) (Kirk Waiblinger)
* [`bf2a4f6`](https://github.com/eslint/eslint/commit/bf2a4f686bb387711e269b08f13771e4208113f0) docs: add missing backticks to `func-style` (#19227) (루밀LuMir)
* [`ba098bd`](https://github.com/eslint/eslint/commit/ba098bd03c9943007ec77d628dc59f7eaf60f871) docs: add missing header to `prefer-spread` (#19224) (루밀LuMir)
* [`b607ae6`](https://github.com/eslint/eslint/commit/b607ae64913ca2b6450a74344ab0ad548e314915) docs: update description of `no-param-reassign` (#19220) (루밀LuMir)
* [`1eb424d`](https://github.com/eslint/eslint/commit/1eb424de558fba301eaef9a7fce256539b48dee3) docs: add missing backticks to `prefer-destructuring` (#19223) (루밀LuMir)
* [`85998d1`](https://github.com/eslint/eslint/commit/85998d14051c7a0c5b7b6da8cfda13dc1fc7c153) docs: add missing backticks to `no-unneeded-ternary` (#19222) (루밀LuMir)
* [`b75b32c`](https://github.com/eslint/eslint/commit/b75b32c091f0742788ecf232f52d9e9427008526) docs: add missing backticks to `no-new-func` (#19219) (루밀LuMir)
* [`a7700bc`](https://github.com/eslint/eslint/commit/a7700bcc9c566b3e348a72f3e6a4a6f5ac3345a4) docs: add missing backticks to `id-length` (#19217) (루밀LuMir)
* [`e2bb429`](https://github.com/eslint/eslint/commit/e2bb429974ae397c1c1cc495fa7630441c9da61a) docs: add missing backticks to `complexity.md` (#19214) (루밀LuMir)
* [`045d716`](https://github.com/eslint/eslint/commit/045d716b92276720961e950e6a259ef40e8e07ea) docs: add missing `)` to `id-denylist` (#19213) (루밀LuMir)
* [`7fe4114`](https://github.com/eslint/eslint/commit/7fe4114be2e714506fd406ea4474430ea3de0f93) docs: Update README (GitHub Actions Bot)
* [`c743ba6`](https://github.com/eslint/eslint/commit/c743ba6402a27130f8b7700ae0816b087e20085d) docs: add CSS language to `no-restricted-syntax` (#19208) (Milos Djermanovic)
* [`1416d70`](https://github.com/eslint/eslint/commit/1416d70d4358a57e99e810dd25ac0e6263924c02) docs: add missing backticks to `eqeqeq` (#19207) (루밀LuMir)
* [`b950c1b`](https://github.com/eslint/eslint/commit/b950c1b7db28cc569a53b6677b71a40f1fe3bf98) docs: add missing backticks to `prefer-object-spread` (#19206) (루밀LuMir)
* [`8a941cb`](https://github.com/eslint/eslint/commit/8a941cb776d0872236c33027bcff6337739a6ddb) docs: update docs and `description` of `require-unicode-regexp` (#19205) (루밀LuMir)
* [`cbab228`](https://github.com/eslint/eslint/commit/cbab2281ddd583ddddfb55151babbd9ea59eb078) docs: Update README (GitHub Actions Bot)
* [`f2257ce`](https://github.com/eslint/eslint/commit/f2257ce41278dd85170d4d102969738bcabd5903) docs: update comments and `description` of `no-script-url` (#19203) (루밀LuMir)
* [`365f0f4`](https://github.com/eslint/eslint/commit/365f0f4df7045c42de0f9624c488d62cf7f6cece) docs: add missing backtick to `default-case-last` (#19202) (루밀LuMir)
* [`e6b84f5`](https://github.com/eslint/eslint/commit/e6b84f535e84050b0c63ae304eb17f9d181ac299) docs: add missing punctuation in document (#19161) (루밀LuMir)
* [`c88708e`](https://github.com/eslint/eslint/commit/c88708e0571b62ee5d6c6168373e4204ec75b931) docs: replace quote with backtick in `description` of `for-direction` (#19199) (루밀LuMir)
* [`a76f233`](https://github.com/eslint/eslint/commit/a76f233a67abebf861efc0dd06cde2187abbd273) docs: use higher contrast color tokens for code comments (#19187) (Josh Goldberg ✨)
* [`db19502`](https://github.com/eslint/eslint/commit/db195024978044b7457d5d551299f96f6b60caed) docs: Update README (GitHub Actions Bot)

## Chores
* [`cc243c9`](https://github.com/eslint/eslint/commit/cc243c948226a585f01d3e68b4cedbabcc5e0e40) chore: upgrade to `@eslint/js@9.17.0` (#19242) (Francesco Trotta)
* [`84c5787`](https://github.com/eslint/eslint/commit/84c57877801da729265cf9ce11d325c0be8c82b1) chore: package.json update for @eslint/js release (Jenkins)
* [`4c4f53b`](https://github.com/eslint/eslint/commit/4c4f53b8c961dd6aed6c0cdca303018d805a59fe) chore: add missing backticks to `flags.js` (#19226) (루밀LuMir)
* [`4b3132c`](https://github.com/eslint/eslint/commit/4b3132c3f55db6b51665c4c42bb762d00e266262) chore: update dependency eslint-plugin-expect-type to ^0.6.0 (#19221) (renovate[bot])
* [`9bf2204`](https://github.com/eslint/eslint/commit/9bf220464a594d44744fd35d688c61159366b8ea) chore: add type definitions for the `eslint-config-eslint` package (#19050) (Arya Emami)
* [`ee8c220`](https://github.com/eslint/eslint/commit/ee8c2200a19dd55aa5068b6cd336a2aec7c52ad3) chore: fix incorrect `name` property in `integration-tutorial-code` (#19218) (루밀LuMir)
* [`cca801d`](https://github.com/eslint/eslint/commit/cca801dd17931cfd913456569b41f6132d0366aa) chore: Upgrade cross-spawn to 7.0.6 (#19185) (folortin)

v9.16.0 (2024-11-29)

## Features
* [`8f70eb1`](https://github.com/eslint/eslint/commit/8f70eb142cce025e7040d016a959eff0f51eb672) feat: Add `ignoreComputedKeys` option in `sort-keys` rule (#19162) (Milos Djermanovic)

## Documentation
* [`9eefc8f`](https://github.com/eslint/eslint/commit/9eefc8f813b5c31f49fbbd9a36f439b365bea180) docs: fix typos in `use-isnan` (#19190) (루밀LuMir)
* [`0c8cea8`](https://github.com/eslint/eslint/commit/0c8cea8c803962a4358032fde5c117a1e9c41ca0) docs: switch the order of words in `no-unreachable` (#19189) (루밀LuMir)
* [`0c19417`](https://github.com/eslint/eslint/commit/0c19417c644a29b5113d3a2b94ce00640117574b) docs: add missing backtick to `no-async-promise-executor` (#19188) (루밀LuMir)
* [`8df9276`](https://github.com/eslint/eslint/commit/8df927646cadaa70263914c62f2f76fccb8c46fd) docs: add backtick in `-0` in `description` of `no-compare-neg-zero` (#19186) (루밀LuMir)
* [`7e16e3f`](https://github.com/eslint/eslint/commit/7e16e3fb8594e361b3e121d2d4059dc26e30c407) docs: fix `caseSensitive` option's title of `sort-keys` (#19183) (Tanuj Kanti)
* [`0c6b842`](https://github.com/eslint/eslint/commit/0c6b84212144da3238693fa56500b02bd4a9f05a) docs: fix typos in `migration-guide.md` (#19180) (루밀LuMir)
* [`353266e`](https://github.com/eslint/eslint/commit/353266edf827d4e63e9efef321f5d128748bc74d) docs: fix a typo in `debug.md` (#19179) (루밀LuMir)
* [`5ff318a`](https://github.com/eslint/eslint/commit/5ff318a528e3f6b8b9c6a62ea949d66ebb7f0716) docs: delete unnecessary horizontal rule(`---`) in `nodejs-api` (#19175) (루밀LuMir)
* [`576bcc5`](https://github.com/eslint/eslint/commit/576bcc5461c0c00c30dfceec9abcddb99e559c74) docs: mark more rules as handled by TypeScript (#19164) (Tanuj Kanti)
* [`742d054`](https://github.com/eslint/eslint/commit/742d054ac1124d4e53c84234dd6960d4e272d490) docs: note that `no-restricted-syntax` can be used with any language (#19148) (Milos Djermanovic)

## Chores
* [`feb703b`](https://github.com/eslint/eslint/commit/feb703b3dc198cda03fb69c75a31d56d999b9d2e) chore: upgrade to `@eslint/js@9.16.0` (#19195) (Francesco Trotta)
* [`df9bf95`](https://github.com/eslint/eslint/commit/df9bf9519a302e284700ad300463ecdf2ebf9f25) chore: package.json update for @eslint/js release (Jenkins)
* [`f831893`](https://github.com/eslint/eslint/commit/f831893b6e2951f56ce8b9ff12e4a16913b72b47) chore: add type for `ignoreComputedKeys` option of `sort-keys` (#19184) (Tanuj Kanti)
* [`3afb8a1`](https://github.com/eslint/eslint/commit/3afb8a1dcf12ad12df480db014042a51403ff672) chore: update dependency @eslint/json to ^0.8.0 (#19177) (Milos Djermanovic)
* [`1f77c53`](https://github.com/eslint/eslint/commit/1f77c53b12d00403b88a0e02c8d2432278abcf52) chore: add `repository.directory` property to `package.json` (#19165) (루밀LuMir)
* [`d460594`](https://github.com/eslint/eslint/commit/d46059410a0e02b98067aa31975c25fd8d0d1c2b) chore: update dependency @arethetypeswrong/cli to ^0.17.0 (#19147) (renovate[bot])
* [`45cd4ea`](https://github.com/eslint/eslint/commit/45cd4ead9c4fc354a2542b806ec82afb67cb54fc) refactor: update default options in rules (#19136) (Milos Djermanovic)

v9.15.0 (2024-11-15)

## Features
* [`01557ce`](https://github.com/eslint/eslint/commit/01557cec24203be72222858a3912da0a474ac75c) feat: Implement Language#normalizeLanguageOptions() (#19104) (Nicholas C. Zakas)
* [`2edc0e2`](https://github.com/eslint/eslint/commit/2edc0e2bdc40c4a6da8d526c82c0b6c582bae419) feat: add meta.defaultOptions (#17656) (Josh Goldberg ✨)
* [`bdec50e`](https://github.com/eslint/eslint/commit/bdec50e91baf9d5eefa07d97d2059fdebb53cdaa) feat: fix `no-useless-computed-key` false negative with `__proto__` (#19123) (Milos Djermanovic)
* [`3087c9e`](https://github.com/eslint/eslint/commit/3087c9e95094cad1354aca2e4ae48c7bd2381184) feat: add `meta` object to `@eslint/js` plugin (#19095) (Francesco Trotta)

## Bug Fixes
* [`fd33f13`](https://github.com/eslint/eslint/commit/fd33f1315ac59b1b3828dbab8e1e056a1585eff0) fix: update types for `no-restricted-imports` rule (#19060) (Nitin Kumar)
* [`bd35098`](https://github.com/eslint/eslint/commit/bd35098f5b949ecb83e8c7e287524b28b2a3dd71) fix: switch away from Node.js node:assert and AssertionError (#19082) (Josh Goldberg ✨)
* [`9db5b15`](https://github.com/eslint/eslint/commit/9db5b152c325a930130d49ca967013471c3ba0dc) fix: unsafe report for `no-lonely-if` (#19087) (Abraham Guo)
* [`68fa497`](https://github.com/eslint/eslint/commit/68fa497f6a11f1738dce85bb2bdd7a5f8b9f5d6d) fix: ignore files on a different drive on Windows (#19069) (Francesco Trotta)
* [`4ce625a`](https://github.com/eslint/eslint/commit/4ce625a230778a41b856162df9ebcc57c25cc103) fix: upgrade @humanwhocodes/retry@0.4.1 to avoid debug logs (#19102) (Milos Djermanovic)

## Documentation
* [`d927920`](https://github.com/eslint/eslint/commit/d9279202e7d15452e44adf38451d33d4aaad3bd4) docs: fix styles in no-js mode (#18916) (Tanuj Kanti)
* [`09bc2a8`](https://github.com/eslint/eslint/commit/09bc2a88c00aa9a93c7de505795fc4e85b2e6357) docs: Update README (GitHub Actions Bot)
* [`39089c8`](https://github.com/eslint/eslint/commit/39089c80a7af09494fce86a6574bf012cbe46d10) docs: add `no-useless-computed-key` examples with object patterns (#19109) (Milos Djermanovic)
* [`895c60f`](https://github.com/eslint/eslint/commit/895c60f7fe09f59df1e9490006220d3ec4b9d5b0) docs: add missing messageId property and suggestion properties (#19122) (fnx)
* [`298625e`](https://github.com/eslint/eslint/commit/298625eb65dc00bfa0a877ea46faada22021c23e) docs: Change CLI -c to use flat config (#19103) (Nicholas C. Zakas)
* [`522d8a3`](https://github.com/eslint/eslint/commit/522d8a32f326c52886c531f43cf6a1ff15af8286) docs: add deprecation on `indent`, `quotes` and `semi` rule types (#19090) (Marco Pasqualetti)

## Chores
* [`2967d91`](https://github.com/eslint/eslint/commit/2967d91037ad670ea3a67fdb9c171b60d9af138b) chore: upgrade @eslint/js@9.15.0 (#19133) (Milos Djermanovic)
* [`b441bee`](https://github.com/eslint/eslint/commit/b441bee6ad9807fef614bd071e6bd3e8b3307b2d) chore: package.json update for @eslint/js release (Jenkins)
* [`7d6bf4a`](https://github.com/eslint/eslint/commit/7d6bf4a250f97d8ff1e2606e3d769e016a32f45b) chore: upgrade @eslint/core@0.9.0 (#19131) (Milos Djermanovic)
* [`902e707`](https://github.com/eslint/eslint/commit/902e70713de1ab67ede9ef8a3836fd2d09a759e5) chore: upgrade @eslint/plugin-kit@0.2.3 (#19130) (Milos Djermanovic)
* [`5ff6c1d`](https://github.com/eslint/eslint/commit/5ff6c1dd09f32b56c05ab97f328741fc8ffb1f64) chore: bump cross-spawn (#19125) (Ian Bobinac)
* [`cceccc7`](https://github.com/eslint/eslint/commit/cceccc771631011e04b37122b990205f0e8b6925) chore: update dependency @eslint/json to ^0.6.0 (#19117) (renovate[bot])
* [`0da3f73`](https://github.com/eslint/eslint/commit/0da3f732fe1776f8f79dac829b2cab4cedd4b6d8) chore: update algolia referrer (#19114) (Strek)
* [`4f08332`](https://github.com/eslint/eslint/commit/4f08332ac03e51002f8de6da5c5a362608205437) ci: unpin `trunk-io/trunk-action` (#19108) (Francesco Trotta)
* [`6b75683`](https://github.com/eslint/eslint/commit/6b75683b47c346faaeb6c1dac8e168d64338c7b3) perf: optimize `text-table` by replacing regex with `trimEnd` (#19061) (Nitin Kumar)

v9.14.0 (2024-11-01)

## Features
* [`3fa009f`](https://github.com/eslint/eslint/commit/3fa009f25992d3d305437205be0ca145a0fb53f4) feat: add support for Import Attributes and RegExp Modifiers (#19076) (Milos Djermanovic)
* [`b0faee3`](https://github.com/eslint/eslint/commit/b0faee30e007a89bd7bdbc22a70223fabb99a541) feat: add types for the `@eslint/js` package (#19010) (Nitin Kumar)

## Bug Fixes
* [`24d0172`](https://github.com/eslint/eslint/commit/24d0172bbfb92cac663cb1631bd04e7539262066) fix: enable retry concurrency limit for readFile() (#19077) (Nicholas C. Zakas)
* [`b442067`](https://github.com/eslint/eslint/commit/b44206725247d30b10cd58859c388949f5489087) fix: Don't crash when directory is deleted during traversal. (#19067) (Nicholas C. Zakas)
* [`d474443`](https://github.com/eslint/eslint/commit/d474443109762f3b92811df0411965cf64f595c2) fix: avoid call stack overflow while processing globs (#19035) (Livia Medeiros)

## Documentation
* [`151c965`](https://github.com/eslint/eslint/commit/151c965aec1c46000ac7dfc67a1c04802112aafc) docs: update `context.languageOptions.parser` description (#19084) (Nitin Kumar)
* [`dc34f94`](https://github.com/eslint/eslint/commit/dc34f94a2ed25b37ac4aafcabed7bfae582db77e) docs: Update README (GitHub Actions Bot)
* [`f16e846`](https://github.com/eslint/eslint/commit/f16e846ac004bc32e52cd3991d14d7a89374bbb5) docs: Update README (GitHub Actions Bot)
* [`ee0a77e`](https://github.com/eslint/eslint/commit/ee0a77ea3caa5838bab704b54a577eefbed58f68) docs: change link from @types/eslint to lib/types (#19049) (Karl Horky)
* [`50f03a1`](https://github.com/eslint/eslint/commit/50f03a119e6827c03b1d6c86d3aa1f4820b609e8) docs: Clarify global ignores in config migration guide (#19032) (Milos Djermanovic)

## Build Related
* [`37c9177`](https://github.com/eslint/eslint/commit/37c9177aa07296a7a794c4b4ef5333e16fa22415) build: update `@wdio/*` dependencies (#19068) (Francesco Trotta)
* [`35a8858`](https://github.com/eslint/eslint/commit/35a8858d62cb050fa0b56702e55c94ffaaf6956d) build: exclude flawed dendency versions (#19065) (Francesco Trotta)

## Chores
* [`f36cb16`](https://github.com/eslint/eslint/commit/f36cb1649a85028fb3999ee2056ee467a907c061) chore: upgrade @eslint/js@9.14.0 (#19086) (Milos Djermanovic)
* [`28be447`](https://github.com/eslint/eslint/commit/28be4471f6eb61b4304ae3d17ea7eeacc6364bbe) chore: package.json update for @eslint/js release (Jenkins)
* [`f48a2a0`](https://github.com/eslint/eslint/commit/f48a2a0e9bf4a659b9af5e70e873fb631430c1ba) test: add `no-invalid-regexp` tests with RegExp Modifiers (#19075) (Milos Djermanovic)
* [`425202e`](https://github.com/eslint/eslint/commit/425202ed49a1372c1719d4e7b48d0fbdda8af9fa) perf: Fix caching in config loaders (#19042) (Milos Djermanovic)
* [`3d44b3c`](https://github.com/eslint/eslint/commit/3d44b3c4751e4c44c32b879b65a723faee9c1c29) ci: run tests in Node.js 23 (#19055) (Francesco Trotta)
* [`7259627`](https://github.com/eslint/eslint/commit/725962731538eaa38d5d78b9e82ce3fccc9762d0) test: ensure tmp directory cleanup in `check-emfile-handling.js` (#19036) (Livia Medeiros)

v9.13.0 (2024-10-18)

## Features
* [`381c32b`](https://github.com/eslint/eslint/commit/381c32b6975fa3208c62ca2b1052eb87182ed731) feat: Allow languages to provide `defaultLanguageOptions` (#19003) (Milos Djermanovic)
* [`bf723bd`](https://github.com/eslint/eslint/commit/bf723bd0f948dbfef57f9b34ff894e7603aeaf88) feat: Improve eslintrc warning message (#19023) (Milos Djermanovic)
* [`1def4cd`](https://github.com/eslint/eslint/commit/1def4cdfab1f067c5089df8b36242cdf912b0eb6) feat: drop support for jiti v1.21 (#18996) (Francesco Trotta)
* [`f879be2`](https://github.com/eslint/eslint/commit/f879be240ca7ddf485b700df0eb93985ccb1db45) feat: export `ESLint.defaultConfig` (#18983) (Nitin Kumar)

## Bug Fixes
* [`78836d4`](https://github.com/eslint/eslint/commit/78836d40ebd3881e527075a991da4cbb0ff9adfc) fix: update the `complexity` rule type (#19027) (Nitin Kumar)
* [`064c8b6`](https://github.com/eslint/eslint/commit/064c8b612e2e4b773d6b25867f2045e3ceaa9d66) fix: update rule types (#18925) (Nitin Kumar)

## Documentation
* [`abdbfa8`](https://github.com/eslint/eslint/commit/abdbfa83907712d0d44a35aeed4e0ea7bf106740) docs: mark `LintMessage#nodeType` as deprecated (#19019) (Nitin Kumar)
* [`19e68d3`](https://github.com/eslint/eslint/commit/19e68d3f3a86cf23e5c98eaf8736eeaa33f194f4) docs: update deprecated rules type definitions (#19018) (Nitin Kumar)
* [`7dd402d`](https://github.com/eslint/eslint/commit/7dd402d33226d821a17b22c4753ce9c40fc909bd) docs: Update examples of passing multiple values to a CLI option (#19006) (Milos Djermanovic)
* [`5dcbc51`](https://github.com/eslint/eslint/commit/5dcbc519b729698be651bdbddb39da774cb70bf1) docs: Add example with side-effect imports to no-restricted-imports (#18997) (Milos Djermanovic)
* [`1ee87ca`](https://github.com/eslint/eslint/commit/1ee87ca1c50018947e76c29e78da9aaf711f53a2) docs: Update README (GitHub Actions Bot)
* [`2c3dbdc`](https://github.com/eslint/eslint/commit/2c3dbdc2319fcf2f65c2de13f9064c5a315be890) docs: Use prerendered sponsors for README (#18988) (Milos Djermanovic)

## Chores
* [`68d2d9d`](https://github.com/eslint/eslint/commit/68d2d9dfd63401b6a9b413f11ac2c4b583e4897a) chore: upgrade to `@eslint/js@9.13.0` and `@eslint/core@^0.7.0` (#19034) (Francesco Trotta)
* [`2211f0a`](https://github.com/eslint/eslint/commit/2211f0aeb350f55e1fa71d4df93d46bc1795789d) chore: package.json update for @eslint/js release (Jenkins)
* [`c7abaef`](https://github.com/eslint/eslint/commit/c7abaef5332caf4b6251c9550a81a9c29bf324fd) perf: using Node.js compile cache (#19012) (唯然)
* [`1d7c077`](https://github.com/eslint/eslint/commit/1d7c077145d070aa7754018b29b038ce2e0c8b0e) chore: add pkg.type "commonjs" (#19011) (唯然)
* [`468e3bd`](https://github.com/eslint/eslint/commit/468e3bdadfdf5f197a44efd6c8dc5cf2b241f964) test: fix `ESLint` tests (#19021) (Francesco Trotta)
* [`ed4635f`](https://github.com/eslint/eslint/commit/ed4635fa0e4fb91705223a7d9c230b6e9a87cd4c) ci: upgrade knip@5.32.0 (#18992) (Milos Djermanovic)
* [`efad767`](https://github.com/eslint/eslint/commit/efad76732170a9a7db2e056a8d9a0cf503448c48) chore: remove unused ignore dependency (#18993) (Amaresh  S M)

v9.12.0 (2024-10-04)

## Features
* [`5a6a053`](https://github.com/eslint/eslint/commit/5a6a05321ca34480c780be8c2cb7946e4c299001) feat: update to `jiti` v2 (#18954) (Arya Emami)
* [`17a07fb`](https://github.com/eslint/eslint/commit/17a07fb548ecce24b88e8b2b07491c24ed1111a9) feat: Hooks for test cases (RuleTester) (#18771) (Anna Bocharova)
* [`2ff0e51`](https://github.com/eslint/eslint/commit/2ff0e51cedaab967b7ce383437f64b4a6df8608d) feat: Implement alternate config lookup (#18742) (Nicholas C. Zakas)
* [`2d17453`](https://github.com/eslint/eslint/commit/2d174532ae96bcaecf6fd7de78755164378b3a2d) feat: Implement modified cyclomatic complexity (#18896) (Dmitry Pashkevich)

## Bug Fixes
* [`ea380ca`](https://github.com/eslint/eslint/commit/ea380cac6f598c86b25a2726c2783636c4169957) fix: Upgrade retry to avoid EMFILE errors (#18986) (Nicholas C. Zakas)
* [`fdd6319`](https://github.com/eslint/eslint/commit/fdd631964aee250bc5520770bc1fc3f2f2872813) fix: Issues with type definitions (#18940) (Arya Emami)

## Documentation
* [`ecbd522`](https://github.com/eslint/eslint/commit/ecbd52291d7c118b77016c6bf1c60b7d263c44f0) docs: Mention code explorer (#18978) (Nicholas C. Zakas)
* [`7ea4ecc`](https://github.com/eslint/eslint/commit/7ea4ecc6e3320a74c960cb78acc94c0140d15f55) docs: Clarifying the Use of Meta Objects (#18697) (Amaresh  S M)
* [`d3e4b2e`](https://github.com/eslint/eslint/commit/d3e4b2ea4a8f76d4d49345c242f013f49635274f) docs: Clarify how to exclude `.js` files (#18976) (Milos Djermanovic)
* [`57232ff`](https://github.com/eslint/eslint/commit/57232ff3d50412586df094f052b47adb38f8d9ae) docs: Mention plugin-kit in language docs (#18973) (Nicholas C. Zakas)
* [`b80ed00`](https://github.com/eslint/eslint/commit/b80ed007cefee086db1ff17cde9f7dd6690459f0) docs: Update README (GitHub Actions Bot)
* [`cb69ab3`](https://github.com/eslint/eslint/commit/cb69ab374c149eb725b2fc5a8f0ff33fd7268a46) docs: Update README (GitHub Actions Bot)
* [`7fb0d95`](https://github.com/eslint/eslint/commit/7fb0d957c102be499d5358a74928e0ea93913371) docs: Update README (GitHub Actions Bot)
* [`493348a`](https://github.com/eslint/eslint/commit/493348a9a5dcca29d7fbbe13c67ce13a7a38413b) docs: Update README (GitHub Actions Bot)
* [`87a582c`](https://github.com/eslint/eslint/commit/87a582c8b537d133c140781aa9e3ff0201a3c10f) docs: fix typo in `id-match` rule (#18944) (Jay)

## Chores
* [`555aafd`](https://github.com/eslint/eslint/commit/555aafd06f6dddc743acff06111dc72dd8ea4c4e) chore: upgrade to `@eslint/js@9.12.0` (#18987) (Francesco Trotta)
* [`873ae60`](https://github.com/eslint/eslint/commit/873ae608c15a0a386f022076b5aab6112b56b59b) chore: package.json update for @eslint/js release (Jenkins)
* [`d0a5414`](https://github.com/eslint/eslint/commit/d0a5414c30421e5dbe313790502dbf13b9330fef) refactor: replace strip-ansi with native module (#18982) (Cristopher)
* [`b827029`](https://github.com/eslint/eslint/commit/b8270299abe777bb80a065d537aa1d4be74be705) chore: Enable JSON5 linting (#18979) (Milos Djermanovic)
* [`8f55ca2`](https://github.com/eslint/eslint/commit/8f55ca22d94c1b0ff3be323b97949edef8d880b0) chore: Upgrade espree, eslint-visitor-keys, eslint-scope (#18962) (Nicholas C. Zakas)
* [`c1a2725`](https://github.com/eslint/eslint/commit/c1a2725e9c776d6845d94c866c7f7b1fe0315090) chore: update dependency mocha to ^10.7.3 (#18945) (Milos Djermanovic)

v9.11.1 (2024-09-23)

## Bug Fixes
* [`20fd916`](https://github.com/eslint/eslint/commit/20fd91689f2a89643a6f67e900a53552d47ddfe5) fix: add `@eslint/core`, `@types/estree`, & `@types/json-schema` deps (#18938) (Nitin Kumar)
* [`2738322`](https://github.com/eslint/eslint/commit/27383226b8c5ead6b7cafc017a8ca12a1512a301) fix: add missing types for `require-atomic-updates` rule (#18937) (Kristóf Poduszló)
* [`d71ff30`](https://github.com/eslint/eslint/commit/d71ff3068c3134171346c91f4095dd5908d9c897) fix: add missing types for `object-shorthand` rule (#18935) (Kristóf Poduszló)
* [`561cadc`](https://github.com/eslint/eslint/commit/561cadc54376fd0a5cc1446c3cd76bfbb6b3ce9d) fix: add missing types for `no-unsafe-negation` rule (#18932) (Kristóf Poduszló)
* [`8843656`](https://github.com/eslint/eslint/commit/8843656f9b161d97d9dc78db01413029621e266d) fix: add missing types for `no-underscore-dangle` rule (#18931) (Kristóf Poduszló)
* [`92cde5c`](https://github.com/eslint/eslint/commit/92cde5c6da43b6017657e4c596421e3347f3dbc4) fix: add missing types for `no-shadow` rule (#18930) (Kristóf Poduszló)
* [`b3cbe11`](https://github.com/eslint/eslint/commit/b3cbe11a9216d1edabd5b85d6f274ca84574bce6) fix: add missing types for `no-sequences` rule (#18929) (Kristóf Poduszló)
* [`976f77f`](https://github.com/eslint/eslint/commit/976f77f7f6da591b715b1ce2592f09c2f1160153) fix: add missing types for `no-unused-expressions` rule (#18933) (Kristóf Poduszló)

## Documentation
* [`3eff709`](https://github.com/eslint/eslint/commit/3eff70963772e9faad4a865aaa4cf3d7dbe700a0) docs: replace deprecated `Linter.FlatConfig` type with `Linter.Config` (#18941) (Carlos Meira)

## Chores
* [`df4a859`](https://github.com/eslint/eslint/commit/df4a859b4cd578a3535a488a665a6e858289f455) chore: upgrade @eslint/js@9.11.1 (#18943) (Milos Djermanovic)
* [`36d8095`](https://github.com/eslint/eslint/commit/36d8095308d8973aa38bb9568121822776a5199d) chore: package.json update for @eslint/js release (Jenkins)

v9.11.0 (2024-09-20)

## Features
* [`ec30c73`](https://github.com/eslint/eslint/commit/ec30c7349e0bc2c37465a036e8c7ea3318ac2328) feat: add "eslint/universal" to export `Linter` (#18883) (唯然)
* [`c591da6`](https://github.com/eslint/eslint/commit/c591da68d4a96aa28df68f4eff7641f42af82b15) feat: Add language to types (#18917) (Nicholas C. Zakas)
* [`492eb8f`](https://github.com/eslint/eslint/commit/492eb8f34ebbc5c9d1dbfcf4dd06b8dde8d1df74) feat: limit the name given to `ImportSpecifier` in `id-length` (#18861) (Tanuj Kanti)
* [`19c6856`](https://github.com/eslint/eslint/commit/19c685608d134d9120a129cc80c0ba7f8f016aa3) feat: Add `no-useless-constructor` suggestion (#18799) (Jordan Thomson)
* [`a48f8c2`](https://github.com/eslint/eslint/commit/a48f8c29b58c27d87dbf202d55a5770d678d37d6) feat: add type `FormatterFunction`, update `LoadedFormatter` (#18872) (Francesco Trotta)

## Bug Fixes
* [`5e5f39b`](https://github.com/eslint/eslint/commit/5e5f39b82535f59780ce4be56d01fd1466029c25) fix: add missing types for `no-restricted-exports` rule (#18914) (Kristóf Poduszló)
* [`8f630eb`](https://github.com/eslint/eslint/commit/8f630eb5794ef9fe38e0b8f034287650def634bd) fix: add missing types for `no-param-reassign` options (#18906) (Kristóf Poduszló)
* [`d715781`](https://github.com/eslint/eslint/commit/d71578124f14d6da3fa5ab5cc391bb6c9ac3ffcf) fix: add missing types for `no-extra-boolean-cast` options (#18902) (Kristóf Poduszló)
* [`2de5742`](https://github.com/eslint/eslint/commit/2de5742682ec45e24dca9ca7faaa45330497fca9) fix: add missing types for `no-misleading-character-class` options (#18905) (Kristóf Poduszló)
* [`c153084`](https://github.com/eslint/eslint/commit/c153084250673b31bed46e3fe6af7a65b4ce8d6f) fix: add missing types for `no-implicit-coercion` options (#18903) (Kristóf Poduszló)
* [`fa11b2e`](https://github.com/eslint/eslint/commit/fa11b2ede6e5dc1f55dfe4b9b65d9760828900e8) fix: add missing types for `no-empty-function` options (#18901) (Kristóf Poduszló)
* [`a0deed1`](https://github.com/eslint/eslint/commit/a0deed122a9676fab07b903c8d16fbf60b92eadf) fix: add missing types for `camelcase` options (#18897) (Kristóf Poduszló)

## Documentation
* [`e4e5709`](https://github.com/eslint/eslint/commit/e4e570952249d1c4fde59c79a0f49a38490b72c9) docs: correct `prefer-object-has-own` type definition comment (#18924) (Nitin Kumar)
* [`91cbd18`](https://github.com/eslint/eslint/commit/91cbd18c70dee2ef73de8d8e43f2c744fd173934) docs: add unicode abbreviations in no-irregular-whitespace rule (#18894) (Alix Royere)
* [`59cfc0f`](https://github.com/eslint/eslint/commit/59cfc0f1b3bbb62260602579f79bd1c36ab5a00f) docs: clarify `resultsMeta` in `LoadedFormatter` type (#18881) (Milos Djermanovic)
* [`adcc50d`](https://github.com/eslint/eslint/commit/adcc50dbf1fb98c0884f841e2a627796a4490373) docs: Update README (GitHub Actions Bot)
* [`4edac1a`](https://github.com/eslint/eslint/commit/4edac1a325a832804f76602736a86217b40f69ac) docs: Update README (GitHub Actions Bot)

## Build Related
* [`959d360`](https://github.com/eslint/eslint/commit/959d360be597d3112b10590018cd52f1d98712d6) build: Support updates to previous major versions (#18871) (Milos Djermanovic)

## Chores
* [`ca21a64`](https://github.com/eslint/eslint/commit/ca21a64ed0f59adb9dadcef2fc8f7248879edbd3) chore: upgrade @eslint/js@9.11.0 (#18927) (Milos Djermanovic)
* [`a10f90a`](https://github.com/eslint/eslint/commit/a10f90af35aea9ac555b1f33106fbba1027d774e) chore: package.json update for @eslint/js release (Jenkins)
* [`e4e02cc`](https://github.com/eslint/eslint/commit/e4e02cc6938f38ad5028bb8ad82f52460a18dea5) refactor: Extract processor logic into ProcessorService (#18818) (Nicholas C. Zakas)
* [`6d4484d`](https://github.com/eslint/eslint/commit/6d4484d9c19e4132f3dee948174a543dbbb5d30f) chore: updates for v8.57.1 release (Jenkins)
* [`71f37c5`](https://github.com/eslint/eslint/commit/71f37c5bf04afb704232d312cc6c72c957d1c14e) refactor: use optional chaining when validating config rules (#18893) (lucasrmendonca)
* [`2c2805f`](https://github.com/eslint/eslint/commit/2c2805f8ee0fb1f27f3e442de248f45e5a98a067) chore: Add PR note to all templates (#18892) (Nicholas C. Zakas)
* [`7b852ce`](https://github.com/eslint/eslint/commit/7b852ce59e6ed56931c080aa46ab548fa57feffc) refactor: use `Directive` class from `@eslint/plugin-kit` (#18884) (Milos Djermanovic)
* [`d594ddd`](https://github.com/eslint/eslint/commit/d594ddd2cc9b0c251291ea12fbd14ccd2ee32ac7) chore: update dependency @eslint/core to ^0.6.0 (#18863) (renovate[bot])
* [`78b2421`](https://github.com/eslint/eslint/commit/78b2421e28f29206fe120ae1b03804b1b79e6324) chore: Update change.yml (#18882) (Nicholas C. Zakas)
* [`a416f0a`](https://github.com/eslint/eslint/commit/a416f0a270e922c86e8571e94a30fc87d72fa873) chore: enable `$ExpectType` comments in .ts files (#18869) (Francesco Trotta)

v8.57.1 (2024-09-16)

## Bug Fixes
* [`a19072f`](https://github.com/eslint/eslint/commit/a19072f9f17ea8266bc66193e5f8a4bf1368835d) fix: add logic to handle fixTypes in the lintText() method (#18900) (Francesco Trotta)
* [`04c7188`](https://github.com/eslint/eslint/commit/04c718865b75a95ebfc4d429b8c9fad773228624) fix: Don't lint same file multiple times (#18899) (Francesco Trotta)
* [`87ec3c4`](https://github.com/eslint/eslint/commit/87ec3c49dd23ab8892bc19aae711292d03a73483) fix: do not throw when defining a global named `__defineSetter__` (#18898) (Francesco Trotta)
* [`60a1267`](https://github.com/eslint/eslint/commit/60a12676878c3fe0623c3b93e7565f003daac5f0) fix: Provide helpful error message for nullish configs (#18889) (Milos Djermanovic)
* [`a0dea8e`](https://github.com/eslint/eslint/commit/a0dea8ee01cc4c1b65927562afd3a46418573a02) fix: allow `name` in global ignores, fix `--no-ignore` for non-global (#18875) (Milos Djermanovic)
* [`3836bb4`](https://github.com/eslint/eslint/commit/3836bb48d3f12058ec36c2edf2ca1b50eb1c923b) fix: do not crash on error in `fs.walk` filter (#18886) (Milos Djermanovic)
* [`2dec349`](https://github.com/eslint/eslint/commit/2dec349199df4cba1554172ad38163cc09ad0a52) fix: skip processor code blocks that match only universal patterns (#18880) (Milos Djermanovic)

## Documentation
* [`6a5add4`](https://github.com/eslint/eslint/commit/6a5add41e80941c7253b56b02815ac316e583006) docs: v8.x Add EOL banner (#18744) (Amaresh  S M)
* [`b034575`](https://github.com/eslint/eslint/commit/b034575978e3bb57e2edca0d2dc547c7a3abc928) docs: v8.x add version support page to the dropdown (#18731) (Amaresh  S M)
* [`760ef7d`](https://github.com/eslint/eslint/commit/760ef7d9dbd7b615ccbdc20f02cbc05dbabbada8) docs: v8.x add version support page in the side navbar (#18740) (Amaresh  S M)
* [`428b7ea`](https://github.com/eslint/eslint/commit/428b7ea0a9c086b7d8afa0adb629b09d7347d41d) docs: Add Powered by Algolia label to the search (#18658) (Amaresh  S M)
* [`c68c07f`](https://github.com/eslint/eslint/commit/c68c07ff44c180952e93c6f2c860079db6291b29) docs: version selectors synchronization (#18265) (Milos Djermanovic)

## Build Related
* [`35d366a`](https://github.com/eslint/eslint/commit/35d366aed6e8ab0cfa8f9c9bac4656e3784c11f6) build: Support updates to previous major versions (#18870) (Milos Djermanovic)

## Chores
* [`140ec45`](https://github.com/eslint/eslint/commit/140ec4569fda5a974b6964242b0b2991828a5567) chore: upgrade @eslint/js@8.57.1 (#18913) (Milos Djermanovic)
* [`bcdfc04`](https://github.com/eslint/eslint/commit/bcdfc04a69c53dbf1fc3d38603fe0a796bf2274d) chore: package.json update for @eslint/js release (Jenkins)
* [`3f6ce8d`](https://github.com/eslint/eslint/commit/3f6ce8d6b74aba0d645448e898f271825eeb9630) chore: pin vite-plugin-commonjs@0.10.1 (#18910) (Milos Djermanovic)
* [`9f07549`](https://github.com/eslint/eslint/commit/9f0754979527d05cd0abb2ea7ab1c3563fb4a361) chore: ignore `/docs/v8.x` in link checker (#18660) (Milos Djermanovic)

v9.10.0 (2024-09-06)

## Features
* [`301b90d`](https://github.com/eslint/eslint/commit/301b90df0c032c62d00ba377fefadc5c99b55bf4) feat: Add types (#18854) (Nicholas C. Zakas)
* [`bcf0df5`](https://github.com/eslint/eslint/commit/bcf0df55c2c151d018083dd126e55dfdb62a3e78) feat: limit namespace import identifier in id-length rule (#18849) (ChaedongIm)
* [`45c18e1`](https://github.com/eslint/eslint/commit/45c18e108efd23b4ed2d6bb55e4e2f92620d7f09) feat: add `requireFlag` option to `require-unicode-regexp` rule (#18836) (Brett Zamir)
* [`183b459`](https://github.com/eslint/eslint/commit/183b459b72be5c1e359985b1584f73421dfb1484) feat: add error message for duplicate flags in `no-invalid-regexp` (#18837) (Tanuj Kanti)
* [`c69b406`](https://github.com/eslint/eslint/commit/c69b40667a288bed1290b34b37387dc671295bb0) feat: report duplicate allowed flags in `no-invalid-regexp` (#18754) (Tanuj Kanti)

## Documentation
* [`bee0e7a`](https://github.com/eslint/eslint/commit/bee0e7a5f55717d029258c99864df356c9745692) docs: update README (#18865) (Milos Djermanovic)
* [`5d80b59`](https://github.com/eslint/eslint/commit/5d80b5952056edf1a17bf4bfae30270fc7e7a9bd) docs: specify that `ruleId` can be `null` in custom formatter docs (#18857) (Milos Djermanovic)
* [`156b1c3`](https://github.com/eslint/eslint/commit/156b1c3037b616ff13eced5652f94784ebbe0e89) docs: Update README (GitHub Actions Bot)
* [`f6fdef9`](https://github.com/eslint/eslint/commit/f6fdef9df4b1d4d07bb84c38d56ab2595fbb7e11) docs: Update README (GitHub Actions Bot)
* [`a20c870`](https://github.com/eslint/eslint/commit/a20c870744824943e213e08ca52514ac10882fdb) docs: Update README (GitHub Actions Bot)
* [`90e699b`](https://github.com/eslint/eslint/commit/90e699bd9d76139ed0aeb3894839b2d4856b4a72) docs: Update README (GitHub Actions Bot)

## Chores
* [`24c3ff7`](https://github.com/eslint/eslint/commit/24c3ff7d0c0bd8b98994e04f0870cbec94c5801d) chore: upgrade to @eslint/js@9.10.0 (#18866) (Francesco Trotta)
* [`1ebdde1`](https://github.com/eslint/eslint/commit/1ebdde1cf2793b12c2e9417ce428ae3326ce8ea3) chore: package.json update for @eslint/js release (Jenkins)
* [`e8fc5bd`](https://github.com/eslint/eslint/commit/e8fc5bd3daae5aa52f90466236f467a075a10c91) chore: update dependency @eslint/core to ^0.5.0 (#18848) (renovate[bot])
* [`343f992`](https://github.com/eslint/eslint/commit/343f99216096f1db955766870e35d92d5a121448) refactor: don't use `node.value` when removing unused directives (#18835) (Milos Djermanovic)
* [`3db18b0`](https://github.com/eslint/eslint/commit/3db18b0b6733aa1d083bf55967735e5ff4195c6c) refactor: Extract FileContext into class (#18831) (Nicholas C. Zakas)
* [`931d650`](https://github.com/eslint/eslint/commit/931d650b3754c4323a19f6d259a96a5098c7c3eb) refactor: Use @eslint/plugin-kit (#18822) (Nicholas C. Zakas)
* [`ed5cf0c`](https://github.com/eslint/eslint/commit/ed5cf0c6a91032ca51a867e619c9dc7bc70ea554) chore: update dependency @eslint/json to ^0.4.0 (#18829) (Milos Djermanovic)
* [`d1f0831`](https://github.com/eslint/eslint/commit/d1f0831bac173fe3e6e81ff95c5abdbf95b02b65) chore: added missing ids (#18817) (Strek)
* [`ec92813`](https://github.com/eslint/eslint/commit/ec928136576572a6841d238b7e41ac976d27c687) refactor: Config class (#18763) (Nicholas C. Zakas)

v9.9.1 (2024-08-23)

## Bug Fixes
* [`9bde90c`](https://github.com/eslint/eslint/commit/9bde90c2edb6800c7f6428c5550ff00fff44ab02) fix: add logic to handle `fixTypes` in `lintText()` (#18736) (Amaresh  S M)

## Documentation
* [`4840930`](https://github.com/eslint/eslint/commit/4840930b9d8b6aa3578fe234180425e9060ceeca) docs: Update README with version support and clean up content (#18804) (Nicholas C. Zakas)
* [`f61f40d`](https://github.com/eslint/eslint/commit/f61f40d8a68b27ad1ff96c019ac41d4e958961a4) docs: Update globals examples (#18805) (Nicholas C. Zakas)
* [`241fcea`](https://github.com/eslint/eslint/commit/241fcea48abe1c63f22b31be4bd75b6039768a85) docs: Use and define languages (#18795) (Nicholas C. Zakas)
* [`5dbdd63`](https://github.com/eslint/eslint/commit/5dbdd63dc83428447e25f1fc1d05d8a69e3b006a) docs: eslint-plugin-markdown -> @eslint/markdown (#18797) (Nicholas C. Zakas)
* [`c6c8ddd`](https://github.com/eslint/eslint/commit/c6c8ddd3130bbfec98ef817e4647faf19b34c85c) docs: update links to eslint-visitor-keys repo (#18796) (Francesco Trotta)
* [`f981d05`](https://github.com/eslint/eslint/commit/f981d054ed935ef9844b6f76d4ce90ebb345b66f) docs: Update README (GitHub Actions Bot)
* [`b516974`](https://github.com/eslint/eslint/commit/b516974713ada28c75f1e21599fc0cec13a8b321) docs: update links to `eslint/js` repo (#18781) (Francesco Trotta)
* [`fb7a3f5`](https://github.com/eslint/eslint/commit/fb7a3f5df5f661bcd96e483558da66eafeb4b954) docs: update note for package managers (#18779) (Jay)

## Chores
* [`b0c34d0`](https://github.com/eslint/eslint/commit/b0c34d04b1ac1e56609209db2f9b18a6c05a198d) chore: upgrade to @eslint/js@9.9.1 (#18809) (Francesco Trotta)
* [`cd5a0da`](https://github.com/eslint/eslint/commit/cd5a0daa24b7ab019c42d64da478c84cc4d32c34) chore: package.json update for @eslint/js release (Jenkins)
* [`e112642`](https://github.com/eslint/eslint/commit/e1126423db08a29a6cdf39626110fd29186785f0) refactor: Extract parsing logic from Linter (#18790) (Nicholas C. Zakas)
* [`0f68a85`](https://github.com/eslint/eslint/commit/0f68a851db4db4eb6ff537345e7d6c26434950f1) chore: use eslint-plugin-yml on yaml files only (#18801) (Milos Djermanovic)
* [`f8d1b3c`](https://github.com/eslint/eslint/commit/f8d1b3c2324cdada4fe1d8799f4f517c1585a001) chore: update dependencies for browser tests (#18794) (Christian Bromann)
* [`aed2624`](https://github.com/eslint/eslint/commit/aed262407918406c19d43b8d54070fa93508782b) chore: update dependency @eslint/config-array to ^0.18.0 (#18788) (renovate[bot])
* [`5c29128`](https://github.com/eslint/eslint/commit/5c291283dc29dcfdae585d9878e0fb8ab0d68c43) chore: update dependency @eslint/core to ^0.4.0 (#18789) (renovate[bot])
* [`5d66fb2`](https://github.com/eslint/eslint/commit/5d66fb2b53ded440180feef526b1211673c40e88) chore: migrate linting workflow to use trunk check meta-linter (#18643) (Chris Clearwater)
* [`bf96855`](https://github.com/eslint/eslint/commit/bf96855d7c181648cb0a0e8faf77d707ddd4725f) chore: add ids to github issue templates (#18775) (Strek)

v9.9.0 (2024-08-09)

## Features
* [`41d0206`](https://github.com/eslint/eslint/commit/41d02066935b987d2e3b13a08680cc74d7067986) feat: Add support for TS config files (#18134) (Arya Emami)
* [`3a4eaf9`](https://github.com/eslint/eslint/commit/3a4eaf921543b1cd5d1df4ea9dec02fab396af2a) feat: add suggestion to `require-await` to remove `async` keyword (#18716) (Dave)

## Documentation
* [`9fe068c`](https://github.com/eslint/eslint/commit/9fe068c60db466277a785434496a8f90a9090bed) docs: how to author plugins with configs that extend other configs (#18753) (Alec Gibson)
* [`48117b2`](https://github.com/eslint/eslint/commit/48117b27e98639ffe7e78a230bfad9a93039fb7f) docs: add version support page in the side navbar (#18738) (Amaresh  S M)
* [`fec2951`](https://github.com/eslint/eslint/commit/fec2951d58c704c57bea7e89ffde119e4dc621e3) docs: add version support page to the dropdown (#18730) (Amaresh  S M)
* [`38a0661`](https://github.com/eslint/eslint/commit/38a0661872dd6f1db2f53501895c58e8cf4e8064) docs: Fix typo (#18735) (Zaina Al Habash)
* [`3c32a9e`](https://github.com/eslint/eslint/commit/3c32a9e23c270d83bd8b2649e78aabb76992928e) docs: Update yarn command for creating ESLint config (#18739) (Temitope Ogunleye)
* [`f9ac978`](https://github.com/eslint/eslint/commit/f9ac978de629c9a702febcf478a743c5ab11fcf6) docs: Update README (GitHub Actions Bot)

## Chores
* [`461b2c3`](https://github.com/eslint/eslint/commit/461b2c35786dc5fd5e146f370bdcafd32938386f) chore: upgrade to `@eslint/js@9.9.0` (#18765) (Francesco Trotta)
* [`59dba1b`](https://github.com/eslint/eslint/commit/59dba1b3404391f5d968be578f0205569d5d41b2) chore: package.json update for @eslint/js release (Jenkins)
* [`fea8563`](https://github.com/eslint/eslint/commit/fea8563d3372a663aa7a1a676290c34cfb8452ba) chore: update dependency @eslint/core to ^0.3.0 (#18724) (renovate[bot])
* [`aac191e`](https://github.com/eslint/eslint/commit/aac191e6701495666c264f71fc440207ea19251f) chore: update dependency @eslint/json to ^0.3.0 (#18760) (renovate[bot])
* [`b97fa05`](https://github.com/eslint/eslint/commit/b97fa051375d1a4592faf251c783691d0b0b9ab9) chore: update wdio dependencies for more stable tests (#18759) (Christian Bromann)

v9.8.0 (2024-07-26)

## Features
* [`13d0bd3`](https://github.com/eslint/eslint/commit/13d0bd371eb8eb4aa1601c8727212a62ab923d0e) feat: Add and use SourceCode#getLoc/getRange (#18703) (Nicholas C. Zakas)

## Bug Fixes
* [`ab0ff27`](https://github.com/eslint/eslint/commit/ab0ff2755d6950d7e7fb92944771c1c30f933e02) fix: Throw error when invalid flags passed (#18705) (Nicholas C. Zakas)
* [`70dc803`](https://github.com/eslint/eslint/commit/70dc80337328338f3811040e3f1a1bd5674ecbd2) fix: `basePath` directory can never be ignored (#18711) (Milos Djermanovic)

## Documentation
* [`282df1a`](https://github.com/eslint/eslint/commit/282df1aef3c3e62f2617c6c2944944510f287a07) docs: Add system theme option (#18617) (Amaresh  S M)
* [`53b1ff0`](https://github.com/eslint/eslint/commit/53b1ff047948e36682fade502c949f4e371e53cd) docs: Debug config docs (#18698) (Nicholas C. Zakas)
* [`a7016a5`](https://github.com/eslint/eslint/commit/a7016a50d88011f279d52b9355a5662e561c414c) docs: fix search input stylings (#18682) (Amaresh  S M)

## Build Related
* [`4514424`](https://github.com/eslint/eslint/commit/45144243f3b5762bd8e19e41749a7d330a723ada) build: Enable JSON linting (#18681) (Nicholas C. Zakas)

## Chores
* [`deee448`](https://github.com/eslint/eslint/commit/deee4480def929cfa7f5b75f315d84f23eaba592) chore: upgrade to `@eslint/js@9.8.0` (#18720) (Francesco Trotta)
* [`4aaf2b3`](https://github.com/eslint/eslint/commit/4aaf2b39ba3659aff0c769de4ccefa3d5379ff93) chore: package.json update for @eslint/js release (Jenkins)
* [`8e1a627`](https://github.com/eslint/eslint/commit/8e1a627a6784380ca7e7670e336bbe9630da2da1) chore: update dependency @eslint/core to ^0.2.0 (#18700) (renovate[bot])

v9.7.0 (2024-07-12)

## Features
* [`7bd9839`](https://github.com/eslint/eslint/commit/7bd98398f112da020eddcda2c26cf4cc563af004) feat: add support for es2025 duplicate named capturing groups (#18630) (Yosuke Ota)
* [`1381394`](https://github.com/eslint/eslint/commit/1381394a75b5902ce588455765a3919e2f138a7a) feat: add `regex` option in `no-restricted-imports` (#18622) (Nitin Kumar)

## Bug Fixes
* [`14e9f81`](https://github.com/eslint/eslint/commit/14e9f81ccdb51d2b915b68f442d48ced0a691646) fix: destructuring in catch clause in `no-unused-vars` (#18636) (Francesco Trotta)

## Documentation
* [`9f416db`](https://github.com/eslint/eslint/commit/9f416db680ad01716a769296085bf3eb93f76424) docs: Add Powered by Algolia label to the search. (#18633) (Amaresh  S M)
* [`c8d26cb`](https://github.com/eslint/eslint/commit/c8d26cb4a2f9d89bfc1914167d3e9f1d3314ffe7) docs: Open JS Foundation -> OpenJS Foundation (#18649) (Milos Djermanovic)
* [`6e79ac7`](https://github.com/eslint/eslint/commit/6e79ac76f44b34c24a3e92c20713fbafe1dcbae2) docs: `loadESLint` does not support option `cwd` (#18641) (Francesco Trotta)

## Chores
* [`793b718`](https://github.com/eslint/eslint/commit/793b7180119e7e440d685defb2ee01597574ef1e) chore: upgrade @eslint/js@9.7.0 (#18680) (Francesco Trotta)
* [`7ed6f9a`](https://github.com/eslint/eslint/commit/7ed6f9a4db702bbad941422f456451a8dba7a450) chore: package.json update for @eslint/js release (Jenkins)
* [`7bcda76`](https://github.com/eslint/eslint/commit/7bcda760369c44d0f1131fccaaf1ccfed5af85f1) refactor: Add type references (#18652) (Nicholas C. Zakas)
* [`51bf57c`](https://github.com/eslint/eslint/commit/51bf57c493a65baeee3a935f2d0e52e27271fb48) chore: add tech sponsors through actions (#18624) (Strek)
* [`6320732`](https://github.com/eslint/eslint/commit/6320732c3e2a52a220552e348108c53c60f9ef7a) refactor: don't use `parent` property in `NodeEventGenerator` (#18653) (Milos Djermanovic)
* [`9e6d640`](https://github.com/eslint/eslint/commit/9e6d6405c3ee774c2e716a3453ede9696ced1be7) refactor: move "Parsing error" prefix adding to Linter (#18650) (Milos Djermanovic)

v9.6.0 (2024-06-28)

## Features
* [`e2b16e2`](https://github.com/eslint/eslint/commit/e2b16e2b72606162dce3d804bc80186b6c5ec0f9) feat: Implement feature flags (#18516) (Nicholas C. Zakas)
* [`8824aa1`](https://github.com/eslint/eslint/commit/8824aa1469ffc572c5e5c1765d1b6da113dfba19) feat: add `ecmaVersion: 2025`, parsing duplicate named capturing groups (#18596) (Milos Djermanovic)

## Bug Fixes
* [`1613e2e`](https://github.com/eslint/eslint/commit/1613e2e586423ec7871617aec4dce5c433f0e9f0) fix: Allow escaping characters in config patterns on Windows (#18628) (Milos Djermanovic)
* [`21d3766`](https://github.com/eslint/eslint/commit/21d3766c3f4efd981d3cc294c2c82c8014815e6e) fix: `no-unused-vars` include caught errors pattern in report message (#18609) (Kirk Waiblinger)
* [`d7a7736`](https://github.com/eslint/eslint/commit/d7a7736937981befc5dfd68ce512f1a6ebf93e68) fix: improve `no-unused-vars` message on unused caught errors (#18608) (Kirk Waiblinger)
* [`f9e95d2`](https://github.com/eslint/eslint/commit/f9e95d2d06c0a7017417a3de4929b14d1008c63c) fix: correct locations of invalid `/* eslint */` comments (#18593) (Milos Djermanovic)

## Documentation
* [`13dbecd`](https://github.com/eslint/eslint/commit/13dbecdea749abf51951ce61662eec2621a4b9af) docs: Limit search to just docs (#18627) (Nicholas C. Zakas)
* [`375227f`](https://github.com/eslint/eslint/commit/375227f94da3c1c4ff6c61a29b272889fa48ca79) docs: Update getting-started.md - add pnpm to init eslint config (#18599) (Kostiantyn Ochenash)
* [`44915bb`](https://github.com/eslint/eslint/commit/44915bb95dfa21f946021d77b3b361e7e9b140e0) docs: Update README (GitHub Actions Bot)
* [`d50db7b`](https://github.com/eslint/eslint/commit/d50db7bcb4c19c0631ab80b120249ecf155824ce) docs: Update vscode-eslint info (#18595) (Nicholas C. Zakas)

## Chores
* [`b15ee30`](https://github.com/eslint/eslint/commit/b15ee302742e280e8cd019b49e7b50a4f3b88bc0) chore: upgrade @eslint/js@9.6.0 (#18632) (Milos Djermanovic)
* [`d655503`](https://github.com/eslint/eslint/commit/d655503b1fc97acfb4e7c61b3d9b557733c189b7) chore: package.json update for @eslint/js release (Jenkins)
* [`7c78ad9`](https://github.com/eslint/eslint/commit/7c78ad9d9f896354d557f24e2d37710cf79a27bf) refactor: Use language.visitorKeys and check for non-JS SourceCode (#18625) (Nicholas C. Zakas)
* [`69ff64e`](https://github.com/eslint/eslint/commit/69ff64e638c0a56628afbc271dda5c963724aca4) refactor: Return value of applyInlineConfig() (#18623) (Nicholas C. Zakas)
* [`d2d06f7`](https://github.com/eslint/eslint/commit/d2d06f7a70d9b96b125ecf2de8951bea549db4da) refactor: use `/` separator when adjusting `ignorePatterns` on Windows (#18613) (Milos Djermanovic)
* [`6421973`](https://github.com/eslint/eslint/commit/642197346bf02d277c2014144537aa21ab57dc59) refactor: fix disable directives for languages with 0-based lines (#18605) (Milos Djermanovic)
* [`0a13539`](https://github.com/eslint/eslint/commit/0a135395aca72461eb8b4c6f0866290bcf59916e) refactor: Allow optional methods for languages (#18604) (Nicholas C. Zakas)
* [`c7ddee0`](https://github.com/eslint/eslint/commit/c7ddee0d089e4db7be3f1a09f1a5731dd90b81b1) chore: make internal-rules not being a package (#18601) (Milos Djermanovic)
* [`3379164`](https://github.com/eslint/eslint/commit/3379164e8b0cee57caf7da34226982075ebef51a) chore: remove `.eslintrc.js` (#18011) (唯然)
* [`d0c3a32`](https://github.com/eslint/eslint/commit/d0c3a322fbcc2f70cfcd9d5010efef721245c382) chore: update knip (with webdriver-io plugin) (#18594) (Lars Kappert)

v9.5.0 (2024-06-14)

## Features
* [`b2d256c`](https://github.com/eslint/eslint/commit/b2d256c7356838f908c4a5762d6dc64b41bbce5d) feat: `no-sparse-arrays` report on "comma" instead of the whole array (#18579) (fisker Cheung)

## Bug Fixes
* [`6880286`](https://github.com/eslint/eslint/commit/6880286e17375b08323512f38ea59fed440a4fb5) fix: treat `*` as a universal pattern (#18586) (Milos Djermanovic)
* [`7fbe211`](https://github.com/eslint/eslint/commit/7fbe211427432aba5fa972252b9b6b5cf9866624) fix: message template for all files ignored (#18564) (Milos Djermanovic)
* [`469cb36`](https://github.com/eslint/eslint/commit/469cb363f87564bafb8e628e738e01b53f4d6911) fix: Don't lint the same file multiple times (#18552) (Milos Djermanovic)
* [`5cff638`](https://github.com/eslint/eslint/commit/5cff638c03183204d09eb0a7a8bd2e032630db17) fix: improve message for ignored files without a matching config (#18404) (Francesco Trotta)

## Documentation
* [`455f7fd`](https://github.com/eslint/eslint/commit/455f7fd1662069e9e0f4dc912ecda72962679fbe) docs: add section about including `.gitignore` files (#18590) (Milos Djermanovic)
* [`721eafe`](https://github.com/eslint/eslint/commit/721eafeae45b33b95addf385c23eca1e2f8017d0) docs: update info about universal `files` patterns (#18587) (Francesco Trotta)
* [`8127127`](https://github.com/eslint/eslint/commit/8127127386180a2882bb1b75a8fbc7ffda78dce1) docs: Update README (GitHub Actions Bot)
* [`55c2a66`](https://github.com/eslint/eslint/commit/55c2a6621cc403f2fc11eb4ad762eadc70a54874) docs: Update README (GitHub Actions Bot)
* [`eb76282`](https://github.com/eslint/eslint/commit/eb76282e0a2db8aa10a3d5659f5f9237d9729121) docs: Update README (GitHub Actions Bot)
* [`ff6e96e`](https://github.com/eslint/eslint/commit/ff6e96ec30862a4eb77a201551ec8c618335bfc2) docs: `baseConfig` and `overrideConfig` can be arrays (#18571) (Milos Djermanovic)
* [`d2d83e0`](https://github.com/eslint/eslint/commit/d2d83e045ad03f024d1679275708054d789ebe20) docs: Add mention of eslint-transforms to v9 migration guide (#18566) (Nicholas C. Zakas)
* [`9ce6832`](https://github.com/eslint/eslint/commit/9ce6832578d5798b591f490a8609c87235e881c7) docs: add callout box for unintuitive behavior (#18567) (Ben McCann)
* [`b8db99c`](https://github.com/eslint/eslint/commit/b8db99c575c75edc9b42e6333e1b0aa7d26d9a01) docs: Add VS Code info to config migration guide (#18555) (Nicholas C. Zakas)
* [`518a35c`](https://github.com/eslint/eslint/commit/518a35c8fa9161522cbe9066d48e6c6fcd8aadf3) docs: Mention config migrator (#18561) (Nicholas C. Zakas)
* [`eb440fc`](https://github.com/eslint/eslint/commit/eb440fcf16bd2f62d58b7aa9bbaf546cd94e9918) docs: specifying files with arbitrary or no extension (#18539) (Francesco Trotta)
* [`38c159e`](https://github.com/eslint/eslint/commit/38c159e7dda812ce6dfdbf8c5b78db7cdd676c62) docs: Provide example of reading package.json for plugins meta (#18530) (Nicholas C. Zakas)
* [`d16a659`](https://github.com/eslint/eslint/commit/d16a6599cad35726f62eb230bb95af463611c6c6) docs: add link to migration guide for `--ext` CLI option (#18537) (Milos Djermanovic)
* [`73408de`](https://github.com/eslint/eslint/commit/73408de08dbe1873bf6b5564533c0d81134cfeee) docs: add link to configuration file docs before examples (#18535) (Milos Djermanovic)

## Chores
* [`f588160`](https://github.com/eslint/eslint/commit/f588160c2f9996c9c62b787f1fe678f71740ec43) chore: upgrade @eslint/js@9.5.0 (#18591) (Milos Djermanovic)
* [`5890841`](https://github.com/eslint/eslint/commit/58908415c3e9e7924d39a2ff96573f7677ddb806) chore: package.json update for @eslint/js release (Jenkins)
* [`e9f4ccd`](https://github.com/eslint/eslint/commit/e9f4ccd8a182801e08d96d4246df10246ea82a58) chore: remove unused eslint-disable directive (#18589) (Milos Djermanovic)
* [`4b23ffd`](https://github.com/eslint/eslint/commit/4b23ffd6454cfb1a269430f5fe28e7d1c37b9d3e) refactor: Move JS parsing logic into JS language (#18448) (Nicholas C. Zakas)
* [`1495b93`](https://github.com/eslint/eslint/commit/1495b93d6fac4d7b6c9efa24c46b613f47feb1d4) chore: update WebdriverIO packages (#18558) (Christian Bromann)
* [`cea7ede`](https://github.com/eslint/eslint/commit/cea7ede4618d789180d37ee12a57939b30a5c4ee) chore: add website donate link instead of opencollective (#18582) (Strek)
* [`ec94880`](https://github.com/eslint/eslint/commit/ec948803c99ab1b001f093c7a2c412945fbb385f) chore: package.json update for eslint-config-eslint release (Jenkins)
* [`6912586`](https://github.com/eslint/eslint/commit/69125865b058c08ded162d4395d606dd22acb77d) chore: extract formatting rules into separate config (#18560) (Milos Djermanovic)
* [`9738f7e`](https://github.com/eslint/eslint/commit/9738f7e9dee49a9a3a7b8bfce87eb236ede6f572) ci: fix CLI flags for c8, raise thresholds (#18554) (Francesco Trotta)
* [`c6de7bb`](https://github.com/eslint/eslint/commit/c6de7bba57054efd4620e0630c23e2c63b1927b2) chore: update dependency markdownlint-cli to ^0.41.0 (#18538) (renovate[bot])
* [`2c8fd34`](https://github.com/eslint/eslint/commit/2c8fd34bf1471efbd6e616b50d4e25ea858a6989) ci: pin @wdio/browser-runner v8.36.0 (#18540) (唯然)

v9.4.0 (2024-05-31)

## Features
* [`89a4a0a`](https://github.com/eslint/eslint/commit/89a4a0a260b8eb11487fe3d5d4d80f4630933eb3) feat: ignore IIFE's in the `no-loop-func` rule (#17528) (Nitin Kumar)

## Bug Fixes
* [`f6534d1`](https://github.com/eslint/eslint/commit/f6534d14033e04f6c7c88a1f0c44a8077148ec6b) fix: skip processor code blocks that match only universal patterns (#18507) (Milos Djermanovic)
* [`7226ebd`](https://github.com/eslint/eslint/commit/7226ebd69df04a4cc5fe546641f3443b60ec47e9) fix: allow implicit undefined return in `no-constructor-return` (#18515) (Ali Rezvani)
* [`389744b`](https://github.com/eslint/eslint/commit/389744be255717c507fafc158746e579ac08d77e) fix: use `@eslint/config-inspector@latest` (#18483) (唯然)
* [`70118a5`](https://github.com/eslint/eslint/commit/70118a5b11860fce364028d3c515393b6a586aae) fix: `func-style` false positive with arrow functions and `super` (#18473) (Milos Djermanovic)

## Documentation
* [`d7ab6f5`](https://github.com/eslint/eslint/commit/d7ab6f589d39c64bc5daaef4be3a972032f04c05) docs: update theme when when `prefers-color-scheme` changes (#18510) (Nitin Kumar)
* [`525fdff`](https://github.com/eslint/eslint/commit/525fdffde4cb34010bc503f6d54855b3f9d07811) docs: fix components files (#18519) (Tanuj Kanti)
* [`80747d2`](https://github.com/eslint/eslint/commit/80747d23dec69b30ea2c3620a1198f7d06b012b8) docs: refactor `prefer-destructuring` rule (#18472) (Tanuj Kanti)
* [`f06e0b5`](https://github.com/eslint/eslint/commit/f06e0b5f51ae1aad8957d27aa0ea4d6d0ad51455) docs: clarify func-style (#18477) (Cameron Steffen)

## Chores
* [`010dd2e`](https://github.com/eslint/eslint/commit/010dd2ef50456a1ba5892152192b6c9d9d5fd470) chore: upgrade to `@eslint/js@9.4.0` (#18534) (Francesco Trotta)
* [`5e1b5dc`](https://github.com/eslint/eslint/commit/5e1b5dc9a3d839737125571c8fd4e239d81608de) chore: package.json update for @eslint/js release (Jenkins)
* [`594145f`](https://github.com/eslint/eslint/commit/594145f493d913e2b7e25a27accf33c44e1d4687) refactor: switch to `@eslint/config-array` (#18527) (Francesco Trotta)

v9.3.0 (2024-05-17)

## Features
* [`b32153c`](https://github.com/eslint/eslint/commit/b32153c97317c6fc593c2abbf6ae994519d473b4) feat: add `overrides.namedExports` to `func-style` rule (#18444) (Percy Ma)
* [`b67eba4`](https://github.com/eslint/eslint/commit/b67eba4514026ef7e489798fd883beb678817a46) feat: add `restrictedNamedExportsPattern` to `no-restricted-exports` (#18431) (Akul Srivastava)
* [`069aa68`](https://github.com/eslint/eslint/commit/069aa680c78b8516b9a1b568519f1d01e74fb2a2) feat: add option `allowEscape` to `no-misleading-character-class` rule (#18208) (Francesco Trotta)
* [`05ef92d`](https://github.com/eslint/eslint/commit/05ef92dd15949014c0735125c89b7bd70dec58c8) feat: deprecate `multiline-comment-style` & `line-comment-position` (#18435) (唯然)
* [`db0b174`](https://github.com/eslint/eslint/commit/db0b174c3ace60e29585bfc3520727c44cefcfc5) feat: add `enforceForInnerExpressions` option to `no-extra-boolean-cast` (#18222) (Kirk Waiblinger)

## Bug Fixes
* [`8db0eff`](https://github.com/eslint/eslint/commit/8db0eff4ba89b45f439c27ba1202ed056ae92e83) fix: Improve config error messages (#18457) (Nicholas C. Zakas)
* [`5c28d9a`](https://github.com/eslint/eslint/commit/5c28d9a367e1608e097c491f40b8afd0730a8b9e) fix: don't remove comments between key and value in object-shorthand (#18442) (Kuba Jastrzębski)
* [`39fb0ee`](https://github.com/eslint/eslint/commit/39fb0ee9cd33f952707294e67f194d414261a571) fix: object-shorthand loses type parameters when auto-fixing (#18438) (dalaoshu)
* [`37eba48`](https://github.com/eslint/eslint/commit/37eba48d6f2d3c99c5ecf2fc3967e428a6051dbb) fix: don't crash when `fs.readFile` returns promise from another realm (#18416) (Milos Djermanovic)

## Documentation
* [`ceada8c`](https://github.com/eslint/eslint/commit/ceada8c702d4903d6872f46a25d68b672d2c6289) docs: explain how to use "tsc waiting" label (#18466) (Francesco Trotta)
* [`62e686c`](https://github.com/eslint/eslint/commit/62e686c5e90411fed2b5561be5688d7faf64d791) docs: Add troubleshooting info for plugin compatibility (#18451) (Nicholas C. Zakas)
* [`e17e1c0`](https://github.com/eslint/eslint/commit/e17e1c0dd5d5dc5a4cae5888116913f6555b1f1e) docs: Update README (GitHub Actions Bot)
* [`2465a1e`](https://github.com/eslint/eslint/commit/2465a1e3f3b78f302f64e62e5f0d851626b81b3c) docs: Update README (GitHub Actions Bot)
* [`d23574c`](https://github.com/eslint/eslint/commit/d23574c5c0275c8b3714a7a6d3e8bf2108af60f1) docs: Clarify usage of `no-unreachable` with TypeScript (#18445) (benj-dobs)
* [`1db9bae`](https://github.com/eslint/eslint/commit/1db9bae944b69945e3b05f76754cced16ae83838) docs: Fix typos (#18443) (Frieder Bluemle)
* [`7065196`](https://github.com/eslint/eslint/commit/70651968beb0f907c9689c2477721c0b991acc4a) docs: Update README (GitHub Actions Bot)
* [`04e7c6e`](https://github.com/eslint/eslint/commit/04e7c6e0a24bd2d7691ae641e2dc0e6d538dcdfd) docs: update deprecation notice of `no-return-await` (#18433) (Tanuj Kanti)
* [`e763512`](https://github.com/eslint/eslint/commit/e7635126f36145b47fe5d135ab258af43b2715c9) docs: Link global ignores section in config object property list (#18430) (MaoShizhong)
* [`ac7f718`](https://github.com/eslint/eslint/commit/ac7f718de66131187302387fc26907c4c93196f9) docs: reflect release of v9 in config migration guide (#18412) (Peter Briggs)
* [`0de0909`](https://github.com/eslint/eslint/commit/0de0909e001191a3464077d37e8c0b3f67e9a1cb) docs: fix grammar in configuration file resolution (#18419) (Mike McCready)

## Chores
* [`58e2719`](https://github.com/eslint/eslint/commit/58e271924aeb8ac2b8864845cd787ef3f9239939) chore: update dependencies for v9.3.0 release (#18469) (Francesco Trotta)
* [`b681ecb`](https://github.com/eslint/eslint/commit/b681ecbdf0882cbb7902682a9d35c1e76ac76c30) chore: package.json update for @eslint/js release (Jenkins)
* [`06f1d1c`](https://github.com/eslint/eslint/commit/06f1d1cd874dfc40a6651b08d766f6522a67b3f0) chore: update dependency @humanwhocodes/retry to ^0.3.0 (#18463) (renovate[bot])
* [`a63ed72`](https://github.com/eslint/eslint/commit/a63ed722a64040d2be90f36e45f1f5060a9fe28e) refactor: Use `node:` protocol for built-in Node.js modules (#18434) (Milos Djermanovic)
* [`040700a`](https://github.com/eslint/eslint/commit/040700a7a19726bb9568fc190bff95e88fb87269) chore: update dependency markdownlint-cli to ^0.40.0 (#18425) (renovate[bot])
* [`f47847c`](https://github.com/eslint/eslint/commit/f47847c1b45ef1ac5f05f3a37f5f8c46b860c57f) chore: update actions/stale action to v9 (#18426) (renovate[bot])
* [`c18ad25`](https://github.com/eslint/eslint/commit/c18ad252c280443e85f788c70ce597e1941f8ff5) chore: update actions/upload-artifact action to v4 (#18427) (renovate[bot])
* [`27e3060`](https://github.com/eslint/eslint/commit/27e3060f7519d84501a11218343c34df4947b303) chore: Disable documentation label (#18423) (Nicholas C. Zakas)

v9.2.0 (2024-05-03)

## Features
* [`8485d76`](https://github.com/eslint/eslint/commit/8485d76134bdbd29230780fadc284c482cd1d963) feat: `no-case-declarations` add suggestions (#18388) (Josh Goldberg ✨)
* [`a498f35`](https://github.com/eslint/eslint/commit/a498f35cef4df9c9f5387fafafaf482d913d5765) feat: update Unicode letter detection in capitalized-comments rule (#18375) (Francesco Trotta)

## Bug Fixes
* [`eeec413`](https://github.com/eslint/eslint/commit/eeec41346738afb491958fdbf0bcf45a302ca1b7) fix: do not throw when defining a global named __defineSetter__ (#18364) (唯然)

## Documentation
* [`0f5df50`](https://github.com/eslint/eslint/commit/0f5df509a4bc00cff2c62b90fab184bdf0231322) docs: Update README (GitHub Actions Bot)
* [`1579ce0`](https://github.com/eslint/eslint/commit/1579ce05cbb523cb5b04ff77fab06ba1ecd18dce) docs: update wording regarding indirect eval (#18394) (Kirk Waiblinger)
* [`f12a02c`](https://github.com/eslint/eslint/commit/f12a02c5749d31beefe46d2753a0d68b56f2281d) docs: update to eslint v9 in custom-rule-tutorial (#18383) (唯然)

## Chores
* [`b346605`](https://github.com/eslint/eslint/commit/b3466052802a1586560ad56a8128d603284d58c2) chore: upgrade @eslint/js@9.2.0 (#18413) (Milos Djermanovic)
* [`c4c18e0`](https://github.com/eslint/eslint/commit/c4c18e05fc866b73218dbe58b760546f39a2a620) chore: package.json update for @eslint/js release (Jenkins)
* [`284722c`](https://github.com/eslint/eslint/commit/284722ca8375c9a9e4f741bfdd78e765542da61f) chore: package.json update for eslint-config-eslint release (Jenkins)
* [`347d44f`](https://github.com/eslint/eslint/commit/347d44f96b3d9d690e4f7380029e8a5a60b2fdc7) chore: remove eslintrc export from eslint-config-eslint (#18400) (Milos Djermanovic)
* [`f316e20`](https://github.com/eslint/eslint/commit/f316e2009a8aa902fa447a49b6b5e560848f0711) ci: run tests in Node.js 22 (#18393) (Francesco Trotta)

v9.1.1 (2024-04-22)

## Bug Fixes
* [`a26b402`](https://github.com/eslint/eslint/commit/a26b40279f283853717236b44602b27b57f0b627) fix: use @eslint/create-config latest (#18373) (唯然)

v9.1.0 (2024-04-19)

## Features
* [`03068f1`](https://github.com/eslint/eslint/commit/03068f13c0e3e6b34b8ca63628cfc79dd256feac) feat: Provide helpful error message for nullish configs (#18357) (Nicholas C. Zakas)
* [`751b518`](https://github.com/eslint/eslint/commit/751b518f02b1e9f4f0cb4a4007ffacb1be2246af) feat: replace dependency graphemer with `Intl.Segmenter` (#18110) (Francesco Trotta)
* [`4d11e56`](https://github.com/eslint/eslint/commit/4d11e567baff575146fd267b3765ab2c788aa1e5) feat: add `name` to eslint configs (#18289) (唯然)
* [`1cbe1f6`](https://github.com/eslint/eslint/commit/1cbe1f6d38272784307c260f2375ab30e68716e8) feat: allow `while(true)` in `no-constant-condition` (#18286) (Tanuj Kanti)
* [`0db676f`](https://github.com/eslint/eslint/commit/0db676f9c64d2622ada86b653136d2bda4f0eee0) feat: add `Intl` in es6 globals (#18318) (唯然)

## Bug Fixes
* [`8d18958`](https://github.com/eslint/eslint/commit/8d189586d60f9beda7be8cdefd4156c023c4fdde) fix: Remove name from eslint/js packages (#18368) (Nicholas C. Zakas)
* [`594eb0e`](https://github.com/eslint/eslint/commit/594eb0e5c2b14a418d686c33d2d40fb439888b70) fix: do not crash on error in `fs.walk` filter (#18295) (Francesco Trotta)
* [`0d8cf63`](https://github.com/eslint/eslint/commit/0d8cf6350ce3dc417d6e23922e6d4ad03952aaaa) fix: EMFILE errors (#18313) (Nicholas C. Zakas)
* [`e1ac0b5`](https://github.com/eslint/eslint/commit/e1ac0b5c035bfdff7be08b69e89e1470a7becac3) fix: --inspect-config only for flat config and respect -c (#18306) (Nicholas C. Zakas)
* [`09675e1`](https://github.com/eslint/eslint/commit/09675e153169d4d0f4a85a95007dcd17d34d70c7) fix: `--no-ignore` should not apply to non-global ignores (#18334) (Milos Djermanovic)

## Documentation
* [`fb50077`](https://github.com/eslint/eslint/commit/fb50077fec497fbf01d754fc75aa22cff43ef066) docs: include notes about globals in migration-guide (#18356) (Gabriel Rohden)
* [`71c771f`](https://github.com/eslint/eslint/commit/71c771fb390cf178220d06fd7316033a385128a9) docs: Fix missing accessible name for scroll-to-top link (#18329) (Germán Freixinós)
* [`200fd4e`](https://github.com/eslint/eslint/commit/200fd4e3223d1ad22dca3dc79aa6eaa860fefe32) docs: indicate eslintrc mode for `.eslintignore` (#18285) (Francesco Trotta)
* [`16b6a8b`](https://github.com/eslint/eslint/commit/16b6a8b469d2e0ba6d904b9e858711590568b246) docs: Update README (GitHub Actions Bot)
* [`df5f8a9`](https://github.com/eslint/eslint/commit/df5f8a9bc1042c13f1969c9fbd8c72eee0662daa) docs: `paths` and `patterns` difference in `no-restricted-imports` (#18273) (Tanuj Kanti)
* [`c537d76`](https://github.com/eslint/eslint/commit/c537d76327586616b7ca5d00e76eaf6c76e6bcd2) docs: update `npm init @eslint/config` generated file names (#18298) (唯然)
* [`e1e305d`](https://github.com/eslint/eslint/commit/e1e305defaab98605d79c81d67ee5a48558c458a) docs: fix `linebreak-style` examples (#18262) (Francesco Trotta)
* [`113f51e`](https://github.com/eslint/eslint/commit/113f51ec4e52d3082a74b9682239a6e28d1a70ee) docs: Mention package.json config support dropped (#18305) (Nicholas C. Zakas)
* [`5c35321`](https://github.com/eslint/eslint/commit/5c353215e05818e17e83192acbb4d3730c716afa) docs: add eslintrc-only note to `--rulesdir` (#18281) (Adam Lui 刘展鹏)

## Build Related
* [`1fa6622`](https://github.com/eslint/eslint/commit/1fa66220ad130eeb69cfa0207d3896b7bb09c576) build: do not use `--force` flag to install dependencies (#18284) (Francesco Trotta)

## Chores
* [`d9a2983`](https://github.com/eslint/eslint/commit/d9a2983e1301599117cf554aa6a9bd44b84f2e55) chore: upgrade @eslint/js to v9.1.1 (#18367) (Francesco Trotta)
* [`50d406d`](https://github.com/eslint/eslint/commit/50d406d68c0304370fa47d156a407258b68dfa1b) chore: package.json update for @eslint/js release (Jenkins)
* [`155c71c`](https://github.com/eslint/eslint/commit/155c71c210aaa7235ddadabb067813d8b1c76f65) chore: package.json update for @eslint/js release (Jenkins)
* [`0588fc5`](https://github.com/eslint/eslint/commit/0588fc5ecb87fddd70e1848e417ba712b48473c3) refactor: Move directive gathering to SourceCode (#18328) (Nicholas C. Zakas)
* [`9048e21`](https://github.com/eslint/eslint/commit/9048e2184c19799bb9b8a5908345d4ce05020c41) chore: lint `docs/src/_data` js files (#18335) (Milos Djermanovic)
* [`4820790`](https://github.com/eslint/eslint/commit/48207908a8291916a124af60e02d0327276f8957) chore: upgrade globals@15.0.0 dev dependency (#18332) (Milos Djermanovic)
* [`698d9ff`](https://github.com/eslint/eslint/commit/698d9ff2c9c4e24836d69358b93d42c356eb853b) chore: upgrade jsdoc & unicorn plugins in eslint-config-eslint (#18333) (Milos Djermanovic)
* [`32c08cf`](https://github.com/eslint/eslint/commit/32c08cf66536e595e93284500b0b8d702e30cfd8) chore: drop Node < 18 and use @eslint/js v9 in eslint-config-eslint (#18323) (Milos Djermanovic)
* [`a76fb55`](https://github.com/eslint/eslint/commit/a76fb55004ea095c68dde134ca7db0212c93c86e) chore: @eslint-community/eslint-plugin-eslint-comments v4.3.0 (#18319) (Milos Djermanovic)
* [`78e45b1`](https://github.com/eslint/eslint/commit/78e45b1d8d6b673ced233ca82b9ff1dddcdd1fec) chore: eslint-plugin-eslint-plugin v6.0.0 (#18316) (唯然)
* [`36103a5`](https://github.com/eslint/eslint/commit/36103a52432fffa20b90f2c6960757e6b9dc778f) chore: eslint-plugin-n v17.0.0 (#18315) (唯然)

v9.0.0 (2024-04-05)

## Breaking Changes
* [`b7cf3bd`](https://github.com/eslint/eslint/commit/b7cf3bd29f25a0bab4102a51029bf47c50f406b5) fix!: correct `camelcase` rule schema for `allow` option (#18232) (eMerzh)
* [`09bd7fe`](https://github.com/eslint/eslint/commit/09bd7fe09ad255a263286e90accafbe2bf04ccfc) feat!: move AST traversal into SourceCode (#18167) (Nicholas C. Zakas)
* [`79a95eb`](https://github.com/eslint/eslint/commit/79a95eb7da7fe657b6448c225d4f8ac31117456a) feat!: disallow multiple configuration comments for same rule (#18157) (Milos Djermanovic)
* [`9163646`](https://github.com/eslint/eslint/commit/916364692bae6a93c10b5d48fc1e9de1677d0d09) feat!: Rule Tester checks for missing placeholder data in the message (#18073) (fnx)
* [`3c4d51d`](https://github.com/eslint/eslint/commit/3c4d51d55fa5435ab18b6bf46f6b97df0f480ae7) feat!: default for `enforceForClassMembers` in `no-useless-computed-key` (#18054) (Francesco Trotta)
* [`47e60f8`](https://github.com/eslint/eslint/commit/47e60f85e0c3f275207bb4be9b5947166a190477) feat!: Stricter rule test validations (#17654) (fnx)
* [`1a94589`](https://github.com/eslint/eslint/commit/1a945890105d307541dcbff15f6438c19b476ade) feat!: `no-unused-vars` default caughtErrors to 'all' (#18043) (Josh Goldberg ✨)
* [`57089cb`](https://github.com/eslint/eslint/commit/57089cb5166acf8b8bdba8a8dbeb0a129f841478) feat!: no-restricted-imports allow multiple config entries for same path (#18021) (Milos Djermanovic)
* [`2e1d549`](https://github.com/eslint/eslint/commit/2e1d54960051b59e1c731fa44c2ef843290b1335) feat!: detect duplicate test cases (#17955) (Bryan Mishkin)
* [`701f1af`](https://github.com/eslint/eslint/commit/701f1afbee34e458b56d2dfa36d9153d6aebea3a) feat!: no-inner-declaration new default behaviour and option (#17885) (Tanuj Kanti)
* [`bde5105`](https://github.com/eslint/eslint/commit/bde51055530d4a71bd9f48c90ed7de9c0b767d86) fix!: handle `--output-file` for empty output when saving to disk (#17957) (Nitin Kumar)
* [`07107a5`](https://github.com/eslint/eslint/commit/07107a5904c2580243971c8ad7f26a04738b712e) fix!: upgrade eslint-scope@8.0.0 (#17942) (Milos Djermanovic)
* [`3ee0f6c`](https://github.com/eslint/eslint/commit/3ee0f6ca5d756da647e4e76bf3daa82a5905a792) fix!: no-unused-vars `varsIgnorePattern` behavior with catch arguments (#17932) (Tanuj Kanti)
* [`51f8bc8`](https://github.com/eslint/eslint/commit/51f8bc836bf0b13dad3a897ae84259bcdaed2431) fix!: configuration comments with just severity should retain options (#17945) (Milos Djermanovic)
* [`d191bdd`](https://github.com/eslint/eslint/commit/d191bdd67214c33e65bd605e616ca7cc947fd045) feat!: Remove CodePath#currentSegments (#17936) (Milos Djermanovic)
* [`946ae00`](https://github.com/eslint/eslint/commit/946ae00457265eb298eb169d6d48ca7ec71b9eef) feat!: FlatRuleTester -> RuleTester (#17922) (Nicholas C. Zakas)
* [`baff28c`](https://github.com/eslint/eslint/commit/baff28ce8f167f564471f1d70d6e9c4b0cb1a508) feat!: remove `no-inner-declarations` from `eslint:recommended` (#17920) (Milos Djermanovic)
* [`cadfbcd`](https://github.com/eslint/eslint/commit/cadfbcd468737fc9447243edd1d15058efb6d3d8) feat!: Rename FlatESLint to ESLint (#17914) (Nicholas C. Zakas)
* [`d1018fc`](https://github.com/eslint/eslint/commit/d1018fc5e59db0495aa4a7f501c9d3f831981f35) feat!: skip running warnings in --quiet mode (#17274) (Maddy Miller)
* [`fb81b1c`](https://github.com/eslint/eslint/commit/fb81b1cb78d2692a87fd3591fdc0f96b0c95e760) feat!: Set default `schema: []`, drop support for function-style rules (#17792) (Milos Djermanovic)
* [`0b21e1f`](https://github.com/eslint/eslint/commit/0b21e1fd67d94f907d007a7a9707a3ae1cc08575) feat!: add two more cases to `no-implicit-coercion` (#17832) (Gürgün Dayıoğlu)
* [`2916c63`](https://github.com/eslint/eslint/commit/2916c63046603e0cdc578d3c2eef8fca5b2e8847) feat!: Switch Linter to flat config by default (#17851) (Nicholas C. Zakas)
* [`200518e`](https://github.com/eslint/eslint/commit/200518eb6d42de4c3b0c6ef190fc09a95718297e) fix!: Parsing 'exported' comment using parseListConfig (#17675) (amondev)
* [`bdd6ba1`](https://github.com/eslint/eslint/commit/bdd6ba138645dba0442bb0ed2ee73049df56f38d) feat!: Remove valid-jsdoc and require-jsdoc (#17694) (Nicholas C. Zakas)
* [`12be307`](https://github.com/eslint/eslint/commit/12be3071d014814149e8e6d602f5c192178ca771) fix!: Behavior of CLI when no arguments are passed (#17644) (Nicholas C. Zakas)
* [`8fe8c56`](https://github.com/eslint/eslint/commit/8fe8c5626b98840d6a8580004f6ceffeff56264f) feat!: Update shouldUseFlatConfig and CLI so flat config is default (#17748) (Nicholas C. Zakas)
* [`60dea3e`](https://github.com/eslint/eslint/commit/60dea3e3abd6c0b6aab25437b2d0501b0d30b70c) feat!: deprecate no-new-symbol, recommend no-new-native-nonconstructor (#17710) (Francesco Trotta)
* [`5aa9c49`](https://github.com/eslint/eslint/commit/5aa9c499da48b2d3187270d5d8ece71ad7521f56) feat!: check for parsing errors in suggestion fixes (#16639) (Bryan Mishkin)
* [`b3e0bb0`](https://github.com/eslint/eslint/commit/b3e0bb03cc814e78b06a1acc4e5347b4c90d72bf) feat!: assert suggestion messages are unique in rule testers (#17532) (Josh Goldberg ✨)
* [`e563c52`](https://github.com/eslint/eslint/commit/e563c52e35d25f726d423cc3b1dffcd80027fd99) feat!: `no-invalid-regexp` make allowConstructorFlags case-sensitive (#17533) (Josh Goldberg ✨)
* [`e5f02c7`](https://github.com/eslint/eslint/commit/e5f02c70084c4f80900c0875b08f665e1f030af2) fix!: no-sequences rule schema correction (#17878) (MHO)
* [`6ee3e9e`](https://github.com/eslint/eslint/commit/6ee3e9eb5df7bdfdaa1746214793ed511112be76) feat!: Update `eslint:recommended` configuration (#17716) (Milos Djermanovic)
* [`c2cf85a`](https://github.com/eslint/eslint/commit/c2cf85a7447777e6b499cbb5c49de919bb5c817f) feat!: drop support for string configurations in flat config array (#17717) (Milos Djermanovic)
* [`c314fd6`](https://github.com/eslint/eslint/commit/c314fd612587c42cfbe6acbe286629c4178be3f7) feat!: Remove `SourceCode#getComments()` (#17715) (Milos Djermanovic)
* [`ae78ff1`](https://github.com/eslint/eslint/commit/ae78ff16558a1a2ca07b2b9cd294157d1bdcce2e) feat!: Remove deprecated context methods (#17698) (Nicholas C. Zakas)
* [`f71c328`](https://github.com/eslint/eslint/commit/f71c328e2786e2d73f168e43c7f96de172484a49) feat!: Swap FlatESLint-ESLint, FlatRuleTester-RuleTester in API (#17823) (Nicholas C. Zakas)
* [`5304da0`](https://github.com/eslint/eslint/commit/5304da03d94dc8cb19060e2efc9206784c4cec0e) feat!: remove formatters except html, json(-with-metadata), and stylish (#17531) (Josh Goldberg ✨)
* [`e1e827f`](https://github.com/eslint/eslint/commit/e1e827ffcbd73faa40dbac3b97529452e9c67108) feat!: Require Node.js `^18.18.0 || ^20.9.0 || >=21.1.0` (#17725) (Milos Djermanovic)

## Features
* [`d54a412`](https://github.com/eslint/eslint/commit/d54a41200483b7dd90531841a48a1f3a91f172fe) feat: Add --inspect-config CLI flag (#18270) (Nicholas C. Zakas)
* [`97ce45b`](https://github.com/eslint/eslint/commit/97ce45bcdaf2320efd59bb7974e0c8e073aab672) feat: Add `reportUsedIgnorePattern` option to `no-unused-vars` rule (#17662) (Pearce Ropion)
* [`3e9fcea`](https://github.com/eslint/eslint/commit/3e9fcea3808af83bda1e610aa2d33fb92135b5de) feat: Show config names in error messages (#18256) (Nicholas C. Zakas)
* [`de40874`](https://github.com/eslint/eslint/commit/de408743b5c3fc25ebd7ef5fb11ab49ab4d06c36) feat: Rule Performance Statistics for flat ESLint (#17850) (Mara Kiefer)
* [`d85c436`](https://github.com/eslint/eslint/commit/d85c436353d566d261798c51dadb8ed50def1a7d) feat: use-isnan report NaN in `indexOf` and `lastIndexOf` with fromIndex (#18225) (Tanuj Kanti)
* [`b8fb572`](https://github.com/eslint/eslint/commit/b8fb57256103b908712302ccd508f464eff1c9dc) feat: add `reportUnusedFallthroughComment` option to no-fallthrough rule (#18188) (Kirk Waiblinger)
* [`1c173dc`](https://github.com/eslint/eslint/commit/1c173dc1f3d36a28cb2543e93675c2fbdb6fa9f1) feat: add `ignoreClassWithStaticInitBlock` option to `no-unused-vars` (#18170) (Tanuj Kanti)
* [`a451b32`](https://github.com/eslint/eslint/commit/a451b32b33535a57b4b7e24291f30760f65460ba) feat: make `no-misleading-character-class` report more granular errors (#18082) (Francesco Trotta)
* [`c49ed63`](https://github.com/eslint/eslint/commit/c49ed63265fc8e0cccea404810a4c5075d396a15) feat: update complexity rule for optional chaining & default values (#18152) (Mathias Schreck)
* [`11144a2`](https://github.com/eslint/eslint/commit/11144a2671b2404b293f656be111221557f3390f) feat: `no-restricted-imports` option added `allowImportNames` (#16196) (M Pater)
* [`74124c2`](https://github.com/eslint/eslint/commit/74124c20287fac1995c3f4e553f0723c066f311d) feat: add suggestions to `use-isnan` in `indexOf` & `lastIndexOf` calls (#18063) (StyleShit)
* [`53f0f47`](https://github.com/eslint/eslint/commit/53f0f47badffa1b04ec2836f2ae599f4fc464da2) feat: Add loadESLint() API method for v9 (#18097) (Nicholas C. Zakas)
* [`2d11d46`](https://github.com/eslint/eslint/commit/2d11d46e890a9f1b5f639b8ee034ffa9bd453e42) feat: add suggestions to `use-isnan` in binary expressions (#17996) (StyleShit)
* [`26093c7`](https://github.com/eslint/eslint/commit/26093c76903310d12f21e24e73d97c0d2ac1f359) feat: fix false negatives in `no-this-before-super` (#17762) (Yosuke Ota)
* [`5471e43`](https://github.com/eslint/eslint/commit/5471e435d12bf5add9869d81534b147e445a2368) feat: convert unsafe autofixes to suggestions in `no-implicit-coercion` (#17985) (Gürgün Dayıoğlu)
* [`e3051be`](https://github.com/eslint/eslint/commit/e3051be6366b00e1571e702023a351177d24e443) feat: emit warning when `.eslintignore` file is detected (#17952) (Nitin Kumar)
* [`a630edd`](https://github.com/eslint/eslint/commit/a630edd809894dc38752705bb5954d847987f031) feat: maintain latest ecma version in ESLint (#17958) (Milos Djermanovic)
* [`b4e0503`](https://github.com/eslint/eslint/commit/b4e0503a56beea1222be266cc6b186d89410d1f2) feat: add `no-useless-assignment` rule (#17625) (Yosuke Ota)
* [`287c4b7`](https://github.com/eslint/eslint/commit/287c4b7d498746b43392ee4fecd6904a9cd4b30b) feat: `no-misleading-character-class` granular errors (#17515) (Josh Goldberg ✨)
* [`8792464`](https://github.com/eslint/eslint/commit/8792464ee7956af82dab582ca9ee59da596a608e) feat: Enable eslint.config.mjs and eslint.config.cjs (#17909) (Nicholas C. Zakas)
* [`24ce927`](https://github.com/eslint/eslint/commit/24ce9276d472b85541c4b01db488c789f33fd234) feat: warn by default for unused disable directives (#17879) (Bryan Mishkin)

## Bug Fixes
* [`610c148`](https://github.com/eslint/eslint/commit/610c1486dc54a095667822113eb08062a1aad2b7) fix: Support `using` declarations in no-lone-blocks (#18269) (Kirk Waiblinger)
* [`e508800`](https://github.com/eslint/eslint/commit/e508800658d0a71356ccc8b94a30e06140fc8858) fix: rule tester ignore irrelevant test case properties (#18235) (fnx)
* [`a129acb`](https://github.com/eslint/eslint/commit/a129acba0bd2d44480b56fd96c3d5444e850ba5b) fix: flat config name on ignores object (#18258) (Nicholas C. Zakas)
* [`dadc5bf`](https://github.com/eslint/eslint/commit/dadc5bf843a7181b9724a261c7ac0486091207aa) fix: `constructor-super` false positives with loops (#18226) (Milos Djermanovic)
* [`ae8103d`](https://github.com/eslint/eslint/commit/ae8103de69c12c6e71644a1de9589644e6767d15) fix: load plugins in the CLI in flat config mode (#18185) (Francesco Trotta)
* [`e37153f`](https://github.com/eslint/eslint/commit/e37153f71f173e8667273d6298bef81e0d33f9ba) fix: improve error message for invalid rule config (#18147) (Nitin Kumar)
* [`af6e170`](https://github.com/eslint/eslint/commit/af6e17081fa6c343474959712e7a4a20f8b304e2) fix: stop linting files after an error (#18155) (Francesco Trotta)
* [`0cb4914`](https://github.com/eslint/eslint/commit/0cb4914ef93cd572ba368d390b1cf0b93f578a9d) fix: validate options when comment with just severity enables rule (#18133) (Milos Djermanovic)
* [`c4d26fd`](https://github.com/eslint/eslint/commit/c4d26fd3d1f59c1c0f2266664887ad18692039f3) fix: `use-isnan` doesn't report on `SequenceExpression`s (#18059) (StyleShit)
* [`39076fb`](https://github.com/eslint/eslint/commit/39076fb5e4c7fa10b305d510f489aff34a5f5d99) fix: handle absolute file paths in `RuleTester` (#17989) (Nitin Kumar)
* [`6d11f3d`](https://github.com/eslint/eslint/commit/6d11f3dac1b76188d7fda6e772e89b5c3945ac4d) fix: Ensure config keys are printed for config errors (#17980) (Nicholas C. Zakas)
* [`806f708`](https://github.com/eslint/eslint/commit/806f70878e787f2c56aaa42a3e7adb61bc015278) fix: `no-misleading-character-class` edge cases with granular errors (#17970) (Milos Djermanovic)
* [`f182114`](https://github.com/eslint/eslint/commit/f182114144ae0bb7187de34a1661f31fb70f1357) fix: deep merge behavior in flat config (#17906) (Francesco Trotta)
* [`b577e8a`](https://github.com/eslint/eslint/commit/b577e8a55750c5e842074f62f1babb1836c4571c) fix: allow circular references in config (#17752) (Francesco Trotta)

## Documentation
* [`e151050`](https://github.com/eslint/eslint/commit/e151050e64b57f156c32f6d0d1f20dce08b5a610) docs: update get-started to the new `@eslint/create-config` (#18217) (唯然)
* [`94178ad`](https://github.com/eslint/eslint/commit/94178ad5cf4cfa1c8664dd8ac878790e72c90d8c) docs: mention about `name` field in flat config (#18252) (Anthony Fu)
* [`1765c24`](https://github.com/eslint/eslint/commit/1765c24df2f48ab1c1565177b8c6dbef63acf977) docs: add Troubleshooting page (#18181) (Josh Goldberg ✨)
* [`96607d0`](https://github.com/eslint/eslint/commit/96607d0581845fab19f832cd435547f9da960733) docs: version selectors synchronization (#18260) (Milos Djermanovic)
* [`651ec91`](https://github.com/eslint/eslint/commit/651ec9122d0bd8dd08082098bd1e1a24892983f2) docs: remove `/* eslint-env */` comments from rule examples (#18249) (Milos Djermanovic)
* [`950c4f1`](https://github.com/eslint/eslint/commit/950c4f11c6797de56a5b056affd0c74211840957) docs: Update README (GitHub Actions Bot)
* [`12f5746`](https://github.com/eslint/eslint/commit/12f574628f2adbe1bfed07aafecf5152b5fc3f4d) docs: add info about dot files and dir in flat config (#18239) (Tanuj Kanti)
* [`b93f408`](https://github.com/eslint/eslint/commit/b93f4085c105117a1081b249bd50c0831127fab3) docs: update shared settings example (#18251) (Tanuj Kanti)
* [`26384d3`](https://github.com/eslint/eslint/commit/26384d3367e11bd4909a3330b72741742897fa1f) docs: fix `ecmaVersion` in one example, add checks (#18241) (Milos Djermanovic)
* [`7747097`](https://github.com/eslint/eslint/commit/77470973a0c2cae8ce07a456f2ad95896bc8d1d3) docs: Update PR review process (#18233) (Nicholas C. Zakas)
* [`b07d427`](https://github.com/eslint/eslint/commit/b07d427826f81c2bdb683d04879093c687479edf) docs: fix typo (#18246) (Kirill Gavrilov)
* [`778082d`](https://github.com/eslint/eslint/commit/778082d4fa5e2fc97549c9e5acaecc488ef928f5) docs: add Glossary page (#18187) (Josh Goldberg ✨)
* [`239a7e2`](https://github.com/eslint/eslint/commit/239a7e27209a6b861d634b3ef245ebbb805793a3) docs: Clarify the description of `sort-imports` options (#18198) (gyeongwoo park)
* [`4769c86`](https://github.com/eslint/eslint/commit/4769c86cc16e0b54294c0a394a1ec7ed88fc334f) docs: fix incorrect example in `no-lone-blocks` (#18215) (Tanuj Kanti)
* [`5251327`](https://github.com/eslint/eslint/commit/5251327711a2d7083e3c629cb8e48d9d1e809add) docs: Update README (GitHub Actions Bot)
* [`1dc8618`](https://github.com/eslint/eslint/commit/1dc861897e8b47280e878d609c13c9e41892f427) docs: Update README (GitHub Actions Bot)
* [`ba1c1bb`](https://github.com/eslint/eslint/commit/ba1c1bbc6ba9d57a83d04f450566337d3c3b0448) docs: Update README (GitHub Actions Bot)
* [`337cdf9`](https://github.com/eslint/eslint/commit/337cdf9f7ad939df7bc55c23d953e12d847b6ecc) docs: Explain limitations of RuleTester fix testing (#18175) (Nicholas C. Zakas)
* [`c7abd89`](https://github.com/eslint/eslint/commit/c7abd8936193a87be274174c47d6775e6220e354) docs: Explain Node.js version support (#18176) (Nicholas C. Zakas)
* [`d961eeb`](https://github.com/eslint/eslint/commit/d961eeb855b6dd9118a78165e358e454eb1d090d) docs: show red underlines in examples in rules docs (#18041) (Yosuke Ota)
* [`558274a`](https://github.com/eslint/eslint/commit/558274abbd25ef269f4994cf258b2e44afbad548) docs: Update README (GitHub Actions Bot)
* [`2908b9b`](https://github.com/eslint/eslint/commit/2908b9b96ab7a25fe8044a1755030b18186a75b0) docs: Update release documentation (#18174) (Nicholas C. Zakas)
* [`1f1260e`](https://github.com/eslint/eslint/commit/1f1260e863f53e2a5891163485a67c55d41993aa) docs: replace HackerOne link with GitHub advisory (#18165) (Francesco Trotta)
* [`e5ef3cd`](https://github.com/eslint/eslint/commit/e5ef3cd6953bb40108556e0465653898ffed8420) docs: add inline cases condition in `no-fallthrough` (#18158) (Tanuj Kanti)
* [`450d0f0`](https://github.com/eslint/eslint/commit/450d0f044023843b1790bd497dfca45dcbdb41e4) docs: fix `ignore` option docs (#18154) (Francesco Trotta)
* [`5fe095c`](https://github.com/eslint/eslint/commit/5fe095cf718b063dc5e58089b0a6cbcd53da7925) docs: show v8.57.0 as latest version in dropdown (#18142) (Milos Djermanovic)
* [`7db5bb2`](https://github.com/eslint/eslint/commit/7db5bb270f95d1472de0bfed0e33ed5ab294942e) docs: Show prerelease version in dropdown (#18135) (Nicholas C. Zakas)
* [`73a5f06`](https://github.com/eslint/eslint/commit/73a5f0641b43e169247b0000f44a366ee6bbc4f2) docs: Update README (GitHub Actions Bot)
* [`f95cd27`](https://github.com/eslint/eslint/commit/f95cd27679eef228173e27e170429c9710c939b3) docs: Disallow multiple rule configuration comments in the same example (#18116) (Milos Djermanovic)
* [`d8068ec`](https://github.com/eslint/eslint/commit/d8068ec70fac050e900dc400510a4ad673e17633) docs: Update link for schema examples (#18112) (Svetlana)
* [`f1c7e6f`](https://github.com/eslint/eslint/commit/f1c7e6fc8ea77fcdae4ad1f8fe1cd104a281d2e9) docs: Switch to Ethical Ads (#18090) (Strek)
* [`15c143f`](https://github.com/eslint/eslint/commit/15c143f96ef164943fd3d39b5ad79d9a4a40de8f) docs: JS Foundation -> OpenJS Foundation in PR template (#18092) (Nicholas C. Zakas)
* [`6ea339e`](https://github.com/eslint/eslint/commit/6ea339e658d29791528ab26aabd86f1683cab6c3) docs: add stricter rule test validations to v9 migration guide (#18085) (Milos Djermanovic)
* [`3c816f1`](https://github.com/eslint/eslint/commit/3c816f193eecace5efc6166efa2852a829175ef8) docs: use relative link from CLI to core concepts (#18083) (Milos Djermanovic)
* [`9458735`](https://github.com/eslint/eslint/commit/9458735381269d12b24f76e1b2b6fda1bc5a509b) docs: fix malformed `eslint` config comments in rule examples (#18078) (Francesco Trotta)
* [`07a1ada`](https://github.com/eslint/eslint/commit/07a1ada7166b76c7af6186f4c5e5de8b8532edba) docs: link from `--fix` CLI doc to the relevant core concept (#18080) (Bryan Mishkin)
* [`b844324`](https://github.com/eslint/eslint/commit/b844324e4e8f511c9985a96c7aca063269df9570) docs: Update team responsibilities (#18048) (Nicholas C. Zakas)
* [`aadfb60`](https://github.com/eslint/eslint/commit/aadfb609f1b847e492fc3b28ced62f830fe7f294) docs: document languageOptions and other v9 changes for context (#18074) (fnx)
* [`857e242`](https://github.com/eslint/eslint/commit/857e242584227181ecb8af79fc6bc236b9975228) docs: tweak explanation for meta.docs rule properties (#18057) (Bryan Mishkin)
* [`10485e8`](https://github.com/eslint/eslint/commit/10485e8b961d045514bc1e34227cf09867a6c4b7) docs: recommend messageId over message for reporting rule violations (#18050) (Bryan Mishkin)
* [`98b5ab4`](https://github.com/eslint/eslint/commit/98b5ab406bac6279eadd84e8a5fd5a01fc586ff1) docs: Update README (GitHub Actions Bot)
* [`505fbf4`](https://github.com/eslint/eslint/commit/505fbf4b35c14332bffb0c838cce4843a00fad68) docs: update `no-restricted-imports` rule (#18015) (Tanuj Kanti)
* [`c25b4af`](https://github.com/eslint/eslint/commit/c25b4aff1fe35e5bd9d4fcdbb45b739b6d253828) docs: Update README (GitHub Actions Bot)
* [`33d1ab0`](https://github.com/eslint/eslint/commit/33d1ab0b6ea5fcebca7284026d2396df41b06566) docs: add more examples to flat config ignores docs (#18020) (Milos Djermanovic)
* [`e6eebca`](https://github.com/eslint/eslint/commit/e6eebca90750ef5c7c99d4fe3658553cf737dab8) docs: Update sort-keys options properties count (#18025) (LB (Ben Johnston))
* [`1fedfd2`](https://github.com/eslint/eslint/commit/1fedfd28a46d86b2fbcf06a2328befafd6535a88) docs: Improve flat config ignores docs (#17997) (Nicholas C. Zakas)
* [`38b9b06`](https://github.com/eslint/eslint/commit/38b9b06695f88c70441dd15ae5d97ffd8088be23) docs: update valid-typeof rule (#18001) (Tanuj Kanti)
* [`b4abfea`](https://github.com/eslint/eslint/commit/b4abfea4c1703a50f1ce639e3207ad342a56f79d) docs: Update note about ECMAScript support (#17991) (Francesco Trotta)
* [`6788873`](https://github.com/eslint/eslint/commit/6788873328a7f974d5e45c0be06ca0c7dd409acd) docs: Update release blog post template (#17994) (Nicholas C. Zakas)
* [`1f37442`](https://github.com/eslint/eslint/commit/1f3744278433006042b8d5f4e9e1e488b2bbb011) docs: Add sections on non-npm plugin configuration (#17984) (Nicholas C. Zakas)
* [`96307da`](https://github.com/eslint/eslint/commit/96307da837c407c9a1275124b65ca29c07ffd5e4) docs: migration guide entry for `no-inner-declarations` (#17977) (Tanuj Kanti)
* [`40be60e`](https://github.com/eslint/eslint/commit/40be60e0186cdde76219df4e8e628125df2912d8) docs: Update README (GitHub Actions Bot)
* [`d31c180`](https://github.com/eslint/eslint/commit/d31c180312260d1a286cc8162907b6a33368edc9) docs: fix number of code-path events on custom rules page (#17969) (Richard Hunter)
* [`1529ab2`](https://github.com/eslint/eslint/commit/1529ab288ec815b2690864e04dd6d0a1f0b537c6) docs: reorder entries in v9 migration guide (#17967) (Milos Djermanovic)
* [`9507525`](https://github.com/eslint/eslint/commit/95075251fb3ce35aaf7eadbd1d0a737106c13ec6) docs: Explain how to combine configs (#17947) (Nicholas C. Zakas)
* [`7c78576`](https://github.com/eslint/eslint/commit/7c785769fd177176966de7f6c1153480f7405000) docs: Add more removed `context` methods to migrate to v9 guide (#17951) (Milos Djermanovic)
* [`3a877d6`](https://github.com/eslint/eslint/commit/3a877d68d0151679f8bf1cabc39746778754b3dd) docs: Update removed CLI flags migration (#17939) (Nicholas C. Zakas)
* [`4a9cd1e`](https://github.com/eslint/eslint/commit/4a9cd1ea1cd0c115b98d07d1b6018ca918a9c73f) docs: Update Linter API for v9 (#17937) (Milos Djermanovic)
* [`2a8eea8`](https://github.com/eslint/eslint/commit/2a8eea8e5847f4103d90d667a2b08edf9795545f) docs: update docs for v9.0.0-alpha.0 (#17929) (Milos Djermanovic)
* [`7f0ba51`](https://github.com/eslint/eslint/commit/7f0ba51bcef3e6fbf972ceb20403238f0e1f0ea9) docs: show `NEXT` in version selectors (#17911) (Milos Djermanovic)
* [`0a7911e`](https://github.com/eslint/eslint/commit/0a7911e09adf2aca4d93c81f4be1cd80db7dd735) docs: add flat config default to v9 migration guide (#17927) (Milos Djermanovic)
* [`94f8065`](https://github.com/eslint/eslint/commit/94f80652aca302e2715ea51c10c3a1010786b751) docs: Add CLI updates to migrate to v9 guide (#17924) (Nicholas C. Zakas)
* [`16187f2`](https://github.com/eslint/eslint/commit/16187f23c6e5aaed3b50ff551a66f758893d5422) docs: Add exported and string config notes to migrate to v9 guide (#17926) (Nicholas C. Zakas)
* [`3ae50cc`](https://github.com/eslint/eslint/commit/3ae50cc788c3cdd209e642573e3c831dd86fa0cd) docs: Add RuleTester changes to migrate to v9 guide (#17923) (Nicholas C. Zakas)
* [`0831b58`](https://github.com/eslint/eslint/commit/0831b58fe6fb5778c92aeb4cefa9ecedbbfbf48b) docs: add rule changes to v9 migration guide (#17925) (Milos Djermanovic)
* [`037abfc`](https://github.com/eslint/eslint/commit/037abfc21f264fca3a910c4a5cd23d1bf6826c3d) docs: update API docs (#17919) (Milos Djermanovic)
* [`afc3c03`](https://github.com/eslint/eslint/commit/afc3c038ed3132a99659604624cc24e702eec45a) docs: add function-style and `meta.schema` changes to v9 migration guide (#17912) (Milos Djermanovic)
* [`1da0723`](https://github.com/eslint/eslint/commit/1da0723695d080008b22f30c8b5c86fe386c6242) docs: update `eslint:recommended` section in Migrate to v9.x (#17908) (Milos Djermanovic)
* [`f55881f`](https://github.com/eslint/eslint/commit/f55881f492d10e9c759e459ba6bade1be3dad84b) docs: remove configuration-files-new.md (#17907) (Milos Djermanovic)
* [`63ae191`](https://github.com/eslint/eslint/commit/63ae191070569a9118b5972c90a98633b0a336e1) docs: Migrate to v9.0.0 (#17905) (Nicholas C. Zakas)
* [`e708496`](https://github.com/eslint/eslint/commit/e7084963c73f3cbaae5d569b4a2bee1509dd8cef) docs: Switch to flat config by default (#17840) (Nicholas C. Zakas)
* [`fdf0424`](https://github.com/eslint/eslint/commit/fdf0424c5c08c058479a6cd7676be6985e0f400f) docs: Update Create a Plugin for flat config (#17826) (Nicholas C. Zakas)
* [`e6a91bd`](https://github.com/eslint/eslint/commit/e6a91bdf401e3b765f2b712e447154e4a2419fbc) docs: Switch shareable config docs to use flat config (#17827) (Nicholas C. Zakas)
* [`3831fb7`](https://github.com/eslint/eslint/commit/3831fb78daa3da296b71823f61f8e3a4556ff7d3) docs: updated examples of `max-lines` rule (#17898) (Tanuj Kanti)
* [`cd1ac20`](https://github.com/eslint/eslint/commit/cd1ac2041f48f2b6d743ebf671d0279a70de6eea) docs: Update README (GitHub Actions Bot)

## Build Related
* [`26010c2`](https://github.com/eslint/eslint/commit/26010c209d2657cd401bf2550ba4f276cb318f7d) Build: changelog update for 9.0.0-rc.0 (Jenkins)
* [`b91f9dc`](https://github.com/eslint/eslint/commit/b91f9dc072f17f5ea79803deb86cf002d031b4cf) build: fix TypeError in prism-eslint-hooks.js (#18209) (Francesco Trotta)
* [`d7ec0d1`](https://github.com/eslint/eslint/commit/d7ec0d1fbdbafa139d090ffd8b42d33bd4aa46f8) Build: changelog update for 9.0.0-beta.2 (Jenkins)
* [`fd9c0a9`](https://github.com/eslint/eslint/commit/fd9c0a9f0e50da617fe1f2e60ba3df0276a7f06b) Build: changelog update for 9.0.0-beta.1 (Jenkins)
* [`c9f2f33`](https://github.com/eslint/eslint/commit/c9f2f3343e7c197e5e962c68ef202d6a1646866e) build: changelog update for 8.57.0 (#18144) (Milos Djermanovic)
* [`1bbc495`](https://github.com/eslint/eslint/commit/1bbc495aecbd3e4a4aaf54d7c489191809c1b65b) Build: changelog update for 9.0.0-beta.0 (Jenkins)
* [`96f8877`](https://github.com/eslint/eslint/commit/96f8877de7dd3d92ac5afb77c92d821002d24929) Build: changelog update for 9.0.0-alpha.2 (Jenkins)
* [`52d5e7a`](https://github.com/eslint/eslint/commit/52d5e7a41d37a1a6d9aa1dffba3b688573800536) Build: changelog update for 9.0.0-alpha.1 (Jenkins)
* [`c2bf27d`](https://github.com/eslint/eslint/commit/c2bf27def29ef1ca7f5bfe20c1306bf78087ea29) build: update docs files when publishing prereleases (#17940) (Milos Djermanovic)
* [`e91d85d`](https://github.com/eslint/eslint/commit/e91d85db76c7bd8a5998f7ff52d2cc844d0e953e) Build: changelog update for 9.0.0-alpha.0 (Jenkins)

## Chores
* [`19f9a89`](https://github.com/eslint/eslint/commit/19f9a8926bd7888ab4a813ae323ad3c332fd5d5c) chore: Update dependencies for v9.0.0 (#18275) (Nicholas C. Zakas)
* [`7c957f2`](https://github.com/eslint/eslint/commit/7c957f295dcd97286016cfb3c121dbae72f26a91) chore: package.json update for @eslint/js release (Jenkins)
* [`d73a33c`](https://github.com/eslint/eslint/commit/d73a33caddc34ab1eb62039f0f661a338836147c) chore: ignore `/docs/v8.x` in link checker (#18274) (Milos Djermanovic)
* [`44a81c6`](https://github.com/eslint/eslint/commit/44a81c6151c58a3f4c1f6bb2927b0996f81c2daa) chore: upgrade knip (#18272) (Lars Kappert)
* [`e80b60c`](https://github.com/eslint/eslint/commit/e80b60c342f59db998afefd856b31159a527886a) chore: remove code for testing version selectors (#18266) (Milos Djermanovic)
* [`a98babc`](https://github.com/eslint/eslint/commit/a98babcda227649b2299d10e3f887241099406f7) chore: add npm script to run WebdriverIO test (#18238) (Francesco Trotta)
* [`9b7bd3b`](https://github.com/eslint/eslint/commit/9b7bd3be066ac1f72fa35c4d31a1b178c7e2b683) chore: update dependency markdownlint to ^0.34.0 (#18237) (renovate[bot])
* [`297416d`](https://github.com/eslint/eslint/commit/297416d2b41f5880554d052328aa36cd79ceb051) chore: package.json update for eslint-9.0.0-rc.0 (#18223) (Francesco Trotta)
* [`d363c51`](https://github.com/eslint/eslint/commit/d363c51b177e085b011c7fde1c5a5a09b3db9cdb) chore: package.json update for @eslint/js release (Jenkins)
* [`1b841bb`](https://github.com/eslint/eslint/commit/1b841bb04ac642c5ee84d1e44be3e53317579526) chore: fix some comments (#18213) (avoidaway)
* [`29c3595`](https://github.com/eslint/eslint/commit/29c359599c2ddd168084a2c8cbca626c51d0dc13) chore: remove repetitive words (#18193) (cuithon)
* [`acc2e06`](https://github.com/eslint/eslint/commit/acc2e06edd55eaab58530d891c0a572c1f0ec453) chore: Introduce Knip (#18005) (Lars Kappert)
* [`7509276`](https://github.com/eslint/eslint/commit/75092764db117252067558bd3fbbf0c66ac081b7) chore: upgrade @eslint/js@9.0.0-beta.2 (#18180) (Milos Djermanovic)
* [`96087b3`](https://github.com/eslint/eslint/commit/96087b33dc10311bba83e22cc968919c358a0188) chore: package.json update for @eslint/js release (Jenkins)
* [`925afa2`](https://github.com/eslint/eslint/commit/925afa2b0c882f77f6b4411bdca3cb8ad6934b56) chore: Remove some uses of `lodash.merge` (#18179) (Milos Djermanovic)
* [`972ef15`](https://github.com/eslint/eslint/commit/972ef155a94ad2cc85db7d209ad869869222c14c) chore: remove invalid type in @eslint/js (#18164) (Nitin Kumar)
* [`32ffdd1`](https://github.com/eslint/eslint/commit/32ffdd181aa673ccc596f714d10a2f879ec622a7) chore: upgrade @eslint/js@9.0.0-beta.1 (#18146) (Milos Djermanovic)
* [`e41425b`](https://github.com/eslint/eslint/commit/e41425b5c3b4c885f2679a3663bd081911a8b570) chore: package.json update for @eslint/js release (Jenkins)
* [`bb3b9c6`](https://github.com/eslint/eslint/commit/bb3b9c68fe714bb8aa305be5f019a7a42f4374ee) chore: upgrade @eslint/eslintrc@3.0.2 (#18145) (Milos Djermanovic)
* [`e462524`](https://github.com/eslint/eslint/commit/e462524cc318ffacecd266e6fe1038945a0b02e9) chore: upgrade eslint-release@3.2.2 (#18138) (Milos Djermanovic)
* [`8e13a6b`](https://github.com/eslint/eslint/commit/8e13a6beb587e624cc95ae16eefe503ad024b11b) chore: fix spelling mistake in README.md (#18128) (Will Eastcott)
* [`66f52e2`](https://github.com/eslint/eslint/commit/66f52e276c31487424bcf54e490c4ac7ef70f77f) chore: remove unused tools rule-types.json, update-rule-types.js (#18125) (Josh Goldberg ✨)
* [`bf0c7ef`](https://github.com/eslint/eslint/commit/bf0c7effdba51c48b929d06ce1965408a912dc77) ci: fix sync-labels value of pr-labeler (#18124) (Tanuj Kanti)
* [`cace6d0`](https://github.com/eslint/eslint/commit/cace6d0a3afa5c84b18abee4ef8c598125143461) ci: add PR labeler action (#18109) (Nitin Kumar)
* [`1a65d3e`](https://github.com/eslint/eslint/commit/1a65d3e4a6ee16e3f607d69b998a08c3fed505ca) chore: export `base` config from `eslint-config-eslint` (#18119) (Milos Djermanovic)
* [`9aa4df3`](https://github.com/eslint/eslint/commit/9aa4df3f4d85960eee72923f3b9bfc88e62f04fb) refactor: remove `globals` dependency (#18115) (Milos Djermanovic)
* [`e40d1d7`](https://github.com/eslint/eslint/commit/e40d1d74a5b9788cbec195f4e602b50249f26659) chore: upgrade @eslint/js@9.0.0-beta.0 (#18108) (Milos Djermanovic)
* [`9870f93`](https://github.com/eslint/eslint/commit/9870f93e714edefb410fccae1e9924a3c1972a2e) chore: package.json update for @eslint/js release (Jenkins)
* [`2c62e79`](https://github.com/eslint/eslint/commit/2c62e797a433e5fc298b976872a89c594f88bb19) chore: upgrade @eslint/eslintrc@3.0.1 (#18107) (Milos Djermanovic)
* [`81f0294`](https://github.com/eslint/eslint/commit/81f0294e651928b49eb49495b90b54376073a790) chore: upgrade espree@10.0.1 (#18106) (Milos Djermanovic)
* [`5e2b292`](https://github.com/eslint/eslint/commit/5e2b2922aa65bda54b0966d1bf71acda82b3047c) chore: upgrade eslint-visitor-keys@4.0.0 (#18105) (Milos Djermanovic)
* [`ce838ad`](https://github.com/eslint/eslint/commit/ce838adc3b673e52a151f36da0eedf5876977514) chore: replace dependency npm-run-all with npm-run-all2 ^5.0.0 (#18045) (renovate[bot])
* [`54df731`](https://github.com/eslint/eslint/commit/54df731174d2528170560d1f765e1336eca0a8bd) chore: update dependency markdownlint-cli to ^0.39.0 (#18084) (renovate[bot])
* [`8f06a60`](https://github.com/eslint/eslint/commit/8f06a606845f40aaf0fea1fd83d5930747c5acec) chore: update dependency shelljs to ^0.8.5 (#18079) (Francesco Trotta)
* [`93ffe30`](https://github.com/eslint/eslint/commit/93ffe30da5e2127e336c1c22e69e09ec0558a8e6) chore: update dependency file-entry-cache to v8 (#17903) (renovate[bot])
* [`6ffdcbb`](https://github.com/eslint/eslint/commit/6ffdcbb8c51956054d3f81c5ce446c15dcd51a6f) chore: upgrade @eslint/js@9.0.0-alpha.2 (#18038) (Milos Djermanovic)
* [`2c12715`](https://github.com/eslint/eslint/commit/2c1271528e88d0c3c6a92eeee902001f1703d5c9) chore: package.json update for @eslint/js release (Jenkins)
* [`cc74c4d`](https://github.com/eslint/eslint/commit/cc74c4da99368b97494b924dbea1cb6e87adec53) chore: upgrade espree@10.0.0 (#18037) (Milos Djermanovic)
* [`dfb68b6`](https://github.com/eslint/eslint/commit/dfb68b63ce6e8df6ffe81bd843e650c5b017dce9) chore: use Node.js 20 for docs sites (#18026) (Milos Djermanovic)
* [`8c1b8dd`](https://github.com/eslint/eslint/commit/8c1b8dda169920c4e3b99f6548f9c872d65ee426) test: add more tests for ignoring files and directories (#18018) (Milos Djermanovic)
* [`60b966b`](https://github.com/eslint/eslint/commit/60b966b6861da11617ddc15487bd7a51c584c596) chore: update dependency @eslint/js to v9.0.0-alpha.1 (#18014) (renovate[bot])
* [`c893bc0`](https://github.com/eslint/eslint/commit/c893bc0bdf1bca256fbab6190358e5f922683249) chore: update `markdownlint` to `v0.33.0` (#17995) (Nitin Kumar)
* [`c5e50ee`](https://github.com/eslint/eslint/commit/c5e50ee65cf22871770b1d4d438b9056c577f646) chore: package.json update for @eslint/js release (Jenkins)
* [`1bf2520`](https://github.com/eslint/eslint/commit/1bf2520c4166aa55596417bf44c567555bc65fba) chore: Split Docs CI from core CI (#17897) (Nicholas C. Zakas)
* [`320787e`](https://github.com/eslint/eslint/commit/320787e661beb979cf063d0f8333654f94ef9efd) chore: delete relative-module-resolver.js (#17981) (Francesco Trotta)
* [`4926f33`](https://github.com/eslint/eslint/commit/4926f33b96faf07a64aceec5f1f4882f4faaf4b5) refactor: use `Object.hasOwn()` (#17948) (Milos Djermanovic)
* [`df200e1`](https://github.com/eslint/eslint/commit/df200e147705eb62f94b99c170554327259c65d4) refactor: use `Array.prototype.at()` to get last elements (#17949) (Milos Djermanovic)
* [`750b8df`](https://github.com/eslint/eslint/commit/750b8dff6df02a500e12cb78390fd14814c82e5b) chore: update dependency glob to v10 (#17917) (renovate[bot])
* [`74794f5`](https://github.com/eslint/eslint/commit/74794f53a6bc88b67653c737f858cfdf35b1c73d) chore: removed unused eslintrc modules (#17938) (Milos Djermanovic)
* [`10ed29c`](https://github.com/eslint/eslint/commit/10ed29c0c4505dbac3bb05b0e3d61f329b99f747) chore: remove unused dependency rimraf (#17934) (Francesco Trotta)
* [`903ee60`](https://github.com/eslint/eslint/commit/903ee60ea910aee344df7edb66874f80e4b6ed31) ci: use `--force` flag when installing eslint (#17921) (Milos Djermanovic)
* [`17fedc1`](https://github.com/eslint/eslint/commit/17fedc17e9e6e39ad986d917fb4e9e4835c50482) chore: upgrade @eslint/js@9.0.0-alpha.0 (#17928) (Milos Djermanovic)
* [`cb89ef3`](https://github.com/eslint/eslint/commit/cb89ef373fffbed991f4e099cb255a7c116889f9) chore: package.json update for @eslint/js release (Jenkins)
* [`f6f4a45`](https://github.com/eslint/eslint/commit/f6f4a45680039f720a2fccd5f445deaf45babb3d) chore: drop structuredClone polyfill for v9 (#17915) (Kevin Gibbons)
* [`412dcbb`](https://github.com/eslint/eslint/commit/412dcbb672b5a5859f96753afa7cb87291135a1b) chore: upgrade eslint-plugin-n@16.6.0 (#17916) (Milos Djermanovic)
* [`02a8baf`](https://github.com/eslint/eslint/commit/02a8baf9f2ef7b309c7d45564a79ed5d2153057f) chore: Rename files with underscores (#17910) (Nicholas C. Zakas)
* [`c0f5d91`](https://github.com/eslint/eslint/commit/c0f5d913b0f07de332dfcecf6052f1e64bf3d2fb) chore: remove creating an unused instance of Linter in tests (#17902) (Milos Djermanovic)
* [`3826cdf`](https://github.com/eslint/eslint/commit/3826cdf89294d079be037a9ab30b7506077b26ac) chore: use jsdoc/no-multi-asterisks with allowWhitespace: true (#17900) (Percy Ma)
* [`a9a17b3`](https://github.com/eslint/eslint/commit/a9a17b3f1cb6b6c609bda86a618ac5ff631285d2) chore: fix getting scope in tests (#17899) (Milos Djermanovic)
* [`595a1f6`](https://github.com/eslint/eslint/commit/595a1f689edb5250d8398af13c3e4bd19d284d92) test: ensure that CLI tests run with FlatESLint (#17884) (Francesco Trotta)
* [`c7eca43`](https://github.com/eslint/eslint/commit/c7eca43202be98f6ff253b46c9a38602eeb92ea0) chore: update dependency markdownlint-cli to ^0.38.0 (#17865) (renovate[bot])
* [`cc0c9f7`](https://github.com/eslint/eslint/commit/cc0c9f707aa9da7965b98151868b3c249c7f8f30) ci: bump github/codeql-action from 2 to 3 (#17873) (dependabot[bot])

v9.0.0-rc.0 (2024-03-22)

## Breaking Changes
* [`09bd7fe`](https://github.com/eslint/eslint/commit/09bd7fe09ad255a263286e90accafbe2bf04ccfc) feat!: move AST traversal into SourceCode (#18167) (Nicholas C. Zakas)

## Features
* [`b8fb572`](https://github.com/eslint/eslint/commit/b8fb57256103b908712302ccd508f464eff1c9dc) feat: add `reportUnusedFallthroughComment` option to no-fallthrough rule (#18188) (Kirk Waiblinger)

## Bug Fixes
* [`ae8103d`](https://github.com/eslint/eslint/commit/ae8103de69c12c6e71644a1de9589644e6767d15) fix: load plugins in the CLI in flat config mode (#18185) (Francesco Trotta)

## Documentation
* [`239a7e2`](https://github.com/eslint/eslint/commit/239a7e27209a6b861d634b3ef245ebbb805793a3) docs: Clarify the description of `sort-imports` options (#18198) (gyeongwoo park)
* [`4769c86`](https://github.com/eslint/eslint/commit/4769c86cc16e0b54294c0a394a1ec7ed88fc334f) docs: fix incorrect example in `no-lone-blocks` (#18215) (Tanuj Kanti)
* [`5251327`](https://github.com/eslint/eslint/commit/5251327711a2d7083e3c629cb8e48d9d1e809add) docs: Update README (GitHub Actions Bot)
* [`1dc8618`](https://github.com/eslint/eslint/commit/1dc861897e8b47280e878d609c13c9e41892f427) docs: Update README (GitHub Actions Bot)

## Build Related
* [`b91f9dc`](https://github.com/eslint/eslint/commit/b91f9dc072f17f5ea79803deb86cf002d031b4cf) build: fix TypeError in prism-eslint-hooks.js (#18209) (Francesco Trotta)

## Chores
* [`297416d`](https://github.com/eslint/eslint/commit/297416d2b41f5880554d052328aa36cd79ceb051) chore: package.json update for eslint-9.0.0-rc.0 (#18223) (Francesco Trotta)
* [`d363c51`](https://github.com/eslint/eslint/commit/d363c51b177e085b011c7fde1c5a5a09b3db9cdb) chore: package.json update for @eslint/js release (Jenkins)
* [`1b841bb`](https://github.com/eslint/eslint/commit/1b841bb04ac642c5ee84d1e44be3e53317579526) chore: fix some comments (#18213) (avoidaway)
* [`29c3595`](https://github.com/eslint/eslint/commit/29c359599c2ddd168084a2c8cbca626c51d0dc13) chore: remove repetitive words (#18193) (cuithon)
* [`acc2e06`](https://github.com/eslint/eslint/commit/acc2e06edd55eaab58530d891c0a572c1f0ec453) chore: Introduce Knip (#18005) (Lars Kappert)