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: Allow void in rule no-promise-executor-return #17282

Merged

Conversation

nopeless
Copy link
Contributor

@nopeless nopeless commented Jun 13, 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)

  • Allow void in no-promise-executor
  • Update relevant documentation
  • Add auto fix that adds a void in front of the returned expression (open for debate)
  • Update relevant tests

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

Edge cases that I might have not considered. I found one myself: adding void in front of () => ... when it is in front of another () =>will cause the expression to not be parsed

resolves #17278, #13668

@eslint-github-bot
Copy link

Hi @nopeless!, thanks for the Pull Request

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

  • The commit message tag wasn't recognized. Did you mean "docs", "fix", or "feat"?
  • There should be a space following the initial tag and colon, for example 'feat: Message'.
  • The first letter of the tag should be in lowercase
  • 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

@nopeless nopeless changed the title Allow void for arrow function expression return in rule no-promise-executor-return Feat: allow void for arrow function expression return in rule no-promise-executor-return Jun 13, 2023
@eslint-github-bot
Copy link

Hi @nopeless!, thanks for the Pull Request

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

  • The commit message tag wasn't recognized. Did you mean "docs", "fix", or "feat"?
  • There should be a space following the initial tag and colon, for example 'feat: Message'.
  • The first letter of the tag should be in lowercase
  • 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

@nopeless nopeless changed the title Feat: allow void for arrow function expression return in rule no-promise-executor-return feat: Allow void for arrow function expression return in rule no-promise-executor-return Jun 13, 2023
@eslint-github-bot
Copy link

Hi @nopeless!, thanks for the Pull Request

The pull request title isn't properly formatted. We ask that you update the message 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

@nopeless nopeless changed the title feat: Allow void for arrow function expression return in rule no-promise-executor-return feat: Allow void in rule no-promise-executor-return Jun 13, 2023
@eslint-github-bot eslint-github-bot bot added the feature This change adds a new feature to ESLint label Jun 13, 2023
@nopeless
Copy link
Contributor Author

@mdjermanovic @nzakas

@Rec0iL99
Copy link
Member

Rec0iL99 commented Jun 14, 2023

