Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: allowVoid option in array-callback-return #17564

Merged
merged 4 commits into from Sep 17, 2023

Conversation

Tanujkanti4441
Copy link
Contributor

@Tanujkanti4441 Tanujkanti4441 commented Sep 14, 2023

Prerequisites checklist

What is the purpose of this pull request? (put an "X" next to an item)

[ ] Documentation update
[ ] Bug fix (template)
[ ] New rule (template)
[x] Changes an existing rule (template)
[ ] Add autofix to a rule
[ ] Add a CLI option
[ ] Add something to the core
[ ] Other, please explain:

What changes did you make? (Give an overview)

Added a new option called allowVoid to the array-callback-return rule which allow void operator to be used in forEach callback return. This option will work only with checkForEach: true option.

/*eslint array-callback-return: ["error", { checkForEach: true, allowVoid: true }]*/

myArray.forEach(item => void handleItem(item));  // no-error

And added related tests

Is there anything you'd like reviewers to focus on?

Refs #17285

@Tanujkanti4441 Tanujkanti4441 requested a review from a team as a code owner September 14, 2023 12:10
@eslint-github-bot
Copy link

Hi @Tanujkanti4441!, thanks for the Pull Request

The pull request title isn't properly formatted. We ask that you update the pull request title to match this format, as we use it to generate changelogs and automate releases.

  • The length of the commit message must be less than or equal to 72

To Fix: You can fix this problem by clicking 'Edit' next to the pull request title at the top of this page.

Read more about contributing to ESLint here

@netlify
Copy link

netlify bot commented Sep 14, 2023

Deploy Preview for docs-eslint canceled.

Name Link
🔨 Latest commit 2d155d6
🔍 Latest deploy log https://app.netlify.com/sites/docs-eslint/deploys/650708f6afe91a00083b473a

@Tanujkanti4441 Tanujkanti4441 changed the title feat: allowVoid option in array-callback-return for Array.prototype.forEach feat: allow void in array-callback-return for Array.prototype.forEach Sep 14, 2023
@eslint-github-bot
Copy link

Hi @Tanujkanti4441!, thanks for the Pull Request

The pull request title isn't properly formatted. We ask that you update the pull request title to match this format, as we use it to generate changelogs and automate releases.

  • The length of the commit message must be less than or equal to 72

To Fix: You can fix this problem by clicking 'Edit' next to the pull request title at the top of this page.

Read more about contributing to ESLint here

@eslint-github-bot
Copy link

Hi @Tanujkanti4441!, thanks for the Pull Request

The pull request title isn't properly formatted. We ask that you update the pull request title to match this format, as we use it to generate changelogs and automate releases.

  • The length of the commit message must be less than or equal to 72

To Fix: You can fix this problem by clicking 'Edit' next to the pull request title at the top of this page.

Read more about contributing to ESLint here

@Tanujkanti4441 Tanujkanti4441 changed the title feat: allow void in array-callback-return for Array.prototype.forEach feat: allowVoid option in array-callback-return Sep 14, 2023
@eslint-github-bot eslint-github-bot bot added the feature This change adds a new feature to ESLint label Sep 14, 2023
@nopeless
Copy link
Contributor

Thanks for doing this work 😁

@Tanujkanti4441
Copy link
Contributor Author

Thanks for doing this work 😁

Any reviews or anything that needs to be added

Copy link
Member

@nzakas nzakas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like a good start! I have a suggestion for refactoring to make things a bit clearer.

Also, please update the documentation to describe the new option and give examples.

Comment on lines 215 to 225
if (options.checkForEach && node.type === "ArrowFunctionExpression" && node.expression) {
messageId = "expectedNoReturnValue";
}

if (options.checkForEach &&
options.allowVoid &&
node.type === "ArrowFunctionExpression" &&
node.body.type === "UnaryExpression" &&
node.body.operator === "void") {
return;
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can make this a bit easier to follow by pulling the common checks up a level.

Suggested change
if (options.checkForEach && node.type === "ArrowFunctionExpression" && node.expression) {
messageId = "expectedNoReturnValue";
}
if (options.checkForEach &&
options.allowVoid &&
node.type === "ArrowFunctionExpression" &&
node.body.type === "UnaryExpression" &&
node.body.operator === "void") {
return;
}
if (options.checkForEach && node.type === "ArrowFunctionExpression") {
if (node.expression) {
messageId = "expectedNoReturnValue";
}
if (options.allowVoid &&
node.body.type === "UnaryExpression" &&
node.body.operator === "void") {
return;
}
}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!
I think node.expression is true for both the conditions

@mdjermanovic mdjermanovic added rule Relates to ESLint's core rules accepted There is consensus among the team that this change meets the criteria for inclusion labels Sep 15, 2023
Copy link
Member

@mdjermanovic mdjermanovic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this option should apply to return void, too:

/*eslint array-callback-return: ["error", { checkForEach: true, allowVoid: true }]*/

myArray.forEach(item => {
    if (item < 0) {
        return void doSomething(item); // should be okay
    }
    doSomethingElse(item);
});

Also, the original issue #17285 mentions implementing suggestions like in #17282.

Copy link
Member

@nzakas nzakas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, this LGTM. Just one suggestion for docs formatting.

Would like another review from the team before merging.


* `"allowImplicit": false` (default) When set to `true`, allows callbacks of methods that require a return value to implicitly return `undefined` with a `return` statement containing no expression.
* `"checkForEach": false` (default) When set to `true`, rule will also report `forEach` callbacks that return a value.
* `"allowVoid": false` (default) When set to `true`, allows `void` in `forEach` callbacks, so rule will not report the return value with a `void` operator.

**Note-** `{ "allowVoid": true }` works only if `checkForEach` option is set to `true`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
**Note-** `{ "allowVoid": true }` works only if `checkForEach` option is set to `true`.
**Note:** `{ "allowVoid": true }` works only if `checkForEach` option is set to `true`.

@nopeless
Copy link
Contributor

I'm not sure how much of a priority this is, but the allowVoid for callback functions have an IDE suggestion as well.

Copy link
Member

@mdjermanovic mdjermanovic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd be fine with implementing suggestions in a follow-up, but I think the option should apply to return void (#17564 (review)) from the start.

Copy link
Member

@mdjermanovic mdjermanovic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One suggestion about the tests, then LGTM.

{ code: "foo.forEach((x) => void x)", options: checkForEachOptions, parserOptions: { ecmaVersion: 6 }, errors: [{ messageId: "expectedNoReturnValue" }] },
{ code: "foo.forEach((x) => void bar(x))", options: checkForEachOptions, parserOptions: { ecmaVersion: 6 }, errors: [{ messageId: "expectedNoReturnValue" }] },
{ code: "foo.forEach((x) => { return void bar(x); })", options: checkForEachOptions, parserOptions: { ecmaVersion: 6 }, errors: [{ messageId: "expectedNoReturnValue" }] },
{ code: "foo.forEach((x) => { if (a === b) { return void a; } bar(x) })", options: checkForEachOptions, parserOptions: { ecmaVersion: 6 }, errors: [{ messageId: "expectedNoReturnValue" }] },
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add a few tests to check if allowVoid: true allows only void expressions? For example:

Suggested change
{ code: "foo.forEach((x) => { if (a === b) { return void a; } bar(x) })", options: checkForEachOptions, parserOptions: { ecmaVersion: 6 }, errors: [{ messageId: "expectedNoReturnValue" }] },
{ code: "foo.forEach((x) => { if (a === b) { return void a; } bar(x) })", options: checkForEachOptions, parserOptions: { ecmaVersion: 6 }, errors: [{ messageId: "expectedNoReturnValue" }] },
{ code: "foo.forEach((x) => x)", options: checkForEachAllowVoid, parserOptions: { ecmaVersion: 6 }, errors: [{ messageId: "expectedNoReturnValue" }] },
{ code: "foo.forEach((x) => !x)", options: checkForEachAllowVoid, parserOptions: { ecmaVersion: 6 }, errors: [{ messageId: "expectedNoReturnValue" }] },
{ code: "foo.forEach((x) => { return x; })", options: checkForEachAllowVoid, parserOptions: { ecmaVersion: 6 }, errors: [{ messageId: "expectedNoReturnValue" }] },
{ code: "foo.forEach((x) => { return !x; })", options: checkForEachAllowVoid, parserOptions: { ecmaVersion: 6 }, errors: [{ messageId: "expectedNoReturnValue" }] },

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

Copy link
Member

@mdjermanovic mdjermanovic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@mdjermanovic mdjermanovic merged commit 85a3d9e into eslint:main Sep 17, 2023
21 of 22 checks passed
@Tanujkanti4441 Tanujkanti4441 deleted the allow-void-option branch September 22, 2023 17:28
ChrisW-B pushed a commit to ChrisW-B/PersonalApi that referenced this pull request Sep 24, 2023
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | minor | [`8.49.0` -> `8.50.0`](https://renovatebot.com/diffs/npm/eslint/8.49.0/8.50.0) |

---

### Release Notes

<details>
<summary>eslint/eslint (eslint)</summary>

### [`v8.50.0`](https://github.com/eslint/eslint/releases/tag/v8.50.0)

[Compare Source](eslint/eslint@v8.49.0...v8.50.0)

#### Features

-   [`27d5a9e`](eslint/eslint@27d5a9e) feat: add suggestions to array-callback-return ([#&#8203;17590](eslint/eslint#17590)) (Tanuj Kanti)
-   [`f9082ff`](eslint/eslint@f9082ff) feat: flat-rule-tester make sure default config always matches ([#&#8203;17585](eslint/eslint#17585)) (fnx)
-   [`83914ad`](eslint/eslint@83914ad) feat: Implement SourceCode#applyInlineConfig() ([#&#8203;17351](eslint/eslint#17351)) (Nicholas C. Zakas)
-   [`22a5582`](eslint/eslint@22a5582) feat: add rule `no-object-constructor`, deprecate `no-new-object` ([#&#8203;17576](eslint/eslint#17576)) (Francesco Trotta)
-   [`85a3d9e`](eslint/eslint@85a3d9e) feat: allowVoid option in array-callback-return ([#&#8203;17564](eslint/eslint#17564)) (Tanuj Kanti)

#### Bug Fixes

-   [`cc4d26b`](eslint/eslint@cc4d26b) fix: Ensure deprecated context.parserServices warns ([#&#8203;17593](eslint/eslint#17593)) (Nicholas C. Zakas)
-   [`1ea4cfb`](eslint/eslint@1ea4cfb) fix: Ensure all RuleTester tests all deprecated context methods ([#&#8203;17587](eslint/eslint#17587)) (Nicholas C. Zakas)
-   [`aa1b657`](eslint/eslint@aa1b657) fix: wrong suggestion and message in `no-misleading-character-class` ([#&#8203;17571](eslint/eslint#17571)) (Yosuke Ota)

#### Documentation

-   [`1800537`](eslint/eslint@1800537) docs: Fix and standardize JSX code examples ([#&#8203;17591](eslint/eslint#17591)) (Francesco Trotta)
-   [`48a44a7`](eslint/eslint@48a44a7) docs: Add correct/incorrect tags to `prefer-arrow-callback` ([#&#8203;17589](eslint/eslint#17589)) (Francesco Trotta)
-   [`20893d4`](eslint/eslint@20893d4) docs: fix incorrect tag's place ([#&#8203;17575](eslint/eslint#17575)) (Tanuj Kanti)
-   [`bd7a71f`](eslint/eslint@bd7a71f) docs: Update README (GitHub Actions Bot)

#### Chores

-   [`f8a8a2d`](eslint/eslint@f8a8a2d) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).50.0 ([#&#8203;17599](eslint/eslint#17599)) (Milos Djermanovic)
-   [`38ada6d`](eslint/eslint@38ada6d) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint Jenkins)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 3pm on Sunday" in timezone America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

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

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi43Ny4wIiwidXBkYXRlZEluVmVyIjoiMzYuNzcuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Reviewed-on: https://git.chriswb.dev/chrisw-b/PersonalApi/pulls/14
Co-authored-by: Renovate Bot <renovate.bot@chrisb.xyz>
Co-committed-by: Renovate Bot <renovate.bot@chrisb.xyz>
Vylpes pushed a commit to Vylpes/Droplet that referenced this pull request Feb 5, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | minor | [`8.40.0` -> `8.56.0`](https://renovatebot.com/diffs/npm/eslint/8.40.0/8.56.0) |
| [@types/eslint](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/eslint) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | minor | [`8.37.0` -> `8.56.2`](https://renovatebot.com/diffs/npm/@types%2feslint/8.37.0/8.56.2) |

---

### Release Notes

<details>
<summary>eslint/eslint (eslint)</summary>

### [`v8.56.0`](https://github.com/eslint/eslint/releases/tag/v8.56.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.55.0...v8.56.0)

#### Features

-   [`0dd9704`](https://github.com/eslint/eslint/commit/0dd9704c4751e1cd02039f7d6485fee09bbccbf6) feat: Support custom severity when reporting unused disable directives ([#&#8203;17212](https://github.com/eslint/eslint/issues/17212)) (Bryan Mishkin)
-   [`31a7e3f`](https://github.com/eslint/eslint/commit/31a7e3fde491e36496b54e8905c766b31162d776) feat: fix no-restricted-properties false negatives with unknown objects ([#&#8203;17818](https://github.com/eslint/eslint/issues/17818)) (Arka Pratim Chaudhuri)

#### Bug Fixes

-   [`7d5e5f6`](https://github.com/eslint/eslint/commit/7d5e5f68849ae80caec0fc96ecceebccd348deec) fix: `TypeError: fs.exists is not a function` on read-only file system ([#&#8203;17846](https://github.com/eslint/eslint/issues/17846)) (Francesco Trotta)
-   [`74739c8`](https://github.com/eslint/eslint/commit/74739c849bbb6547b0e555ed8bb2ba1cbe0fdce4) fix: suggestion with invalid syntax in no-promise-executor-return rule ([#&#8203;17812](https://github.com/eslint/eslint/issues/17812)) (Bryan Mishkin)

#### Documentation

-   [`9007719`](https://github.com/eslint/eslint/commit/90077199fe519953f9af8664bf947db4e4958514) docs: update link in ways-to-extend.md ([#&#8203;17839](https://github.com/eslint/eslint/issues/17839)) (Amel SELMANE)
-   [`3a22236`](https://github.com/eslint/eslint/commit/3a22236f8d10af8a5bcafe56092651d3d681c99d) docs: Update README (GitHub Actions Bot)
-   [`54c3ca6`](https://github.com/eslint/eslint/commit/54c3ca6f2dcd2a7afd53f42fc32055a25587259e) docs: fix migration-guide example ([#&#8203;17829](https://github.com/eslint/eslint/issues/17829)) (Tanuj Kanti)
-   [`4391b71`](https://github.com/eslint/eslint/commit/4391b71e62b15e54b0493f0dce1ea053ebbc0689) docs: check config comments in rule examples ([#&#8203;17815](https://github.com/eslint/eslint/issues/17815)) (Francesco Trotta)
-   [`fd28363`](https://github.com/eslint/eslint/commit/fd2836342c2be4751b05fe0ba7cece17d1edecc8) docs: remove mention about ESLint stylistic rules in readme ([#&#8203;17810](https://github.com/eslint/eslint/issues/17810)) (Zwyx)
-   [`48ed5a6`](https://github.com/eslint/eslint/commit/48ed5a6dad478a14d3e823f137455c523f373e0b) docs: Update README (GitHub Actions Bot)

#### Chores

-   [`ba6af85`](https://github.com/eslint/eslint/commit/ba6af85c7d8ba55d37f8663aee949d148e441c1a) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).56.0 ([#&#8203;17864](https://github.com/eslint/eslint/issues/17864)) (Milos Djermanovic)
-   [`60a531a`](https://github.com/eslint/eslint/commit/60a531a9c0811ddf718e26b9136e133f580b6c36) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (Jenkins)
-   [`ba87a06`](https://github.com/eslint/eslint/commit/ba87a0651a65b52c3ac442b512dd9f4c2b4c5f57) chore: update dependency markdownlint to ^0.32.0 ([#&#8203;17783](https://github.com/eslint/eslint/issues/17783)) (renovate\[bot])
-   [`9271d10`](https://github.com/eslint/eslint/commit/9271d10d9eabeafb0129a090f29191bfd14273c0) chore: add GitHub issue template for docs issues ([#&#8203;17845](https://github.com/eslint/eslint/issues/17845)) (Josh Goldberg ✨)
-   [`70a686b`](https://github.com/eslint/eslint/commit/70a686b3c1feac5eca98bbff9bd67175f550d5db) chore: Convert rule tests to FlatRuleTester ([#&#8203;17819](https://github.com/eslint/eslint/issues/17819)) (Nicholas C. Zakas)
-   [`f3a599d`](https://github.com/eslint/eslint/commit/f3a599d34c7080fc0b2c9a60b5e54dc98c22867c) chore: upgrade eslint-plugin-unicorn to v49.0.0 ([#&#8203;17837](https://github.com/eslint/eslint/issues/17837)) (唯然)
-   [`905d4b7`](https://github.com/eslint/eslint/commit/905d4b75ab2df42aba30622cee0f66b511397e2c) chore: upgrade eslint-plugin-eslint-plugin v5.2.1 ([#&#8203;17838](https://github.com/eslint/eslint/issues/17838)) (唯然)
-   [`4d7c3ce`](https://github.com/eslint/eslint/commit/4d7c3ce246e6b499f472342ef59496a47cc033d6) chore: update eslint-plugin-n v16.4.0 ([#&#8203;17836](https://github.com/eslint/eslint/issues/17836)) (唯然)
-   [`fd0c60c`](https://github.com/eslint/eslint/commit/fd0c60c3be1f213e5a6d69d8a3248e963619e155) ci: unpin Node.js 21.2.0 ([#&#8203;17821](https://github.com/eslint/eslint/issues/17821)) (Francesco Trotta)

### [`v8.55.0`](https://github.com/eslint/eslint/releases/tag/v8.55.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.54.0...v8.55.0)

#### Features

-   [`8c9e6c1`](https://github.com/eslint/eslint/commit/8c9e6c100a6eb69da292463293b3b48cff911a01) feat: importNamePattern option in no-restricted-imports ([#&#8203;17721](https://github.com/eslint/eslint/issues/17721)) (Tanuj Kanti)

#### Documentation

-   [`83ece2a`](https://github.com/eslint/eslint/commit/83ece2afc2dc6c49efe82678663fe4cba590c0e5) docs: fix typo `--rules` -> `--rule` ([#&#8203;17806](https://github.com/eslint/eslint/issues/17806)) (OKURA Masafumi)
-   [`fffca5c`](https://github.com/eslint/eslint/commit/fffca5c362bcd205dbf79d1bb52834f8a98fc6bd) docs: remove "Open in Playground" buttons for removed rules ([#&#8203;17791](https://github.com/eslint/eslint/issues/17791)) (Francesco Trotta)
-   [`a6d9442`](https://github.com/eslint/eslint/commit/a6d9442a9ab34d5d19f78d8c8fd0767a1237bfe3) docs: fix correct/incorrect examples of rules ([#&#8203;17789](https://github.com/eslint/eslint/issues/17789)) (Tanuj Kanti)
-   [`383e999`](https://github.com/eslint/eslint/commit/383e99928d7ce649ec9030c9856b03fbac0c3501) docs: update and fix examples for `no-unused-vars` ([#&#8203;17788](https://github.com/eslint/eslint/issues/17788)) (Tanuj Kanti)
-   [`5a8efd5`](https://github.com/eslint/eslint/commit/5a8efd5b7ad13eb320a1f468d1d4ab3c8ab99214) docs: add specific stylistic rule for each deprecated rule ([#&#8203;17778](https://github.com/eslint/eslint/issues/17778)) (Etienne)

#### Chores

-   [`eb8950c`](https://github.com/eslint/eslint/commit/eb8950c3b811c9163b9aae23af8b6266ad98b295) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).55.0 ([#&#8203;17811](https://github.com/eslint/eslint/issues/17811)) (Milos Djermanovic)
-   [`93df384`](https://github.com/eslint/eslint/commit/93df3849a7a25ebe0502000bf0bfb80a6613a5ae) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (Jenkins)
-   [`fe4b954`](https://github.com/eslint/eslint/commit/fe4b9545a83e9aca7ba4bb77bc9c868d57de777f) chore: upgrade [@&#8203;eslint/eslintrc](https://github.com/eslint/eslintrc)[@&#8203;2](https://github.com/2).1.4 ([#&#8203;17799](https://github.com/eslint/eslint/issues/17799)) (Milos Djermanovic)
-   [`bd8911d`](https://github.com/eslint/eslint/commit/bd8911db85c7a1127543c9212c8cea47a5cb687d) ci: pin Node.js 21.2.0 ([#&#8203;17809](https://github.com/eslint/eslint/issues/17809)) (Milos Djermanovic)
-   [`b29a16b`](https://github.com/eslint/eslint/commit/b29a16b22f234f6134475efb6c7be5ac946556ee) chore: fix several `cli` tests to run in the intended flat config mode ([#&#8203;17797](https://github.com/eslint/eslint/issues/17797)) (Milos Djermanovic)
-   [`de165c1`](https://github.com/eslint/eslint/commit/de165c108203c6703516ac651f5b4cac5b241804) chore: remove unused config-extends fixtures ([#&#8203;17781](https://github.com/eslint/eslint/issues/17781)) (Milos Djermanovic)
-   [`d4304b8`](https://github.com/eslint/eslint/commit/d4304b8b66eac870ffbf4840d84add8a123b25fc) chore: remove formatting/stylistic rules from new rule templates ([#&#8203;17780](https://github.com/eslint/eslint/issues/17780)) (Francesco Trotta)
-   [`21024fe`](https://github.com/eslint/eslint/commit/21024fe2029420b413bed11d23761c87e9a02a1a) chore: check rule examples for syntax errors ([#&#8203;17718](https://github.com/eslint/eslint/issues/17718)) (Francesco Trotta)

### [`v8.54.0`](https://github.com/eslint/eslint/releases/tag/v8.54.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.53.0...v8.54.0)

#### Features

-   [`a7a883b`](https://github.com/eslint/eslint/commit/a7a883bd6ba4f140b60cbbb2be5b53d750f6c8db) feat: for-direction rule add check for condition in reverse order ([#&#8203;17755](https://github.com/eslint/eslint/issues/17755)) (Angelo Annunziata)
-   [`1452dc9`](https://github.com/eslint/eslint/commit/1452dc9f12c45c05d7c569f737221f0d988ecef1) feat: Add suggestions to no-console ([#&#8203;17680](https://github.com/eslint/eslint/issues/17680)) (Joel Mathew Koshy)
-   [`21ebf8a`](https://github.com/eslint/eslint/commit/21ebf8a811be9f4b009cf70a10be5062d4fdc736) feat: update `no-array-constructor` rule ([#&#8203;17711](https://github.com/eslint/eslint/issues/17711)) (Francesco Trotta)

#### Bug Fixes

-   [`98926e6`](https://github.com/eslint/eslint/commit/98926e6e7323e5dd12a9f016cb558144296665af) fix: Ensure that extra data is not accidentally stored in the cache file ([#&#8203;17760](https://github.com/eslint/eslint/issues/17760)) (Milos Djermanovic)
-   [`e8cf9f6`](https://github.com/eslint/eslint/commit/e8cf9f6a524332293f8b2c90a2db4a532e47d919) fix: Make dark scroll bar in dark theme ([#&#8203;17753](https://github.com/eslint/eslint/issues/17753)) (Pavel)
-   [`3cbeaad`](https://github.com/eslint/eslint/commit/3cbeaad7b943c153937ce34365cec2c406f2b98b) fix: Use `cwd` constructor option as config `basePath` in Linter ([#&#8203;17705](https://github.com/eslint/eslint/issues/17705)) (Milos Djermanovic)

#### Documentation

-   [`becfdd3`](https://github.com/eslint/eslint/commit/becfdd39b25d795e56c9a13eb3e77af6b9c86e8a) docs: Make clear when rules are removed ([#&#8203;17728](https://github.com/eslint/eslint/issues/17728)) (Nicholas C. Zakas)
-   [`05d6e99`](https://github.com/eslint/eslint/commit/05d6e99153ed6d94eb30f46c57609371918a41f3) docs: update "Submit a Pull Request" page ([#&#8203;17712](https://github.com/eslint/eslint/issues/17712)) (Francesco Trotta)
-   [`eb2279e`](https://github.com/eslint/eslint/commit/eb2279e5148cee8fdea7dae614f4f8af7a2d06c3) docs: display info about deprecated rules ([#&#8203;17749](https://github.com/eslint/eslint/issues/17749)) (Percy Ma)
-   [`d245326`](https://github.com/eslint/eslint/commit/d24532601e64714ac5d08507e05aa5c14ecd1d5a) docs: Correct working in migrating plugin docs ([#&#8203;17722](https://github.com/eslint/eslint/issues/17722)) (Filip Tammergård)

#### Chores

-   [`d644de9`](https://github.com/eslint/eslint/commit/d644de9a4b593b565617303a095bc9aa69e7b768) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).54.0 ([#&#8203;17773](https://github.com/eslint/eslint/issues/17773)) (Milos Djermanovic)
-   [`1e6e314`](https://github.com/eslint/eslint/commit/1e6e31415cc429a3a9fc64b2ec03df0e0ec0c91b) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (Jenkins)
-   [`6fb8805`](https://github.com/eslint/eslint/commit/6fb8805310afe7476d6c404f172177a6d15fcf11) chore: Fixed grammar in issue_templates/rule_change ([#&#8203;17770](https://github.com/eslint/eslint/issues/17770)) (Joel Mathew Koshy)
-   [`85db724`](https://github.com/eslint/eslint/commit/85db7243ddb8706ed60ab64a7ddf604d0d7de493) chore: upgrade `markdownlint` to 0.31.1 ([#&#8203;17754](https://github.com/eslint/eslint/issues/17754)) (Nitin Kumar)
-   [`6d470d2`](https://github.com/eslint/eslint/commit/6d470d2e74535761bd56dcb1c021b463ef9e8a9c) chore: update dependency recast to ^0.23.0 ([#&#8203;17736](https://github.com/eslint/eslint/issues/17736)) (renovate\[bot])
-   [`b7121b5`](https://github.com/eslint/eslint/commit/b7121b590d578c9c9b38ee481313317f30e54817) chore: update dependency markdownlint-cli to ^0.37.0 ([#&#8203;17735](https://github.com/eslint/eslint/issues/17735)) (renovate\[bot])
-   [`633b9a1`](https://github.com/eslint/eslint/commit/633b9a19752b6a22ab4d6c824f27a75ac0e4151b) chore: update dependency regenerator-runtime to ^0.14.0 ([#&#8203;17739](https://github.com/eslint/eslint/issues/17739)) (renovate\[bot])
-   [`acac16f`](https://github.com/eslint/eslint/commit/acac16fdf8540f7ba86cf637e3c1b253bd35a268) chore: update dependency vite-plugin-commonjs to ^0.10.0 ([#&#8203;17740](https://github.com/eslint/eslint/issues/17740)) (renovate\[bot])
-   [`ba8ca7e`](https://github.com/eslint/eslint/commit/ba8ca7e3debcba68ee7015b9221cf5acd7870206) chore: add .github/renovate.json5 ([#&#8203;17567](https://github.com/eslint/eslint/issues/17567)) (Josh Goldberg ✨)

### [`v8.53.0`](https://github.com/eslint/eslint/releases/tag/v8.53.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.52.0...v8.53.0)

#### Features

-   [`528e1c0`](https://github.com/eslint/eslint/commit/528e1c00dc2aa8636e5b706c4270dc655cfa17e3) feat: Deprecate formatting rules ([#&#8203;17696](https://github.com/eslint/eslint/issues/17696)) (Nicholas C. Zakas)
-   [`c0b11dd`](https://github.com/eslint/eslint/commit/c0b11ddb9f8aacc64c3933b9f278939aa7bea481) feat: Add suggestions for no-prototype-builtins ([#&#8203;17677](https://github.com/eslint/eslint/issues/17677)) (Yonathan Randolph)

#### Bug Fixes

-   [`1ad6257`](https://github.com/eslint/eslint/commit/1ad6257744d63281235fcc33288394b1d69b34ce) fix: ensure that exit code for fatal errors is not overwritten ([#&#8203;17683](https://github.com/eslint/eslint/issues/17683)) (Milos Djermanovic)
-   [`b329ea7`](https://github.com/eslint/eslint/commit/b329ea748dff45f11c7e218208244dc24fcb5c8f) fix: add `;` after JSX nodes in  `no-object-constructor` autofix ([#&#8203;17672](https://github.com/eslint/eslint/issues/17672)) (Francesco Trotta)

#### Documentation

-   [`ab8c60d`](https://github.com/eslint/eslint/commit/ab8c60d4f859cec787b5a12f7271b40e666235f5) docs: change position of return to top button ([#&#8203;17688](https://github.com/eslint/eslint/issues/17688)) (Tanuj Kanti)
-   [`4fc44c0`](https://github.com/eslint/eslint/commit/4fc44c0b8c5dca466bffdfe01dfd80794d7762b7) docs: update twitter icon to new X icon ([#&#8203;17687](https://github.com/eslint/eslint/issues/17687)) (Tanuj Kanti)
-   [`4164b2c`](https://github.com/eslint/eslint/commit/4164b2ceec89726b18ea0b0e34fab05735d55a09) docs: Update README (GitHub Actions Bot)
-   [`8651895`](https://github.com/eslint/eslint/commit/8651895ca7ae15e13d74c8be67d9eebd63a7ce1f) docs: Fix tabs in rule examples ([#&#8203;17653](https://github.com/eslint/eslint/issues/17653)) (Francesco Trotta)
-   [`3aec1c5`](https://github.com/eslint/eslint/commit/3aec1c55ba2c6d2833e1c0afe0a58f0cc6bbc0a4) docs: explained rule fixers and suggestions ([#&#8203;17657](https://github.com/eslint/eslint/issues/17657)) (Josh Goldberg ✨)

#### Chores

-   [`ba4d4d5`](https://github.com/eslint/eslint/commit/ba4d4d567a82554250dd8c7933322824e6a73944) chore: remove metascraper ([#&#8203;17707](https://github.com/eslint/eslint/issues/17707)) (Milos Djermanovic)
-   [`0d07338`](https://github.com/eslint/eslint/commit/0d0733882944b4849d71a40723c251213698cef9) chore: Update dependencies ([#&#8203;17706](https://github.com/eslint/eslint/issues/17706)) (Milos Djermanovic)
-   [`93256a3`](https://github.com/eslint/eslint/commit/93256a32e312f3f4e5c532762df71bdc06bded20) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint Jenkins)
-   [`485ec7d`](https://github.com/eslint/eslint/commit/485ec7d08ed2040c292f52bf9b9152f6c8ef4809) test: fix ESLint tests for caching ([#&#8203;17699](https://github.com/eslint/eslint/issues/17699)) (Milos Djermanovic)
-   [`db06a7f`](https://github.com/eslint/eslint/commit/db06a7ff7992a74368f03d1f21beb00df0407021) ci: bump actions/setup-node from 3 to 4 ([#&#8203;17676](https://github.com/eslint/eslint/issues/17676)) (dependabot\[bot])
-   [`994596b`](https://github.com/eslint/eslint/commit/994596b07f5ff20a615a4be1ea03e5fd59cdb84b) ci: run tests in Node.js 21 ([#&#8203;17673](https://github.com/eslint/eslint/issues/17673)) (Francesco Trotta)

### [`v8.52.0`](https://github.com/eslint/eslint/releases/tag/v8.52.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.51.0...v8.52.0)

#### Features

-   [`70648ee`](https://github.com/eslint/eslint/commit/70648ee49c07f7b533d09f6bf8a5291e5a5a8601) feat: report-unused-disable-directive to report unused eslint-enable ([#&#8203;17611](https://github.com/eslint/eslint/issues/17611)) (Yosuke Ota)

#### Bug Fixes

-   [`5de9637`](https://github.com/eslint/eslint/commit/5de9637fc925729a83d5a5e9e868a41792a184e3) fix: Ensure shared references in rule configs are separated ([#&#8203;17666](https://github.com/eslint/eslint/issues/17666)) (Nicholas C. Zakas)
-   [`dcfe573`](https://github.com/eslint/eslint/commit/dcfe5739c374c9d7ed21f14027870ec0fd453661) fix: add preceding semicolon in suggestions of `no-object-constructor` ([#&#8203;17649](https://github.com/eslint/eslint/issues/17649)) (Francesco Trotta)

#### Documentation

-   [`476d58a`](https://github.com/eslint/eslint/commit/476d58a584d5d2db003c4c22ffee90e63566164d) docs: Add note about invalid CLI flags when using flat config. ([#&#8203;17664](https://github.com/eslint/eslint/issues/17664)) (Nicholas C. Zakas)
-   [`660ed3a`](https://github.com/eslint/eslint/commit/660ed3afd128ad529234a855345629982caf1bc7) docs: Plugin flat config migration guide ([#&#8203;17640](https://github.com/eslint/eslint/issues/17640)) (Nicholas C. Zakas)
-   [`a58aa20`](https://github.com/eslint/eslint/commit/a58aa200fccedae7e2e9b6129246f2cedab14f8d) docs: fix examples for several rules ([#&#8203;17645](https://github.com/eslint/eslint/issues/17645)) (Milos Djermanovic)
-   [`179929b`](https://github.com/eslint/eslint/commit/179929bd46892f18f2aef0c159d5cc361cb69987) docs: Remove trailing newline from the code of Playground links ([#&#8203;17641](https://github.com/eslint/eslint/issues/17641)) (Francesco Trotta)
-   [`f8e5c30`](https://github.com/eslint/eslint/commit/f8e5c30636450d4a8baf51f0e227685e6d77ac64) docs: Update README (GitHub Actions Bot)
-   [`b7ef2f3`](https://github.com/eslint/eslint/commit/b7ef2f34fe12b68a366e1b4bf5f64d7332c6e72e) docs: Enable pretty code formatter output ([#&#8203;17635](https://github.com/eslint/eslint/issues/17635)) (Nicholas C. Zakas)
-   [`0bcb9a8`](https://github.com/eslint/eslint/commit/0bcb9a8db608a3d0bd2645f99e0707b9a9bbaaf0) docs: Fix syntax errors in rule examples ([#&#8203;17633](https://github.com/eslint/eslint/issues/17633)) (Francesco Trotta)
-   [`61b9083`](https://github.com/eslint/eslint/commit/61b90839633ef300ac7707a651f65f532e65f42d) docs: Make no-continue example code work ([#&#8203;17643](https://github.com/eslint/eslint/issues/17643)) (Zhongyuan Zhou)
-   [`9fafe45`](https://github.com/eslint/eslint/commit/9fafe450c31ed9b6bdd9dcd6c115255943b8c1c2) docs: upgrade to 11ty 2.0 ([#&#8203;17632](https://github.com/eslint/eslint/issues/17632)) (Percy Ma)
-   [`ff8e4bf`](https://github.com/eslint/eslint/commit/ff8e4bf327b5c92b0623b0fc5f8f101954f785db) docs: Update README (GitHub Actions Bot)
-   [`fab249a`](https://github.com/eslint/eslint/commit/fab249ae6addac2ee18cd81cee80916010bb469e) docs: Update README (GitHub Actions Bot)
-   [`392305b`](https://github.com/eslint/eslint/commit/392305bf4797e3ebc696dfca48bd874741fca845) docs: Update `no-irregular-whitespace` and fix examples ([#&#8203;17626](https://github.com/eslint/eslint/issues/17626)) (Francesco Trotta)
-   [`6b8acfb`](https://github.com/eslint/eslint/commit/6b8acfb770589f3941df41c3910d3b8ffc3e1e45) docs: Add real whitespace to `no-trailing-spaces` examples ([#&#8203;17630](https://github.com/eslint/eslint/issues/17630)) (Francesco Trotta)
-   [`1000187`](https://github.com/eslint/eslint/commit/1000187e00949332babcee4d37d46c96a6a554a8) docs: Fix examples in `unicode-bom` ([#&#8203;17631](https://github.com/eslint/eslint/issues/17631)) (Francesco Trotta)
-   [`000290c`](https://github.com/eslint/eslint/commit/000290c4c923cc1473e21b4bdbdc0c42765ef7dd) docs: Update README (GitHub Actions Bot)

#### Chores

-   [`6d1f0c2`](https://github.com/eslint/eslint/commit/6d1f0c2da0309c06c21149b8d71a8f439a70d7e8) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).52.0 ([#&#8203;17671](https://github.com/eslint/eslint/issues/17671)) (Milos Djermanovic)
-   [`d63d4fe`](https://github.com/eslint/eslint/commit/d63d4fe0942e6747ab60e758aa36076f43041a30) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint Jenkins)
-   [`f30cefe`](https://github.com/eslint/eslint/commit/f30cefee6bda2789ede18e1664b84c2638ea1bb5) test: fix FlatESLint tests for caching ([#&#8203;17658](https://github.com/eslint/eslint/issues/17658)) (Milos Djermanovic)
-   [`ef650cb`](https://github.com/eslint/eslint/commit/ef650cb612510bcfa1379c1f0af56dd563b3a705) test: update tests for no-promise-executor-return ([#&#8203;17661](https://github.com/eslint/eslint/issues/17661)) (Milos Djermanovic)

### [`v8.51.0`](https://github.com/eslint/eslint/releases/tag/v8.51.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.50.0...v8.51.0)

#### Features

-   [`0a9c433`](https://github.com/eslint/eslint/commit/0a9c43339a4adef24ef83034d0b078dd279cc977) feat: Add `--no-warn-ignored` CLI option for flat config ([#&#8203;17569](https://github.com/eslint/eslint/issues/17569)) (Domantas Petrauskas)
-   [`977e67e`](https://github.com/eslint/eslint/commit/977e67ec274a05cb7391665b5e3453e7f72f72b2) feat: logical-assignment-operators to report expressions with 3 operands ([#&#8203;17600](https://github.com/eslint/eslint/issues/17600)) (Yosuke Ota)

#### Bug Fixes

-   [`f976b2f`](https://github.com/eslint/eslint/commit/f976b2f7bfe7cc78bb649f8b37e90fd519ff3bcc) fix: make rule severity case-sensitive in flat config ([#&#8203;17619](https://github.com/eslint/eslint/issues/17619)) (Milos Djermanovic)
-   [`0edfe36`](https://github.com/eslint/eslint/commit/0edfe369aa5bd80a98053022bb4c6b1ea0155f44) fix: Ensure crash error messages are not duplicated ([#&#8203;17584](https://github.com/eslint/eslint/issues/17584)) (Nicholas C. Zakas)
-   [`dd79abc`](https://github.com/eslint/eslint/commit/dd79abc0c1857b1d765acc312c0d6518e40d31c9) fix: `eslint-disable` to be able to parse quoted rule names ([#&#8203;17612](https://github.com/eslint/eslint/issues/17612)) (Yosuke Ota)
-   [`d2f6801`](https://github.com/eslint/eslint/commit/d2f68019b8882278877801c5ef2f74d55e2a10c1) fix: Ensure correct code path for && followed by ?? ([#&#8203;17618](https://github.com/eslint/eslint/issues/17618)) (Nicholas C. Zakas)

#### Documentation

-   [`ee5be81`](https://github.com/eslint/eslint/commit/ee5be81fa3c4fe801c2f653854f098ed6a84dcef) docs: default to `sourceType: "module"` in rule examples ([#&#8203;17615](https://github.com/eslint/eslint/issues/17615)) (Francesco Trotta)
-   [`1aa26df`](https://github.com/eslint/eslint/commit/1aa26df9fbcfdf5b895743c6d2d3a216479544b1) docs: Add more examples for multiline-ternary ([#&#8203;17610](https://github.com/eslint/eslint/issues/17610)) (George Ashiotis)
-   [`47d0b44`](https://github.com/eslint/eslint/commit/47d0b446964f44d70b9457ecc368e721e1dc7c11) docs: Update README (GitHub Actions Bot)
-   [`dbf831e`](https://github.com/eslint/eslint/commit/dbf831e31f8eea0bc94df96cd33255579324b66e) docs: use generated og image ([#&#8203;17601](https://github.com/eslint/eslint/issues/17601)) (Percy Ma)
-   [`1866da5`](https://github.com/eslint/eslint/commit/1866da5e1d931787256ecb825a803cac5835b71c) docs: Update README (GitHub Actions Bot)

#### Chores

-   [`1ef39ea`](https://github.com/eslint/eslint/commit/1ef39ea5b884453be717ebc929155d7eb584dcbf) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).51.0 ([#&#8203;17624](https://github.com/eslint/eslint/issues/17624)) (Milos Djermanovic)
-   [`f8c7403`](https://github.com/eslint/eslint/commit/f8c7403255c11e99c402860aef3c0179f2b16628) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint Jenkins)
-   [`2665552`](https://github.com/eslint/eslint/commit/2665552ba0057e8603f9fbece0fd236f189f5cf3) test: fix flat config linter tests to use Linter in flat config mode ([#&#8203;17616](https://github.com/eslint/eslint/issues/17616)) (Milos Djermanovic)
-   [`7b77bcc`](https://github.com/eslint/eslint/commit/7b77bccbb51bd36b2d20fea61bc782545c4029b3) chore: Refactor CodePathState ([#&#8203;17510](https://github.com/eslint/eslint/issues/17510)) (Nicholas C. Zakas)
-   [`bc77c9a`](https://github.com/eslint/eslint/commit/bc77c9af12539f350ef19e30611a153a5b869c6b) chore: Document and refactor ForkContext ([#&#8203;17566](https://github.com/eslint/eslint/issues/17566)) (Nicholas C. Zakas)
-   [`24e1f14`](https://github.com/eslint/eslint/commit/24e1f140ec68659e55c1ace0d7500addb135a2b4) chore: Refactor and document CodePath ([#&#8203;17558](https://github.com/eslint/eslint/issues/17558)) (Nicholas C. Zakas)

### [`v8.50.0`](https://github.com/eslint/eslint/releases/tag/v8.50.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.49.0...v8.50.0)

#### Features

-   [`27d5a9e`](https://github.com/eslint/eslint/commit/27d5a9e57ad347982a68fcd0e75eafee42d344f0) feat: add suggestions to array-callback-return ([#&#8203;17590](https://github.com/eslint/eslint/issues/17590)) (Tanuj Kanti)
-   [`f9082ff`](https://github.com/eslint/eslint/commit/f9082ff3f3956a0a5a7d7659de63640a21c4de0f) feat: flat-rule-tester make sure default config always matches ([#&#8203;17585](https://github.com/eslint/eslint/issues/17585)) (fnx)
-   [`83914ad`](https://github.com/eslint/eslint/commit/83914adbfd5fce7d11b33d095ba6d6a39be0dbbc) feat: Implement SourceCode#applyInlineConfig() ([#&#8203;17351](https://github.com/eslint/eslint/issues/17351)) (Nicholas C. Zakas)
-   [`22a5582`](https://github.com/eslint/eslint/commit/22a558228ff98f478fa308c9ecde361acc4caf20) feat: add rule `no-object-constructor`, deprecate `no-new-object` ([#&#8203;17576](https://github.com/eslint/eslint/issues/17576)) (Francesco Trotta)
-   [`85a3d9e`](https://github.com/eslint/eslint/commit/85a3d9e967b19cb4a0189746499d81ef2f93e14e) feat: allowVoid option in array-callback-return ([#&#8203;17564](https://github.com/eslint/eslint/issues/17564)) (Tanuj Kanti)

#### Bug Fixes

-   [`cc4d26b`](https://github.com/eslint/eslint/commit/cc4d26b5a59d510f2c878e973fd245e8eff27c2a) fix: Ensure deprecated context.parserServices warns ([#&#8203;17593](https://github.com/eslint/eslint/issues/17593)) (Nicholas C. Zakas)
-   [`1ea4cfb`](https://github.com/eslint/eslint/commit/1ea4cfb585dcb52ac3cb1522a32f25cfe507121b) fix: Ensure all RuleTester tests all deprecated context methods ([#&#8203;17587](https://github.com/eslint/eslint/issues/17587)) (Nicholas C. Zakas)
-   [`aa1b657`](https://github.com/eslint/eslint/commit/aa1b657a9febcd03e9298c03ae2888762795e322) fix: wrong suggestion and message in `no-misleading-character-class` ([#&#8203;17571](https://github.com/eslint/eslint/issues/17571)) (Yosuke Ota)

#### Documentation

-   [`1800537`](https://github.com/eslint/eslint/commit/180053759c6cf05a326c710353b4717fbf289ee0) docs: Fix and standardize JSX code examples ([#&#8203;17591](https://github.com/eslint/eslint/issues/17591)) (Francesco Trotta)
-   [`48a44a7`](https://github.com/eslint/eslint/commit/48a44a73ac456739bdee348bbaf1840d2b1e4830) docs: Add correct/incorrect tags to `prefer-arrow-callback` ([#&#8203;17589](https://github.com/eslint/eslint/issues/17589)) (Francesco Trotta)
-   [`20893d4`](https://github.com/eslint/eslint/commit/20893d48b9012f2b61bbbfeac8bee70d68d90e5e) docs: fix incorrect tag's place ([#&#8203;17575](https://github.com/eslint/eslint/issues/17575)) (Tanuj Kanti)
-   [`bd7a71f`](https://github.com/eslint/eslint/commit/bd7a71fd6b7efb0445393304e2d48c5c06d46a45) docs: Update README (GitHub Actions Bot)

#### Chores

-   [`f8a8a2d`](https://github.com/eslint/eslint/commit/f8a8a2d6b45c82f94a574623759b6e3d2af193f3) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).50.0 ([#&#8203;17599](https://github.com/eslint/eslint/issues/17599)) (Milos Djermanovic)
-   [`38ada6d`](https://github.com/eslint/eslint/commit/38ada6df8f4a0313b7d0739b28f0af6b4897b8ce) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint Jenkins)

### [`v8.49.0`](https://github.com/eslint/eslint/releases/tag/v8.49.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.48.0...v8.49.0)

#### Features

-   [`da09f4e`](https://github.com/eslint/eslint/commit/da09f4e641141f585ef611c6e9d63d4331054706) feat: Implement onUnreachableCodePathStart/End ([#&#8203;17511](https://github.com/eslint/eslint/issues/17511)) (Nicholas C. Zakas)
-   [`32b2327`](https://github.com/eslint/eslint/commit/32b2327aafdd3b911fabab69ed75c9ff97658c60) feat: Emit deprecation warnings in RuleTester ([#&#8203;17527](https://github.com/eslint/eslint/issues/17527)) (Nicholas C. Zakas)
-   [`acb7df3`](https://github.com/eslint/eslint/commit/acb7df35b9a7485f26bc6b3e1f9083d1c585dce9) feat: add new `enforce` option to `lines-between-class-members` ([#&#8203;17462](https://github.com/eslint/eslint/issues/17462)) (Nitin Kumar)

#### Documentation

-   [`ecfb54f`](https://github.com/eslint/eslint/commit/ecfb54ff4cdd18f28b4f9b78f0a78fb4cf80f1b8) docs: Update README (GitHub Actions Bot)
-   [`de86b3b`](https://github.com/eslint/eslint/commit/de86b3b2e58edd5826200c23255d8325abe375e1) docs: update `no-promise-executor-return` examples ([#&#8203;17529](https://github.com/eslint/eslint/issues/17529)) (Nitin Kumar)
-   [`032c4b1`](https://github.com/eslint/eslint/commit/032c4b1476a7b8cfd917a66772d2221950ea87eb) docs: add typescript template ([#&#8203;17500](https://github.com/eslint/eslint/issues/17500)) (James)
-   [`cd7da5c`](https://github.com/eslint/eslint/commit/cd7da5cc3154f86f7ca45fb58929d27a7af359ed) docs: Update README (GitHub Actions Bot)

#### Chores

-   [`b7621c3`](https://github.com/eslint/eslint/commit/b7621c3b16cf7d5539f05336a827e1b32d95e6ac) chore: remove browser test from `npm test` ([#&#8203;17550](https://github.com/eslint/eslint/issues/17550)) (Milos Djermanovic)
-   [`cac45d0`](https://github.com/eslint/eslint/commit/cac45d04b890b0700dd8908927300608adad05fe) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).49.0 ([#&#8203;17549](https://github.com/eslint/eslint/issues/17549)) (Milos Djermanovic)
-   [`cd39508`](https://github.com/eslint/eslint/commit/cd395082bffcb4b68efa09226d7c682cef56179e) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint Jenkins)
-   [`203a971`](https://github.com/eslint/eslint/commit/203a971c0abc3a95ae02ff74104a01e569707060) ci: bump actions/checkout from 3 to 4 ([#&#8203;17530](https://github.com/eslint/eslint/issues/17530)) (dependabot\[bot])
-   [`a40fa50`](https://github.com/eslint/eslint/commit/a40fa509922b36bb986eb1be9394591f84f62d9e) chore: use eslint-plugin-jsdoc's flat config ([#&#8203;17516](https://github.com/eslint/eslint/issues/17516)) (Milos Djermanovic)
-   [`926a286`](https://github.com/eslint/eslint/commit/926a28684282aeec37680bbc52a66973b8055f54) test: replace Karma with Webdriver.IO ([#&#8203;17126](https://github.com/eslint/eslint/issues/17126)) (Christian Bromann)
-   [`f591d2c`](https://github.com/eslint/eslint/commit/f591d2c88bf15af72e3a207b34fa872b4b90464b) chore: Upgrade config-array ([#&#8203;17512](https://github.com/eslint/eslint/issues/17512)) (Nicholas C. Zakas)

### [`v8.48.0`](https://github.com/eslint/eslint/releases/tag/v8.48.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.47.0...v8.48.0)

#### Features

-   [`1fbb3b0`](https://github.com/eslint/eslint/commit/1fbb3b0b477c814c0d179564fe495f4c50a451e9) feat: correct update direction in `for-direction` ([#&#8203;17483](https://github.com/eslint/eslint/issues/17483)) (Francesco Trotta)
-   [`d73fbf2`](https://github.com/eslint/eslint/commit/d73fbf2228631d6c468cd24710e2579fe6cb70fd) feat: rule tester do not create empty valid or invalid test suites ([#&#8203;17475](https://github.com/eslint/eslint/issues/17475)) (fnx)
-   [`ee2f718`](https://github.com/eslint/eslint/commit/ee2f718188d32e9888b1932fe6b9bd2a62c529a4) feat: Allow `void` in rule `no-promise-executor-return` ([#&#8203;17282](https://github.com/eslint/eslint/issues/17282)) (nopeless)

#### Bug Fixes

-   [`7234f6a`](https://github.com/eslint/eslint/commit/7234f6a706a209aa2d79259110328752e9ae3928) fix: update RuleTester JSDoc and deprecations ([#&#8203;17496](https://github.com/eslint/eslint/issues/17496)) (Jonas Berlin)

#### Documentation

-   [`7a51d77`](https://github.com/eslint/eslint/commit/7a51d77c0a066e461ff288568fdfee0e9539a2b5) docs: no-param-reassign mention strict mode ([#&#8203;17494](https://github.com/eslint/eslint/issues/17494)) (Stephen Hardy)
-   [`9cd7ac2`](https://github.com/eslint/eslint/commit/9cd7ac2fdb6b1d71a9fb1b8297a478cafacbdafd) docs: add `fetch` script to package.json conventions ([#&#8203;17459](https://github.com/eslint/eslint/issues/17459)) (Nitin Kumar)
-   [`cab21e6`](https://github.com/eslint/eslint/commit/cab21e64a8f79779c641178f825945958667c6e4) docs: advice for inline disabling of rules ([#&#8203;17458](https://github.com/eslint/eslint/issues/17458)) (Ashish Yadav)
-   [`056499d`](https://github.com/eslint/eslint/commit/056499de31a139dbc965d18652b0b520e11b408d) docs: fix example of flat config from plugin ([#&#8203;17482](https://github.com/eslint/eslint/issues/17482)) (Francesco Trotta)
-   [`9e9edf9`](https://github.com/eslint/eslint/commit/9e9edf93ecfa0658e8b79e71bc98530ade150081) docs: update documentation URL in error message ([#&#8203;17465](https://github.com/eslint/eslint/issues/17465)) (Nitin Kumar)

#### Chores

-   [`8dd3cec`](https://github.com/eslint/eslint/commit/8dd3cec90c97ed97d243a83b87ad4ea9e6b4781a) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).48.0 ([#&#8203;17501](https://github.com/eslint/eslint/issues/17501)) (Milos Djermanovic)
-   [`6d0496e`](https://github.com/eslint/eslint/commit/6d0496e9476fb2210fba0a3d541df8c052ecf73a) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint Jenkins)
-   [`9d4216d`](https://github.com/eslint/eslint/commit/9d4216d638d39844decffac33ee3d5a47413c80a) chore: Refactor and document CodePathSegment ([#&#8203;17474](https://github.com/eslint/eslint/issues/17474)) (Nicholas C. Zakas)

### [`v8.47.0`](https://github.com/eslint/eslint/releases/tag/v8.47.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.46.0...v8.47.0)

#### Features

-   [`53d7508`](https://github.com/eslint/eslint/commit/53d750800b1c0c1f8c29393c488bb3167bb1d2a5) feat: update regex for methods with `thisArg` ([#&#8203;17439](https://github.com/eslint/eslint/issues/17439)) (Francesco Trotta)

#### Bug Fixes

-   [`631648e`](https://github.com/eslint/eslint/commit/631648ee0b51a8951ce576ccd4430e09c9c8bcae) fix: do not report on shadowed constructors in `no-new-wrappers` ([#&#8203;17447](https://github.com/eslint/eslint/issues/17447)) (Francesco Trotta)

#### Documentation

-   [`a766a48`](https://github.com/eslint/eslint/commit/a766a48030d4359db76523d5b413d6332130e485) docs: document lack of config file names ([#&#8203;17442](https://github.com/eslint/eslint/issues/17442)) (James)
-   [`a1635d6`](https://github.com/eslint/eslint/commit/a1635d6198a8baf6571b3351e098e5ac960be887) docs: Update README (GitHub Actions Bot)
-   [`47a0859`](https://github.com/eslint/eslint/commit/47a08597966651975126dd6726939cd34f13b80e) docs: update `require-unicode-regexp.md` as following up [#&#8203;17402](https://github.com/eslint/eslint/issues/17402) ([#&#8203;17441](https://github.com/eslint/eslint/issues/17441)) (SUZUKI Sosuke)
-   [`fcdc85d`](https://github.com/eslint/eslint/commit/fcdc85d3a6bc14970c3349cc8d6f3a47eca172a3) docs: Update README (GitHub Actions Bot)
-   [`2a92b6c`](https://github.com/eslint/eslint/commit/2a92b6cc9520a27255520369206556e9841a3af8) docs: update with "Specifying Parser Options" ([#&#8203;17435](https://github.com/eslint/eslint/issues/17435)) (Cheol-Won)
-   [`d743ed3`](https://github.com/eslint/eslint/commit/d743ed3c06c62a639da0389ad27907b324ea1715) docs: add metadata for parser/processor ([#&#8203;17438](https://github.com/eslint/eslint/issues/17438)) (Huáng Jùnliàng)
-   [`224376c`](https://github.com/eslint/eslint/commit/224376cd99a08394291a9584ad9c1ea1283673c6) docs: Update README (GitHub Actions Bot)
-   [`a41a8e4`](https://github.com/eslint/eslint/commit/a41a8e4a7da14726d6fce71a023f12101fd52fdb) docs: update script names in README ([#&#8203;17432](https://github.com/eslint/eslint/issues/17432)) (Nitin Kumar)

#### Chores

-   [`bf69aa6`](https://github.com/eslint/eslint/commit/bf69aa6408f5403a88d8c9b71b0e58232b1ea833) chore: Update dependencies ([#&#8203;17456](https://github.com/eslint/eslint/issues/17456)) (Nicholas C. Zakas)
-   [`0e45760`](https://github.com/eslint/eslint/commit/0e4576012ab938b880e6f27641bff55fb4313d20) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint Jenkins)
-   [`757bfe1`](https://github.com/eslint/eslint/commit/757bfe1c35b5ddab7042d388f8d21e834875fff5) chore: Remove add-to-triage ([#&#8203;17450](https://github.com/eslint/eslint/issues/17450)) (Nicholas C. Zakas)
-   [`b066640`](https://github.com/eslint/eslint/commit/b066640b7040ec30f740dcc803511244fe19473b) chore: standardize npm script names ([#&#8203;17431](https://github.com/eslint/eslint/issues/17431)) (Nitin Kumar)
-   [`6b2410f`](https://github.com/eslint/eslint/commit/6b2410f911dd2e3d915c879041c6e257d41a2f4e) chore: Update add-to-triage.yml ([#&#8203;17444](https://github.com/eslint/eslint/issues/17444)) (Nicholas C. Zakas)

### [`v8.46.0`](https://github.com/eslint/eslint/releases/tag/v8.46.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.45.0...v8.46.0)

#### Features

-   [`8a93438`](https://github.com/eslint/eslint/commit/8a9343871f7dade19d910ca8e2a4177bfca28b64) feat: `require-unicode-regexp` support `v` flag ([#&#8203;17402](https://github.com/eslint/eslint/issues/17402)) (SUZUKI Sosuke)
-   [`1a2f966`](https://github.com/eslint/eslint/commit/1a2f966fabe35103141d2f936180d2f1a72154db) feat: `no-useless-escape` support `v` flag ([#&#8203;17420](https://github.com/eslint/eslint/issues/17420)) (Yosuke Ota)
-   [`ee68d1d`](https://github.com/eslint/eslint/commit/ee68d1d9630892d99ae0d8dabe2f9f8d3b1338be) feat: `no-empty-character-class` support `v` flag ([#&#8203;17419](https://github.com/eslint/eslint/issues/17419)) (Milos Djermanovic)
-   [`853d32b`](https://github.com/eslint/eslint/commit/853d32baa8934c08b59a738470b72522e1505f6f) feat: deprecate no-return-await ([#&#8203;17417](https://github.com/eslint/eslint/issues/17417)) (Carlos Lopez)
-   [`d4f02e4`](https://github.com/eslint/eslint/commit/d4f02e4bf1b9ae4e1fc8f2bc4e4851ae3c36a127) feat: `no-control-regex` support `v` flag ([#&#8203;17405](https://github.com/eslint/eslint/issues/17405)) (Yosuke Ota)
-   [`2a35f3e`](https://github.com/eslint/eslint/commit/2a35f3e6ed27deafbebba48b6aec570d3abf9974) feat: `prefer-named-capture-group` support `v` flag ([#&#8203;17409](https://github.com/eslint/eslint/issues/17409)) (Yosuke Ota)
-   [`8ca8b50`](https://github.com/eslint/eslint/commit/8ca8b50b0425b3bad34a9505bc3095168e2f59d8) feat: Better error message for flat config plugins ([#&#8203;17399](https://github.com/eslint/eslint/issues/17399)) (Nicholas C. Zakas)
-   [`509f753`](https://github.com/eslint/eslint/commit/509f75395035822280245772e2a95732a0dde0e1) feat: `no-misleading-character-class` support `v` flag ([#&#8203;17406](https://github.com/eslint/eslint/issues/17406)) (Yosuke Ota)
-   [`3caf514`](https://github.com/eslint/eslint/commit/3caf51487decdf93a4b17765a2af2a51c337e974) feat: `no-regex-spaces` support `v` flag ([#&#8203;17407](https://github.com/eslint/eslint/issues/17407)) (Yosuke Ota)
-   [`b7fad2b`](https://github.com/eslint/eslint/commit/b7fad2b52f23667628cf209663795a721c88d0ba) feat: `prefer-regex-literals` support `v` flag ([#&#8203;17410](https://github.com/eslint/eslint/issues/17410)) (Yosuke Ota)
-   [`a6a3ad4`](https://github.com/eslint/eslint/commit/a6a3ad4ae438ea7fc3a1d97cd2555f6534b565f1) feat: `no-useless-backreference` support `v` flag ([#&#8203;17408](https://github.com/eslint/eslint/issues/17408)) (Yosuke Ota)
-   [`94954a7`](https://github.com/eslint/eslint/commit/94954a715448d5794f2892bf212fe986b43228ed) feat: `no-invalid-regexp` support `v` flag ([#&#8203;17404](https://github.com/eslint/eslint/issues/17404)) (Yosuke Ota)
-   [`1af6eac`](https://github.com/eslint/eslint/commit/1af6eac5727080c809e37c07dc729b44ef24483c) feat: adds option for allowing empty object patterns as parameter ([#&#8203;17365](https://github.com/eslint/eslint/issues/17365)) (Tanuj Kanti)
-   [`cf03104`](https://github.com/eslint/eslint/commit/cf03104b278fea59ef46e09f667110f5eaaf95e3) feat: Improve config error messages ([#&#8203;17385](https://github.com/eslint/eslint/issues/17385)) (Nicholas C. Zakas)

#### Bug Fixes

-   [`9803c7c`](https://github.com/eslint/eslint/commit/9803c7c04078f0672d8a480fd39cf3bbef8017e6) fix: FlatESLint#getRulesMetaForResults shouldn't throw on unknown rules ([#&#8203;17393](https://github.com/eslint/eslint/issues/17393)) (Milos Djermanovic)
-   [`42faa17`](https://github.com/eslint/eslint/commit/42faa17b1c93f801b14bea2840d1d528e25c7211) fix: Update no-loop-func to not overlap with no-undef ([#&#8203;17358](https://github.com/eslint/eslint/issues/17358)) (Matt Wilkinson)

#### Documentation

-   [`4d474e3`](https://github.com/eslint/eslint/commit/4d474e351ba6ce0242f18e55c27cb3ae17b84f63) docs: update with TypeScript info ([#&#8203;17423](https://github.com/eslint/eslint/issues/17423)) (James)
-   [`091f44e`](https://github.com/eslint/eslint/commit/091f44e4c72007edb2ac6d4db4eafa5501e41e94) docs: File extension named processor deprecation ([#&#8203;17362](https://github.com/eslint/eslint/issues/17362)) (Matt Wilkinson)
-   [`9254a6c`](https://github.com/eslint/eslint/commit/9254a6cea845dfaf2f3f52f718cb9b071853aa09) docs: Update README (GitHub Actions Bot)
-   [`6d6dc51`](https://github.com/eslint/eslint/commit/6d6dc5141f535728029eef8735854a421bc08eba) docs: fix overlapping of `open in playground` button ([#&#8203;17403](https://github.com/eslint/eslint/issues/17403)) (Tanuj Kanti)
-   [`7fc3a2c`](https://github.com/eslint/eslint/commit/7fc3a2ce68979a2c2a6fc779e647b3004ab6f4ac) docs: Add private class features info to no-underscore-dangle ([#&#8203;17386](https://github.com/eslint/eslint/issues/17386)) (Matt Wilkinson)
-   [`da73e58`](https://github.com/eslint/eslint/commit/da73e583e1703a420551d8fa8f7c70b56dc88dd5) docs: Migrating `eslint-env` configuration comments ([#&#8203;17390](https://github.com/eslint/eslint/issues/17390)) (Francesco Trotta)
-   [`80dffed`](https://github.com/eslint/eslint/commit/80dffed4c81dcc71fb72bc187aff2f87d141a6ed) docs: fix Ignoring Files section in config migration guide ([#&#8203;17392](https://github.com/eslint/eslint/issues/17392)) (Milos Djermanovic)
-   [`8a9abb7`](https://github.com/eslint/eslint/commit/8a9abb7cf424bd49d45c09345dc45ae95f29cc9d) docs: Update README (GitHub Actions Bot)
-   [`7e9be4b`](https://github.com/eslint/eslint/commit/7e9be4bd7331d0e8e8e0af0b075a2f6d28d1bea3) docs: Update README (GitHub Actions Bot)
-   [`0b0bbe0`](https://github.com/eslint/eslint/commit/0b0bbe07d4fb0870f3916e975b8ec6978f838077) docs: Update README (GitHub Actions Bot)

#### Chores

-   [`d1eb7e4`](https://github.com/eslint/eslint/commit/d1eb7e46e954c64af8d7d13d087b3a18f43e6d72) chore: Update ecosystem dependencies ([#&#8203;17427](https://github.com/eslint/eslint/issues/17427)) (Nicholas C. Zakas)
-   [`fab9e97`](https://github.com/eslint/eslint/commit/fab9e97ef9dff40e98a5b3b97bdd3b0ff5439d46) chore: package.json update for eslint-config-eslint release (ESLint Jenkins)
-   [`6246711`](https://github.com/eslint/eslint/commit/6246711e0650d03afe044c36acde048ed2d39ee3) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint Jenkins)
-   [`0aa0bc3`](https://github.com/eslint/eslint/commit/0aa0bc365a5425440c8e86c96104d0053a51b602) chore: Add PRs to triage project ([#&#8203;17421](https://github.com/eslint/eslint/issues/17421)) (Nicholas C. Zakas)

### [`v8.45.0`](https://github.com/eslint/eslint/releases/tag/v8.45.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.44.0...v8.45.0)

#### Features

-   [`cdd063c`](https://github.com/eslint/eslint/commit/cdd063c388bbfe1781d7a864a832f03a2c1cc277) feat: Expose LegacyESLint in unsupported API ([#&#8203;17341](https://github.com/eslint/eslint/issues/17341)) (Nicholas C. Zakas)
-   [`d34abe5`](https://github.com/eslint/eslint/commit/d34abe59eb23932dcbc79757d7932d08ee8b20e5) feat: fix indent rule for else-if ([#&#8203;17318](https://github.com/eslint/eslint/issues/17318)) (Milos Djermanovic)

#### Bug Fixes

-   [`b79b6fb`](https://github.com/eslint/eslint/commit/b79b6fb64473969b426d086b484d2e29594a5e9a) fix: Fix suggestion message in `no-useless-escape` ([#&#8203;17339](https://github.com/eslint/eslint/issues/17339)) (Francesco Trotta)
-   [`c667055`](https://github.com/eslint/eslint/commit/c667055fb9da8ebac3a99f6e5a8b5565cc86af8e) fix: provide unique `fix` and `fix.range` objects in lint messages ([#&#8203;17332](https://github.com/eslint/eslint/issues/17332)) (Milos Djermanovic)

#### Documentation

-   [`89f3225`](https://github.com/eslint/eslint/commit/89f3225108c66425e4132f76db6c1ab13aac98d7) docs: add playground links to correct and incorrect code blocks ([#&#8203;17306](https://github.com/eslint/eslint/issues/17306)) (Josh Goldberg ✨)
-   [`f8892b5`](https://github.com/eslint/eslint/commit/f8892b52920b8967f9e7bec23c75b74e03977d6b) docs: Expand rule option schema docs ([#&#8203;17198](https://github.com/eslint/eslint/issues/17198)) (Matt Wilkinson)
-   [`8bcbf11`](https://github.com/eslint/eslint/commit/8bcbf11b6050418262ffa8e0ca37f365ae92e7ce) docs: Config Migration Guide ([#&#8203;17230](https://github.com/eslint/eslint/issues/17230)) (Ben Perlmutter)
-   [`bb30908`](https://github.com/eslint/eslint/commit/bb3090897166dbfd2931a43a70e2a5c1f3fa0a07) docs: Update README (GitHub Actions Bot)
-   [`84d243b`](https://github.com/eslint/eslint/commit/84d243b245b01b667f0752b592e8bda02a9aa2b1) docs: Update README (GitHub Actions Bot)
-   [`b762632`](https://github.com/eslint/eslint/commit/b762632298f20c4f81e7d01ab850c3f5e3874637) docs: Update README (GitHub Actions Bot)
-   [`138c096`](https://github.com/eslint/eslint/commit/138c096bc9468b553dbafc0e573c6522a17a7922) docs: add more prefer-destructuring examples with array destructuring ([#&#8203;17330](https://github.com/eslint/eslint/issues/17330)) (Milos Djermanovic)
-   [`1fc50a8`](https://github.com/eslint/eslint/commit/1fc50a89753346f4f4c786ffd20ac4cf185bb036) docs: `max-len` rule `code` and `tabWidth` as positional arguments ([#&#8203;17331](https://github.com/eslint/eslint/issues/17331)) (Jesús Leganés-Combarro)

#### Chores

-   [`68f63d7`](https://github.com/eslint/eslint/commit/68f63d76ce785fab4f42b76f1599026eea379bf7) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint Jenkins)
-   [`5ca9b4d`](https://github.com/eslint/eslint/commit/5ca9b4d29f747e9cf5c9055e85c93b3b605d57fc) chore: update eslint-config-eslint exports ([#&#8203;17336](https://github.com/eslint/eslint/issues/17336)) (Milos Djermanovic)
-   [`7bf2e86`](https://github.com/eslint/eslint/commit/7bf2e86022c9e95db4ca1472fddfa2ea4edd1870) chore: remove unused dependencies ([#&#8203;17352](https://github.com/eslint/eslint/issues/17352)) (Percy Ma)
-   [`c6f8cd0`](https://github.com/eslint/eslint/commit/c6f8cd0d62e4a3c314c6860ff367490bbd05325a) chore: Remove `defaultIgnores` from FlatESLint private members ([#&#8203;17349](https://github.com/eslint/eslint/issues/17349)) (Francesco Trotta)
-   [`0052374`](https://github.com/eslint/eslint/commit/0052374035672efe9129343fc00ee51a4c288ff3) chore: move jsdoc settings to eslint-config-eslint ([#&#8203;17338](https://github.com/eslint/eslint/issues/17338)) (唯然)

### [`v8.44.0`](https://github.com/eslint/eslint/releases/tag/v8.44.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.43.0...v8.44.0)

#### Features

-   [`1766771`](https://github.com/eslint/eslint/commit/176677180a4a1209fc192771521c9192e1f67578) feat: add `es2023` and `es2024` environments ([#&#8203;17328](https://github.com/eslint/eslint/issues/17328)) (Milos Djermanovic)
-   [`4c50400`](https://github.com/eslint/eslint/commit/4c5040022639ae804c15b366afc6e64982bd8ae3) feat: add `ecmaVersion: 2024`, regexp `v` flag parsing ([#&#8203;17324](https://github.com/eslint/eslint/issues/17324)) (Milos Djermanovic)
-   [`4d411e4`](https://github.com/eslint/eslint/commit/4d411e4c7063274d6d346f1b7ee46f7575d0bbd2) feat: add ternaryOperandBinaryExpressions option to no-extra-parens rule ([#&#8203;17270](https://github.com/eslint/eslint/issues/17270)) (Percy Ma)
-   [`c8b1f4d`](https://github.com/eslint/eslint/commit/c8b1f4d61a256727755d561bf53f889b6cd712e0) feat: Move `parserServices` to `SourceCode` ([#&#8203;17311](https://github.com/eslint/eslint/issues/17311)) (Milos Djermanovic)
-   [`ef6e24e`](https://github.com/eslint/eslint/commit/ef6e24e42670f321d996948623846d9caaedac99) feat: treat unknown nodes as having the lowest precedence ([#&#8203;17302](https://github.com/eslint/eslint/issues/17302)) (Brad Zacher)
-   [`1866e1d`](https://github.com/eslint/eslint/commit/1866e1df6175e4ba0ae4a0d88dc3c956bb310035) feat: allow flat config files to export a Promise ([#&#8203;17301](https://github.com/eslint/eslint/issues/17301)) (Milos Djermanovic)

#### Bug Fixes

-   [`a36bcb6`](https://github.com/eslint/eslint/commit/a36bcb67f26be42c794797d0cc9948b9cfd4ff71) fix: no-unused-vars false positive with logical assignment operators ([#&#8203;17320](https://github.com/eslint/eslint/issues/17320)) (Gweesin Chan)
-   [`7620b89`](https://github.com/eslint/eslint/commit/7620b891e81c234f30f9dbcceb64a05fd0dde65e) fix: Remove `no-unused-labels` autofix before potential directives ([#&#8203;17314](https://github.com/eslint/eslint/issues/17314)) (Francesco Trotta)
-   [`391ed38`](https://github.com/eslint/eslint/commit/391ed38b09bd1a3abe85db65b8fcda980ab3d6f4) fix: Remove `no-extra-semi` autofix before potential directives ([#&#8203;17297](https://github.com/eslint/eslint/issues/17297)) (Francesco Trotta)

#### Documentation

-   [`526e911`](https://github.com/eslint/eslint/commit/526e91106e6fe101578e9478a9d7f4844d4f72ac) docs: resubmit pr 17115 doc changes ([#&#8203;17291](https://github.com/eslint/eslint/issues/17291)) (唯然)
-   [`e1314bf`](https://github.com/eslint/eslint/commit/e1314bf85a52bb0d05b1c9ca3b4c1732bae22172) docs: Integration section and tutorial ([#&#8203;17132](https://github.com/eslint/eslint/issues/17132)) (Ben Perlmutter)
-   [`19a8c5d`](https://github.com/eslint/eslint/commit/19a8c5d84596a9f7f2aa428c1696ba86daf854e6) docs: Update README (GitHub Actions Bot)

#### Chores

-   [`49e46ed`](https://github.com/eslint/eslint/commit/49e46edf3c8dc71d691a97fc33b63ed80ae0db0c) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).44.0 ([#&#8203;17329](https://github.com/eslint/eslint/issues/17329)) (Milos Djermanovic)
-   [`a1cb642`](https://github.com/eslint/eslint/commit/a1cb6421f9d185901cd99e5f696e912226ef6632) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint Jenkins)
-   [`840a264`](https://github.com/eslint/eslint/commit/840a26462bbf6c27c52c01b85ee2018062157951) test: More test cases for no-case-declarations ([#&#8203;17315](https://github.com/eslint/eslint/issues/17315)) (Elian Cordoba)
-   [`e6e74f9`](https://github.com/eslint/eslint/commit/e6e74f9eef0448129dd4775628aba554a2d8c8c9) chore: package.json update for eslint-config-eslint release (ESLint Jenkins)
-   [`eb3d794`](https://github.com/eslint/eslint/commit/eb3d7946e1e9f70254008744dba2397aaa730114) chore: upgrade semver@7.5.3 ([#&#8203;17323](https://github.com/eslint/eslint/issues/17323)) (Ziyad El Abid)
-   [`cf88439`](https://github.com/eslint/eslint/commit/cf884390ad8071d88eae05df9321100f1770363d) chore: upgrade optionator@0.9.3 ([#&#8203;17319](https://github.com/eslint/eslint/issues/17319)) (Milos Djermanovic)
-   [`9718a97`](https://github.com/eslint/eslint/commit/9718a9781d69d2c40b68c631aed97700b32c0082) refactor: remove unnecessary code in `flat-eslint.js` ([#&#8203;17308](https://github.com/eslint/eslint/issues/17308)) (Milos Djermanovic)
-   [`f82e56e`](https://github.com/eslint/eslint/commit/f82e56e9acfb9562ece76441472d5657d7d5e296) perf: various performance improvements ([#&#8203;17135](https://github.com/eslint/eslint/issues/17135)) (moonlightaria)
-   [`da81e66`](https://github.com/eslint/eslint/commit/da81e66e22b4f3d3fe292cf70c388753304deaad) chore: update eslint-plugin-jsdoc to 46.2.5 ([#&#8203;17245](https://github.com/eslint/eslint/issues/17245)) (唯然)
-   [`b991640`](https://github.com/eslint/eslint/commit/b991640176d5dce4750f7cc71c56cd6f284c882f) chore: switch eslint-config-eslint to the flat format ([#&#8203;17247](https://github.com/eslint/eslint/issues/17247)) (唯然)

### [`v8.43.0`](https://github.com/eslint/eslint/releases/tag/v8.43.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.42.0...v8.43.0)

#### Features

-   [`14581ff`](https://github.com/eslint/eslint/commit/14581ff15aaee5a55c46bbf4983818ddc8dd7cb1) feat: directive prologue detection and autofix condition in `quotes` ([#&#8203;17284](https://github.com/eslint/eslint/issues/17284)) (Francesco Trotta)
-   [`e50fac3`](https://github.com/eslint/eslint/commit/e50fac3f8f998f729e3080e256066db3a7827c67) feat: add declaration loc to message in block-scoped-var ([#&#8203;17252](https://github.com/eslint/eslint/issues/17252)) (Milos Djermanovic)
-   [`1b7faf0`](https://github.com/eslint/eslint/commit/1b7faf0702b1af86b6a0ddafc37cf45d60f5d4d8) feat: add `skipJSXText` option to `no-irregular-whitespace` rule ([#&#8203;17182](https://github.com/eslint/eslint/issues/17182)) (Azat S)

#### Bug Fixes

-   [`5338b56`](https://github.com/eslint/eslint/commit/5338b56fda7f47d16bdb23514f1e95b24de7b92f) fix: normalize `cwd` passed to `ESLint`/`FlatESLint` constructor ([#&#8203;17277](https://github.com/eslint/eslint/issues/17277)) (Milos Djermanovic)
-   [`54383e6`](https://github.com/eslint/eslint/commit/54383e69b092ef537d59a1f7799a85b1412f4e59) fix: Remove `no-extra-parens` autofix for potential directives ([#&#8203;17022](https://github.com/eslint/eslint/issues/17022)) (Francesco Trotta)

#### Documentation

-   [`8b855ea`](https://github.com/eslint/eslint/commit/8b855ea058992d5446d1d6dc6394ee683c3200a0) docs: resubmit pr17061 doc changes ([#&#8203;17292](https://github.com/eslint/eslint/issues/17292)) (唯然)
-   [`372722e`](https://github.com/eslint/eslint/commit/372722eac32ca9e3f31cf0d0bc10317c6f153369) docs: resubmit pr17012 doc changes ([#&#8203;17293](https://github.com/eslint/eslint/issues/17293)) (唯然)
-   [`67e7af3`](https://github.com/eslint/eslint/commit/67e7af3fdbdb4648b747dfd669be4decfe24086a) docs: resubmit custom-rules doc changes ([#&#8203;17294](https://github.com/eslint/eslint/issues/17294)) (唯然)
-   [`9e3d77c`](https://github.com/eslint/eslint/commit/9e3d77cba65d0e38e07996e57961fb04f30d9303) docs: Resubmit Fix formatting in Custom Rules docs ([#&#8203;17281](https://github.com/eslint/eslint/issues/17281)) (Milos Djermanovic)
-   [`503647a`](https://github.com/eslint/eslint/commit/503647a0b94ca8c776d7e7e8c54c8b1d32904467) docs: Resubmit markVariableAsUsed docs ([#&#8203;17280](https://github.com/eslint/eslint/issues/17280)) (Nicholas C. Zakas)
-   [`e0cf0d8`](https://github.com/eslint/eslint/commit/e0cf0d86d985ed2b2f901dd9aab5ccd2fff062ad) docs: Custom rule & plugin tutorial ([#&#8203;17024](https://github.com/eslint/eslint/issues/17024)) (Ben Perlmutter)
-   [`8e51ea9`](https://github.com/eslint/eslint/commit/8e51ea943c2fcd05bd8917cfa89e36b91209c7cd) docs: resubmit `no-new` rule documentation ([#&#8203;17264](https://github.com/eslint/eslint/issues/17264)) (Nitin Kumar)
-   [`1b217f8`](https://github.com/eslint/eslint/commit/1b217f8de15961fd3c80389621080132f517a0fb) docs: resubmit `Custom Processors` documentation ([#&#8203;17265](https://github.com/eslint/eslint/issues/17265)) (Nitin Kumar)
-   [`428fc76`](https://github.com/eslint/eslint/commit/428fc76806dea1ac82484d628261a5385f928e6a) docs: resubmit `Create Plugins` documentation ([#&#8203;17268](https://github.com/eslint/eslint/issues/17268)) (Nitin Kumar)
-   [`bdca88c`](https://github.com/eslint/eslint/commit/bdca88cf4f8b7888cb72197bfe9c1d90b490a0dd) docs: resubmit `Configuration Files` documentation ([#&#8203;17267](https://github.com/eslint/eslint/issues/17267)) (Nitin Kumar)
-   [`f5c01f2`](https://github.com/eslint/eslint/commit/f5c01f281ad288b1a0ebddbf579230ae11587c6c) docs: resubmit `Manage Issues` documentation ([#&#8203;17266](https://github.com/eslint/eslint/issues/17266)) (Nitin Kumar)
-   [`b199295`](https://github.com/eslint/eslint/commit/b1992954591a3f4d8417013f52739b5fef4e0cd7) docs: Resubmit custom rules update docs ([#&#8203;17273](https://github.com/eslint/eslint/issues/17273)) (Ben Perlmutter)
-   [`0e9980c`](https://github.com/eslint/eslint/commit/0e9980c3a8a1e554fdb377305c0ebe9e94a354c9) docs: add new `omitLastInOneLineClassBody` option to the `semi` rule ([#&#8203;17263](https://github.com/eslint/eslint/issues/17263)) (Nitin Kumar)
-   [`cb2560f`](https://github.com/eslint/eslint/commit/cb2560f7a393e74b761faa9adad938fb1deb947d) docs: Resubmit getScope/getDeclaredVariables docs ([#&#8203;17262](https://github.com/eslint/eslint/issues/17262)) (Nicholas C. Zakas)
-   [`85d2b30`](https://github.com/eslint/eslint/commit/85d2b30bc318c1355e52ebb21c56cca32f0ab198) docs: explain how to include predefined globals ([#&#8203;17261](https://github.com/eslint/eslint/issues/17261)) (Marcus Wyatt)
-   [`de4d3c1`](https://github.com/eslint/eslint/commit/de4d3c14c30a88795b9075d59827d3fe63a42c5e) docs: update flat config default ignore patterns ([#&#8203;17258](https://github.com/eslint/eslint/issues/17258)) (Milos Djermanovic)
-   [`3912f3a`](https://github.com/eslint/eslint/commit/3912f3a225c12bfb5ce9b7ba26c2b5301e6275bd) docs: Improve `ignores` documentation ([#&#8203;17239](https://github.com/eslint/eslint/issues/17239)) (Francesco Trotta)
-   [`35e11d3`](https://github.com/eslint/eslint/commit/35e11d3248e00b711fd652836edc900f22af0ebd) docs: fix typos and missing info ([#&#8203;17257](https://github.com/eslint/eslint/issues/17257)) (Ed Lucas)
-   [`0bc257c`](https://github.com/eslint/eslint/commit/0bc257c290b12fcda85cb61b40d55fc2be0f938c) docs: Clarify `no-div-regex` rule docs ([#&#8203;17051](https://github.com/eslint/eslint/issues/17051)) ([#&#8203;17255](https://github.com/eslint/eslint/issues/17255)) (Francesco Trotta)
-   [`788d836`](https://github.com/eslint/eslint/commit/788d83629a3790a7db6f52dcf0b4bddf51c6d063) docs: add references to MIT License ([#&#8203;17248](https://github.com/eslint/eslint/issues/17248)) (Milos Djermanovic)
-   [`58aab6b`](https://github.com/eslint/eslint/commit/58aab6b6c09996875418aefeeb0fd76c50caef7a) docs: Update README (GitHub Actions Bot)
-   [`3ef5814`](https://github.com/eslint/eslint/commit/3ef58140550cf8ff34af35fc4d9a1f9a124fe0e6) docs: Revert all changes after the license change ([#&#8203;17227](https://github.com/eslint/eslint/issues/17227)) (Milos Djermanovic)
-   [`03fc4aa`](https://github.com/eslint/eslint/commit/03fc4aa847bd0445e7b3ea81bcc9523b1847facc) docs: Update README (GitHub Actions Bot)

#### Chores

-   [`78350f6`](https://github.com/eslint/eslint/commit/78350f63045c82b7990bb7bfe5080c5ad5e1c3f5) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).43.0 ([#&#8203;17295](https://github.com/eslint/eslint/issues/17295)) (Milos Djermanovic)
-   [`62bf759`](https://github.com/eslint/eslint/commit/62bf759124811b013ad7906c2536deb8b39c31a8) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint Jenkins)
-   [`e0a2448`](https://github.com/eslint/eslint/commit/e0a2448e0c0ef354e69998858846630a3fce8ebe) chore: docs package.license ISC => MIT ([#&#8203;17254](https://github.com/eslint/eslint/issues/17254)) (唯然)
-   [`6a0196c`](https://github.com/eslint/eslint/commit/6a0196c51310630a0ff96a1e8d7f257c2c7adda9) chore: use eslint-plugin-eslint-plugin flat configs ([#&#8203;17204](https://github.com/eslint/eslint/issues/17204)) (Milos Djermanovic)

### [`v8.42.0`](https://github.com/eslint/eslint/releases/tag/v8.42.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.41.0...v8.42.0)

#### Features

-   [`b8448ff`](https://github.com/eslint/eslint/commit/b8448ff1ae1adf26a81dea07f340caa5b5c2f257) feat: correct no-useless-return behaviour in try statements ([#&#8203;16996](https://github.com/eslint/eslint/issues/16996)) (Nitin Kumar)

#### Bug Fixes

-   [`a589636`](https://github.com/eslint/eslint/commit/a5896360c3faa1e7d1fe81a9907a434b8b8f6b60) fix: Config with `ignores` and without `files` should not always apply ([#&#8203;17181](https://github.com/eslint/eslint/issues/17181)) (Milos Djermanovic)
-   [`c4fad17`](https://github.com/eslint/eslint/commit/c4fad173c7149dbcd25695c19c68663102b9ec6b) fix: Correct ignore message for "node_modules" subfolders ([#&#8203;17217](https://github.com/eslint/eslint/issues/17217)) (Francesco Trotta)

#### Documentation

-   [`01d7142`](https://github.com/eslint/eslint/commit/01d7142642c87241135699571e8010f5e8fcda4f) docs: Update README (GitHub Actions Bot)
-   [`e5182b7`](https://github.com/eslint/eslint/commit/e5182b723ff82bb3b55c50c06d64626055414b31) docs: Update README (GitHub Actions Bot)

#### Chores

-   [`6ca5b7c`](https://github.com/eslint/eslint/commit/6ca5b7ca3bac9e10c6cfee4cdc78446e94eb7607) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).42.0 ([#&#8203;17236](https://github.com/eslint/eslint/issues/17236)) (Milos Djermanovic)
-   [`67fc5e7`](https://github.com/eslint/eslint/commit/67fc5e730e4dfc372dea11e15d3f5165bc812491) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint Jenkins)
-   [`0892412`](https://github.com/eslint/eslint/commit/0892412556b2ba6c3d1b85152dafe47a3f4cba72) refactor: remove `Identifier` listener in no-irregular-whitespace ([#&#8203;17235](https://github.com/eslint/eslint/issues/17235)) (Milos Djermanovic)
-   [`f67d298`](https://github.com/eslint/eslint/commit/f67d2984c3c3f26497842a04d5166707587c1fca) test: Add `FlatESLint` tests with missing config files ([#&#8203;17164](https://github.com/eslint/eslint/issues/17164)) (Milos Djermanovic)
-   [`5b68d51`](https://github.com/eslint/eslint/commit/5b68d51e3e6bd003d6cf74d3434f7165691b4f4d) chore: Fix `fixedsize` attribute in code path analysis DOT debug output ([#&#8203;17202](https://github.com/eslint/eslint/issues/17202)) (Milos Djermanovic)
-   [`37432f2`](https://github.com/eslint/eslint/commit/37432f27dc15817d66cf42377792197dc2aeb8b2) chore: update descriptions in key-spacing tests ([#&#8203;17195](https://github.com/eslint/eslint/issues/17195)) (Milos Djermanovic)

### [`v8.41.0`](https://github.com/eslint/eslint/releases/tag/v8.41.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.40.0...v8.41.0)

#### Features

-   [`880a431`](https://github.com/eslint/eslint/commit/880a4317b949e575a4a6c5e8baaba1eea7674cc6) feat: change default ignore pattern to `**/node_modules/` in flat config ([#&#8203;17184](https://github.com/eslint/eslint/issues/17184)) (Milos Djermanovic)
-   [`8bf5505`](https://github.com/eslint/eslint/commit/8bf550594fca6d29fab1a3453e701c1a457767e1) feat: expose `shouldUseFlatConfig` ([#&#8203;17169](https://github.com/eslint/eslint/issues/17169)) (Connor Prussin)

#### Bug Fixes

-   [`4f5440d`](https://github.com/eslint/eslint/commit/4f5440db631707b17140c4e5cc7beb223afbd2b9) fix: incorrect warning message for ignored dotfiles ([#&#8203;17196](https://github.com/eslint/eslint/issues/17196)) (Milos Djermanovic)
-   [`94da96c`](https://github.com/eslint/eslint/commit/94da96cbf0fb2bb6694fa2e757eb1b3e74c40db7) fix: unify `LintMessage` type ([#&#8203;17076](https://github.com/eslint/eslint/issues/17076)) (Brandon Mills)
-   [`0c415cd`](https://github.com/eslint/eslint/commit/0c415cda5d76dbe5120ab9f3c4c81320538e35f0) fix: validate `ignorePatterns` constructor option in `FlatESLint` class ([#&#8203;17139](https://github.com/eslint/eslint/issues/17139)) (Milos Djermanovi…
@eslint-github-bot eslint-github-bot bot locked and limited conversation to collaborators Mar 16, 2024
@eslint-github-bot eslint-github-bot bot added the archived due to age This issue has been archived; please open a new issue for any further discussion label Mar 16, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
accepted There is consensus among the team that this change meets the criteria for inclusion archived due to age This issue has been archived; please open a new issue for any further discussion contributor pool feature This change adds a new feature to ESLint rule Relates to ESLint's core rules
Projects
Status: Complete
Development

Successfully merging this pull request may close these issues.

None yet

4 participants