Hi @nopeless, please avoid pinging team members for review, it creates unnecessary spam in their notifications :(

Once you open a pr/issue we will definitely look into it 👍 .

Once your pr is ready for review move it from draft to open, this will request the team for review.

@nopeless nopeless marked this pull request as ready for review June 14, 2023 06:41
@nopeless nopeless requested a review from a team as a code owner June 14, 2023 06:41
@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 Jun 14, 2023
@mdjermanovic
Copy link
Member

Thanks for the PR! Few notes about functionalities:

  • Allow void in no-promise-executor

This should be behind an option, for example "allowVoid": boolean. The option should also allow return void.

  • Add auto fix that adds a void in front of the returned expression (open for debate)

I think this rule shouldn't provide autofixes. Generally, rules that relate to possible logic errors in code should not be auto-fixable. For example, new Promise(() => 1); looks like a logic error. Automatically fixing that code to new Promise(() => void 1); would hide the error.

@nopeless
Copy link
Contributor Author

Thanks for the PR! Few notes about functionalities:

  • Allow void in no-promise-executor

This should be behind an option, for example "allowVoid": boolean. The option should also allow return void.

  • Add auto fix that adds a void in front of the returned expression (open for debate)

I think this rule shouldn't provide autofixes. Generally, rules that relate to possible logic errors in code should not be auto-fixable. For example, new Promise(() => 1); looks like a logic error. Automatically fixing that code to new Promise(() => void 1); would hide the error.

Understandable, what should allowVoid's default be?

@mdjermanovic
Copy link
Member

Understandable, what should allowVoid's default be?

false, to retain the current behavior of this rule.

@nopeless
Copy link
Contributor Author

@mdjermanovic I have ran into an edge case that doesn't seem to have a good solution to

Currently, there are two suggestions avaliable: prepend void, wrap in {}

The second suggestion seems to produce a syntax error because of, in my opinion, a perculiarity in eslint's AST

() => (1);
// structure looks like
const ast = {
  type: "ArrowFunctionExpression",
  body: {
    type: "Literal",
    raw: "1"
  }
}

So, wrapping {} around the arrow body doesn't result in {(1)}, but ({1}), which is obviously a syntax error.

What should I do?

@mdjermanovic
Copy link
Member

So, wrapping {} around the arrow body doesn't result in {(1)}, but ({1}), which is obviously a syntax error.

Yes, parentheses around node are not part of the node in AST. Instead of wrapping node.body, we could add { before the first token after =>, and } after the last token of the arrow expression node. Something like this:

//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------

//... 

const astUtils = require("./utils/ast-utils");
fix(fixer) {
    const arrowToken = sourceCode.getTokenBefore(node.body, astUtils.isArrowToken);
    const firstToken = sourceCode.getTokenAfter(arrowToken);
    const lastToken = sourceCode.getLastToken(node);

    return [
        fixer.insertTextBefore(firstToken, "{"),
        fixer.insertTextAfter(lastToken, "}")
    ];
}

@mdjermanovic
Copy link
Member

/easycla

@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Jun 15, 2023

CLA Signed

The committers listed above are authorized under a signed CLA.

@nopeless
Copy link
Contributor Author

nopeless commented Jun 15, 2023

@mdjermanovic should allowVoid even allow return void someValue? I personally think its ok to inline

// allowVoid: false
new Promise(r => {
  // invalid
  return 1;
});

// currently this doesn't work, allowing it is just adding one more condition, let me know what you think
// allowVoid: true
new Promise(r => {
  // valid
  return void 1;
});

@nzakas
Copy link
Member

nzakas commented Jun 16, 2023

@mdjermanovic you mentioned we shouldn't be doing autofix for this, but then showed an autofix example a couple comments later. I also don't believe we should be autofixing. Has your opinion changed?

@nopeless
Copy link
Contributor Author

nopeless commented Jun 16, 2023

@mdjermanovic you mentioned we shouldn't be doing autofix for this, but then showed an autofix example a couple comments later. I also don't believe we should be autofixing. Has your opinion changed?

Well it is a confusing conversation

I'll clarify now

I agree with @mdjermanovic that this problem should NOT be auto fixed

@nopeless
Copy link
Contributor Author

Can you specify which comment refers to auto fixing? I might have forgotten to remove it

@Rec0iL99
Copy link
Member

Can you specify which comment refers to auto fixing? I might have forgotten to remove it

#17282 (comment) and #17282 (comment)

@nopeless
Copy link
Contributor Author

nopeless commented Jun 17, 2023

Can you specify which comment refers to auto fixing? I might have forgotten to remove it

#17282 (comment) and #17282 (comment)

Those are for suggestions, I hope that addresses your concern

@netlify
Copy link

netlify bot commented Jul 8, 2023

Deploy Preview for docs-eslint canceled.

Name Link
🔨 Latest commit 2f9127b
🔍 Latest deploy log https://app.netlify.com/sites/docs-eslint/deploys/64e1e0401b0a850008cb82da

@nzakas
Copy link
Member

nzakas commented Jul 11, 2023

Waiting for @mdjermanovic to re-review. He's away for a bit but may be checking in periodically, so we appreciate your patience.

@nopeless
Copy link
Contributor Author

sorry, got into some personal issues. I'll implement this in a couple days

nopeless and others added 3 commits July 25, 2023 16:09
Co-authored-by: Milos Djermanovic <milos.djermanovic@gmail.com>
Co-authored-by: Milos Djermanovic <milos.djermanovic@gmail.com>
Co-authored-by: Milos Djermanovic <milos.djermanovic@gmail.com>
@github-actions
Copy link

github-actions bot commented Aug 4, 2023

Hi everyone, it looks like we lost track of this pull request. Please review and see what the next steps are. This pull request will auto-close in 7 days without an update.

@github-actions github-actions bot added the Stale label Aug 4, 2023
@Rec0iL99 Rec0iL99 removed the Stale label Aug 5, 2023
@Rec0iL99
Copy link
Member

Rec0iL99 commented Aug 5, 2023

@nopeless is this ready for a re-review?

@nopeless
Copy link
Contributor Author

nopeless commented Aug 5, 2023

@Rec0iL99 no. I am side tracked atm. I'll ping a member for review when im done 👍

@snitin315
Copy link
Contributor

@nopeless No worries, let us know if you'd like someone else to finish the PR.

@nopeless
Copy link
Contributor Author

nopeless commented Aug 8, 2023

@snitin315 @mdjermanovic Ready for another review 👍

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.

Just a few suggestions about comments and JSDoc, then LGTM.

Tests are missing some properties that will become required, but we can update that in a follow-up (I think we should switch these tests to the basic format without helper functions).

lib/rules/no-promise-executor-return.js Outdated Show resolved Hide resolved
lib/rules/no-promise-executor-return.js Outdated Show resolved Hide resolved
lib/rules/no-promise-executor-return.js Outdated Show resolved Hide resolved
lib/rules/no-promise-executor-return.js Outdated Show resolved Hide resolved
lib/rules/no-promise-executor-return.js Outdated Show resolved Hide resolved
tests/lib/rules/no-promise-executor-return.js Outdated Show resolved Hide resolved
tests/lib/rules/no-promise-executor-return.js Outdated Show resolved Hide resolved
@nopeless
Copy link
Contributor Author

sorry, little busy with college and other projects. I'll get back on this when I get time

Copy link
Contributor

@snitin315 snitin315 left a comment

Choose a reason for hiding this comment

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

LGTM. @mdjermanovic I feel we can apply your suggestions directly from the GitHub UI & merge this PR as this has been open for a long time.

Also, I can update the tests in a follow-up PR.

@mdjermanovic
Copy link
Member

I feel we can apply your suggestions directly from the GitHub UI & merge this PR as this has been open for a long time.

Good idea! Just waiting for CI to finish and then I'll merge this.

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 ee2f718 into eslint:main Aug 20, 2023
22 checks passed
@snitin315 snitin315 self-assigned this Aug 25, 2023
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 Feb 17, 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 Feb 17, 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
None yet
Development

Successfully merging this pull request may close these issues.

Rule Change: no-promise-executor-return should allow arrow functions with no {...}
5 participants