Visitar URL original
feat: only exempt `new-cap` built-ins that reference the global by sethamus · Pull Request #21290 · eslint/eslint · GitHub
Skip to content

feat: only exempt new-cap built-ins that reference the global - #21290

Merged
mdjermanovic merged 3 commits into
eslint:mainfrom
sethamus:new-cap-global-builtins
Sep 9, 2026
Merged

mdjermanovic merged 3 commits into
eslint:mainfrom
sethamus:new-cap-global-builtins

Conversation

@sethamus

@sethamus sethamus commented Sep 1, 2026 •

Copy link
Copy Markdown
Contributor

Prerequisites checklist

AI acknowledgment

  • I did not use AI to generate this PR.
  • (If the above is not checked) I have reviewed the AI-generated content before submitting.

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)

capIsNew no longer automatically exempts the built-in constructor names (Array, Boolean, Date, Error, Function, Number, Object, RegExp, String, Symbol, BigInt). They are now exempt only when they reference the global, either directly, or as a property of the global object (globalThis, window, self, global).

Fixes #21268

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

Summary by CodeRabbit

  • Bug Fixes

    • Improved detection of uppercase function calls and built-in exceptions.
    • Correctly handles locally defined, imported, shadowed, and disabled global names.
    • Improved support for property calls, optional chaining, and global-object-qualified built-ins.
    • Recognizes Date.UTC only when accessed through a global Date object.
  • Documentation

    • Clarified when built-in constructor exceptions apply, with examples for global and shadowed identifiers.
  • Tests

    • Expanded coverage for valid and invalid uppercase-call scenarios.

@sethamus
sethamus requested a review from a team as a code owner September 1, 2026 19:21
@github-project-automation github-project-automation Bot moved this to Needs Triage in Triage Sep 1, 2026
@eslint-github-bot eslint-github-bot Bot added the feature This change adds a new feature to ESLint label Sep 1, 2026
@netlify

netlify Bot commented Sep 1, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for docs-eslint canceled.

Name Link
🔨 Latest commit b4669d5
🔍 Latest deploy log https://app.netlify.com/projects/docs-eslint/deploys/6aa046ba1a000b00080979d4

@github-actions github-actions Bot added the rule Relates to ESLint's core rules label Sep 1, 2026
@coderabbitai

coderabbitai Bot commented Sep 1, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 31d92859-fb82-47ef-b5f4-1e0ce370abd7

📥 Commits

Reviewing files that changed from the base of the PR and between fecc784 and b4669d5.

📒 Files selected for processing (1)
  • tests/lib/rules/new-cap.js

Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review.


📝 Walkthrough

Walkthrough

The new-cap rule now exempts capitalized calls only for configured exceptions or global built-ins. It recognizes supported global-object forms and restricts Date.UTC handling to global Date. Tests and documentation cover local and global binding scenarios.

Changes

Global built-in detection

Layer / File(s) Summary
Global built-in resolution
lib/rules/new-cap.js
The rule uses Set-based configuration, recognizes global-object names, and resolves global built-ins through identifiers and member expressions.
Capitalized call validation
lib/rules/new-cap.js, tests/lib/rules/new-cap.js, docs/src/rules/new-cap.md
Built-in and Date.UTC exemptions now require global references. Tests and documentation cover local, shadowed, imported, nested, optional-chain, and global-object-qualified calls.

Priority: ➖ Normal

Estimated code review effort: 3 (Moderate) | ~20 minutes

Merge Risk: ⚪ Minimal · up to b4669

The rule now reports capitalized calls to shadowed or object-property built-in names while retaining exemptions for supported global built-in references. The documented behavior and test coverage align with this change, with no remaining merge-readiness risk identified.

Sequence Diagram(s)

sequenceDiagram
  participant CallExpression
  participant new-cap
  participant GlobalBuiltinResolver
  CallExpression->>new-cap: inspect capitalized call
  new-cap->>GlobalBuiltinResolver: resolve callee reference
  GlobalBuiltinResolver-->>new-cap: global or non-global result
  new-cap-->>CallExpression: allow exemption or report error
Loading

Suggested reviewers: pixel998

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the primary change: new-cap exempts built-ins only when they reference the global.
Linked Issues check ✅ Passed The changes satisfy issue #21268. Locally defined built-in names and object-property calls are reported, while direct global and recognized global-object references remain exempt. Tests and documentat…
Out of Scope Changes check ✅ Passed The code, tests, and documentation changes support the linked issue and PR objective. No unrelated changes are present.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 2 files.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Comment thread lib/rules/new-cap.js
Comment on lines -87 to +89
capIsNewExceptions: CAPS_ALLOWED,
capIsNewExceptions: [],

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We are changing the default value in the schema here, could it be breaking change for the users?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think we will need to update the docs as well accordingly.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I don't think it's breaking. It's meta.defaultOptions rather than schema, so no existing config becomes invalid.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I also don't think this is a breaking change.

Comment thread tests/lib/rules/new-cap.js
@snitin315 snitin315 added accepted There is consensus among the team that this change meets the criteria for inclusion contributor pool labels Sep 4, 2026
@snitin315 snitin315 moved this from Needs Triage to Implementing in Triage Sep 4, 2026
snitin315
snitin315 previously approved these changes Sep 7, 2026

@snitin315 snitin315 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM, thannk!

Leaving it open for 2nd review

@snitin315 snitin315 moved this from Implementing to Second Review Needed in Triage Sep 7, 2026

@mdjermanovic mdjermanovic left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looks good to me overall, just one suggestion for test coverage.

Comment thread lib/rules/new-cap.js

@mdjermanovic mdjermanovic left a comment

Copy link
Copy Markdown
Member

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 d3dd47f into eslint:main Sep 9, 2026
47 checks passed
@github-project-automation github-project-automation Bot moved this from Second Review Needed to Complete in Triage Sep 9, 2026
renovate Bot added a commit to NiGhTTraX/eslint-config that referenced this pull request Oct 6, 2026
| datasource | package | from   | to      |
| ---------- | ------- | ------ | ------- |
| npm        | eslint  | 10.9.1 | 10.11.0 |


## [v10.11.0](https://github.com/eslint/eslint/releases/tag/v10.11.0)

#### Features

- [`d136fa4`](eslint/eslint@d136fa4) feat: object-shorthand handle quoted properties for `ignoreConstructors` ([#21271](eslint/eslint#21271)) (Pavel)
- [`397b3b8`](eslint/eslint@397b3b8) feat: report unsafe labeled `continue` in `no-unsafe-finally` rule ([#21316](eslint/eslint#21316)) (electrohyun)
- [`d3dd47f`](eslint/eslint@d3dd47f) feat: only exempt `new-cap` built-ins that reference the global ([#21290](eslint/eslint#21290)) (sethamus)

#### Bug Fixes

- [`22b09f5`](eslint/eslint@22b09f5) fix: ignore `__proto__` properties in `prefer-object-spread` ([#21311](eslint/eslint#21311)) (xbinaryx)
- [`b684bb1`](eslint/eslint@b684bb1) fix: make TimePass.parse optional in types and docs ([#21313](eslint/eslint#21313)) (ntnyq)
- [`26d11bc`](eslint/eslint@26d11bc) fix: don't report `__proto__` properties in `object-shorthand` ([#21310](eslint/eslint#21310)) (xbinaryx)

#### Documentation

- [`9ecfdc5`](eslint/eslint@9ecfdc5) docs: note that --cache can serve stale results for cross-file rules ([#21312](eslint/eslint#21312)) (bytedoe)
- [`6c789ff`](eslint/eslint@6c789ff) docs: Update README (GitHub Actions Bot)
- [`5997825`](eslint/eslint@5997825) docs: clarify preserve-caught-error known limitation ([#21294](eslint/eslint#21294)) (Akinyemi Toluwalase)

#### Chores

- [`520dd77`](eslint/eslint@520dd77) perf: Implement fast paths in critical areas ([#21210](eslint/eslint#21210)) (Nicholas C. Zakas)
- [`92086c8`](eslint/eslint@92086c8) test: update `EMFILE` error generation for Node.js 26.9.0 compatibility ([#21330](eslint/eslint#21330)) (Francesco Trotta)
- [`9ac7eb6`](eslint/eslint@9ac7eb6) chore: update github/codeql-action action to v4.38.0 ([#21331](eslint/eslint#21331)) (renovate\[bot])
- [`24310e3`](eslint/eslint@24310e3) chore: update ecosystem plugins ([#21324](eslint/eslint#21324)) (ESLint Bot)
- [`45ad79e`](eslint/eslint@45ad79e) ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 ([#21318](eslint/eslint#21318)) (dependabot\[bot])
- [`ac74e37`](eslint/eslint@ac74e37) chore: Add AGENTS.md with AI disclosure requirements ([#21221](eslint/eslint#21221)) (Nicholas C. Zakas)
- [`c832660`](eslint/eslint@c832660) chore: Upgrade Stylelint to the latest version in docs ([#21245](eslint/eslint#21245)) (Jung Hyeon Jun)
- [`f9f88fc`](eslint/eslint@f9f88fc) chore: update ecosystem plugins ([#21308](eslint/eslint#21308)) (ESLint Bot)
- [`fc81076`](eslint/eslint@fc81076) ci: add more types integration tests ([#20395](eslint/eslint#20395)) (Nitin Kumar)


## [v10.10.0](https://github.com/eslint/eslint/releases/tag/v10.10.0)

#### Features

- [`264b434`](eslint/eslint@264b434) feat: add `d` and `v` flags to `no-unexpected-multiline` ([#21305](eslint/eslint#21305)) (Gihyeon Jeong / 정기현)
- [`c6cc6c5`](eslint/eslint@c6cc6c5) feat: check `Object.prototype` property names in `new-cap` ([#21269](eslint/eslint#21269)) (crimsonjay0)
- [`5661fa6`](eslint/eslint@5661fa6) feat: no-extra-bind false negatives with class fields and static blocks ([#21260](eslint/eslint#21260)) (synthex-byte)

#### Bug Fixes

- [`bb47dc6`](eslint/eslint@bb47dc6) fix: update dependency file-entry-cache to v11 ([#20801](eslint/eslint#20801)) (Milos Djermanovic)
- [`427ac0a`](eslint/eslint@427ac0a) fix: use format strings in debug calls ([#21247](eslint/eslint#21247)) (Francesco Trotta)
- [`9d81532`](eslint/eslint@9d81532) fix: support `__proto__` in `/* exported */` comments ([#21261](eslint/eslint#21261)) (sethamus)
- [`87e0a08`](eslint/eslint@87e0a08) fix: prefer-object-has-own autofix breaks when Object is shadowed ([#21282](eslint/eslint#21282)) (김채영)
- [`8e2cb14`](eslint/eslint@8e2cb14) fix: `new-cap` false positive for `UTC` calls with `properties: false` ([#21275](eslint/eslint#21275)) (Pixel)
- [`9f4a364`](eslint/eslint@9f4a364) fix: Ignore static imports in no-unreachable ([#21276](eslint/eslint#21276)) (Taha Kotil)

#### Documentation

- [`2417cad`](eslint/eslint@2417cad) docs: Update README (GitHub Actions Bot)
- [`9cecb8a`](eslint/eslint@9cecb8a) docs: document `\c` control letter escapes in no-control-regex ([#21286](eslint/eslint#21286)) (한국)
- [`8724829`](eslint/eslint@8724829) docs: update compat table links ([#21263](eslint/eslint#21263)) (fnx)
- [`5634542`](eslint/eslint@5634542) docs: Clarify eqeqeq suggestion behavior ([#21256](eslint/eslint#21256)) (Müslüm Yılmaz)

#### Chores

- [`b3d876b`](eslint/eslint@b3d876b) chore: disable npm audit in ecosystem tests ([#21306](eslint/eslint#21306)) (Francesco Trotta)
- [`1696682`](eslint/eslint@1696682) ci: restore EMFILE test on Node.js 26 ([#21297](eslint/eslint#21297)) (Marry (Subin Yang))
- [`2c7f5d6`](eslint/eslint@2c7f5d6) chore: update github/codeql-action action to v4.37.9 ([#21296](eslint/eslint#21296)) (renovate\[bot])
- [`3c753f1`](eslint/eslint@3c753f1) chore: update eslint ([#21289](eslint/eslint#21289)) (renovate\[bot])
- [`1c73469`](eslint/eslint@1c73469) chore: update ecosystem plugins ([#21280](eslint/eslint#21280)) (ESLint Bot)
- [`08a02be`](eslint/eslint@08a02be) test: add error locations to `no-extra-boolean-cast` ([#21266](eslint/eslint#21266)) (lumir)
- [`77bb1db`](eslint/eslint@77bb1db) chore: update github/codeql-action action to v4.37.8 ([#21270](eslint/eslint#21270)) (renovate\[bot])
- [`007e81a`](eslint/eslint@007e81a) ci: skip EMFILE test on Node.js 26 ([#21265](eslint/eslint#21265)) (lumir)
- [`0430280`](eslint/eslint@0430280) chore: improve ecosystem tests compatibility on Windows ([#21178](eslint/eslint#21178)) (crimsonjay0)
renovate Bot added a commit to NiGhTTraX/eslint-config that referenced this pull request Oct 6, 2026
| datasource | package | from   | to      |
| ---------- | ------- | ------ | ------- |
| npm        | eslint  | 10.9.1 | 10.11.0 |


## [v10.11.0](https://github.com/eslint/eslint/releases/tag/v10.11.0)

#### Features

- [`d136fa4`](eslint/eslint@d136fa4) feat: object-shorthand handle quoted properties for `ignoreConstructors` ([#21271](eslint/eslint#21271)) (Pavel)
- [`397b3b8`](eslint/eslint@397b3b8) feat: report unsafe labeled `continue` in `no-unsafe-finally` rule ([#21316](eslint/eslint#21316)) (electrohyun)
- [`d3dd47f`](eslint/eslint@d3dd47f) feat: only exempt `new-cap` built-ins that reference the global ([#21290](eslint/eslint#21290)) (sethamus)

#### Bug Fixes

- [`22b09f5`](eslint/eslint@22b09f5) fix: ignore `__proto__` properties in `prefer-object-spread` ([#21311](eslint/eslint#21311)) (xbinaryx)
- [`b684bb1`](eslint/eslint@b684bb1) fix: make TimePass.parse optional in types and docs ([#21313](eslint/eslint#21313)) (ntnyq)
- [`26d11bc`](eslint/eslint@26d11bc) fix: don't report `__proto__` properties in `object-shorthand` ([#21310](eslint/eslint#21310)) (xbinaryx)

#### Documentation

- [`9ecfdc5`](eslint/eslint@9ecfdc5) docs: note that --cache can serve stale results for cross-file rules ([#21312](eslint/eslint#21312)) (bytedoe)
- [`6c789ff`](eslint/eslint@6c789ff) docs: Update README (GitHub Actions Bot)
- [`5997825`](eslint/eslint@5997825) docs: clarify preserve-caught-error known limitation ([#21294](eslint/eslint#21294)) (Akinyemi Toluwalase)

#### Chores

- [`520dd77`](eslint/eslint@520dd77) perf: Implement fast paths in critical areas ([#21210](eslint/eslint#21210)) (Nicholas C. Zakas)
- [`92086c8`](eslint/eslint@92086c8) test: update `EMFILE` error generation for Node.js 26.9.0 compatibility ([#21330](eslint/eslint#21330)) (Francesco Trotta)
- [`9ac7eb6`](eslint/eslint@9ac7eb6) chore: update github/codeql-action action to v4.38.0 ([#21331](eslint/eslint#21331)) (renovate\[bot])
- [`24310e3`](eslint/eslint@24310e3) chore: update ecosystem plugins ([#21324](eslint/eslint#21324)) (ESLint Bot)
- [`45ad79e`](eslint/eslint@45ad79e) ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 ([#21318](eslint/eslint#21318)) (dependabot\[bot])
- [`ac74e37`](eslint/eslint@ac74e37) chore: Add AGENTS.md with AI disclosure requirements ([#21221](eslint/eslint#21221)) (Nicholas C. Zakas)
- [`c832660`](eslint/eslint@c832660) chore: Upgrade Stylelint to the latest version in docs ([#21245](eslint/eslint#21245)) (Jung Hyeon Jun)
- [`f9f88fc`](eslint/eslint@f9f88fc) chore: update ecosystem plugins ([#21308](eslint/eslint#21308)) (ESLint Bot)
- [`fc81076`](eslint/eslint@fc81076) ci: add more types integration tests ([#20395](eslint/eslint#20395)) (Nitin Kumar)


## [v10.10.0](https://github.com/eslint/eslint/releases/tag/v10.10.0)

#### Features

- [`264b434`](eslint/eslint@264b434) feat: add `d` and `v` flags to `no-unexpected-multiline` ([#21305](eslint/eslint#21305)) (Gihyeon Jeong / 정기현)
- [`c6cc6c5`](eslint/eslint@c6cc6c5) feat: check `Object.prototype` property names in `new-cap` ([#21269](eslint/eslint#21269)) (crimsonjay0)
- [`5661fa6`](eslint/eslint@5661fa6) feat: no-extra-bind false negatives with class fields and static blocks ([#21260](eslint/eslint#21260)) (synthex-byte)

#### Bug Fixes

- [`bb47dc6`](eslint/eslint@bb47dc6) fix: update dependency file-entry-cache to v11 ([#20801](eslint/eslint#20801)) (Milos Djermanovic)
- [`427ac0a`](eslint/eslint@427ac0a) fix: use format strings in debug calls ([#21247](eslint/eslint#21247)) (Francesco Trotta)
- [`9d81532`](eslint/eslint@9d81532) fix: support `__proto__` in `/* exported */` comments ([#21261](eslint/eslint#21261)) (sethamus)
- [`87e0a08`](eslint/eslint@87e0a08) fix: prefer-object-has-own autofix breaks when Object is shadowed ([#21282](eslint/eslint#21282)) (김채영)
- [`8e2cb14`](eslint/eslint@8e2cb14) fix: `new-cap` false positive for `UTC` calls with `properties: false` ([#21275](eslint/eslint#21275)) (Pixel)
- [`9f4a364`](eslint/eslint@9f4a364) fix: Ignore static imports in no-unreachable ([#21276](eslint/eslint#21276)) (Taha Kotil)

#### Documentation

- [`2417cad`](eslint/eslint@2417cad) docs: Update README (GitHub Actions Bot)
- [`9cecb8a`](eslint/eslint@9cecb8a) docs: document `\c` control letter escapes in no-control-regex ([#21286](eslint/eslint#21286)) (한국)
- [`8724829`](eslint/eslint@8724829) docs: update compat table links ([#21263](eslint/eslint#21263)) (fnx)
- [`5634542`](eslint/eslint@5634542) docs: Clarify eqeqeq suggestion behavior ([#21256](eslint/eslint#21256)) (Müslüm Yılmaz)

#### Chores

- [`b3d876b`](eslint/eslint@b3d876b) chore: disable npm audit in ecosystem tests ([#21306](eslint/eslint#21306)) (Francesco Trotta)
- [`1696682`](eslint/eslint@1696682) ci: restore EMFILE test on Node.js 26 ([#21297](eslint/eslint#21297)) (Marry (Subin Yang))
- [`2c7f5d6`](eslint/eslint@2c7f5d6) chore: update github/codeql-action action to v4.37.9 ([#21296](eslint/eslint#21296)) (renovate\[bot])
- [`3c753f1`](eslint/eslint@3c753f1) chore: update eslint ([#21289](eslint/eslint#21289)) (renovate\[bot])
- [`1c73469`](eslint/eslint@1c73469) chore: update ecosystem plugins ([#21280](eslint/eslint#21280)) (ESLint Bot)
- [`08a02be`](eslint/eslint@08a02be) test: add error locations to `no-extra-boolean-cast` ([#21266](eslint/eslint#21266)) (lumir)
- [`77bb1db`](eslint/eslint@77bb1db) chore: update github/codeql-action action to v4.37.8 ([#21270](eslint/eslint#21270)) (renovate\[bot])
- [`007e81a`](eslint/eslint@007e81a) ci: skip EMFILE test on Node.js 26 ([#21265](eslint/eslint#21265)) (lumir)
- [`0430280`](eslint/eslint@0430280) chore: improve ecosystem tests compatibility on Windows ([#21178](eslint/eslint#21178)) (crimsonjay0)
renovate Bot added a commit to NiGhTTraX/eslint-config that referenced this pull request Oct 6, 2026
| datasource | package | from   | to      |
| ---------- | ------- | ------ | ------- |
| npm        | eslint  | 10.9.1 | 10.11.0 |


## [v10.11.0](https://github.com/eslint/eslint/releases/tag/v10.11.0)

#### Features

- [`d136fa4`](eslint/eslint@d136fa4) feat: object-shorthand handle quoted properties for `ignoreConstructors` ([#21271](eslint/eslint#21271)) (Pavel)
- [`397b3b8`](eslint/eslint@397b3b8) feat: report unsafe labeled `continue` in `no-unsafe-finally` rule ([#21316](eslint/eslint#21316)) (electrohyun)
- [`d3dd47f`](eslint/eslint@d3dd47f) feat: only exempt `new-cap` built-ins that reference the global ([#21290](eslint/eslint#21290)) (sethamus)

#### Bug Fixes

- [`22b09f5`](eslint/eslint@22b09f5) fix: ignore `__proto__` properties in `prefer-object-spread` ([#21311](eslint/eslint#21311)) (xbinaryx)
- [`b684bb1`](eslint/eslint@b684bb1) fix: make TimePass.parse optional in types and docs ([#21313](eslint/eslint#21313)) (ntnyq)
- [`26d11bc`](eslint/eslint@26d11bc) fix: don't report `__proto__` properties in `object-shorthand` ([#21310](eslint/eslint#21310)) (xbinaryx)

#### Documentation

- [`9ecfdc5`](eslint/eslint@9ecfdc5) docs: note that --cache can serve stale results for cross-file rules ([#21312](eslint/eslint#21312)) (bytedoe)
- [`6c789ff`](eslint/eslint@6c789ff) docs: Update README (GitHub Actions Bot)
- [`5997825`](eslint/eslint@5997825) docs: clarify preserve-caught-error known limitation ([#21294](eslint/eslint#21294)) (Akinyemi Toluwalase)

#### Chores

- [`520dd77`](eslint/eslint@520dd77) perf: Implement fast paths in critical areas ([#21210](eslint/eslint#21210)) (Nicholas C. Zakas)
- [`92086c8`](eslint/eslint@92086c8) test: update `EMFILE` error generation for Node.js 26.9.0 compatibility ([#21330](eslint/eslint#21330)) (Francesco Trotta)
- [`9ac7eb6`](eslint/eslint@9ac7eb6) chore: update github/codeql-action action to v4.38.0 ([#21331](eslint/eslint#21331)) (renovate\[bot])
- [`24310e3`](eslint/eslint@24310e3) chore: update ecosystem plugins ([#21324](eslint/eslint#21324)) (ESLint Bot)
- [`45ad79e`](eslint/eslint@45ad79e) ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 ([#21318](eslint/eslint#21318)) (dependabot\[bot])
- [`ac74e37`](eslint/eslint@ac74e37) chore: Add AGENTS.md with AI disclosure requirements ([#21221](eslint/eslint#21221)) (Nicholas C. Zakas)
- [`c832660`](eslint/eslint@c832660) chore: Upgrade Stylelint to the latest version in docs ([#21245](eslint/eslint#21245)) (Jung Hyeon Jun)
- [`f9f88fc`](eslint/eslint@f9f88fc) chore: update ecosystem plugins ([#21308](eslint/eslint#21308)) (ESLint Bot)
- [`fc81076`](eslint/eslint@fc81076) ci: add more types integration tests ([#20395](eslint/eslint#20395)) (Nitin Kumar)


## [v10.10.0](https://github.com/eslint/eslint/releases/tag/v10.10.0)

#### Features

- [`264b434`](eslint/eslint@264b434) feat: add `d` and `v` flags to `no-unexpected-multiline` ([#21305](eslint/eslint#21305)) (Gihyeon Jeong / 정기현)
- [`c6cc6c5`](eslint/eslint@c6cc6c5) feat: check `Object.prototype` property names in `new-cap` ([#21269](eslint/eslint#21269)) (crimsonjay0)
- [`5661fa6`](eslint/eslint@5661fa6) feat: no-extra-bind false negatives with class fields and static blocks ([#21260](eslint/eslint#21260)) (synthex-byte)

#### Bug Fixes

- [`bb47dc6`](eslint/eslint@bb47dc6) fix: update dependency file-entry-cache to v11 ([#20801](eslint/eslint#20801)) (Milos Djermanovic)
- [`427ac0a`](eslint/eslint@427ac0a) fix: use format strings in debug calls ([#21247](eslint/eslint#21247)) (Francesco Trotta)
- [`9d81532`](eslint/eslint@9d81532) fix: support `__proto__` in `/* exported */` comments ([#21261](eslint/eslint#21261)) (sethamus)
- [`87e0a08`](eslint/eslint@87e0a08) fix: prefer-object-has-own autofix breaks when Object is shadowed ([#21282](eslint/eslint#21282)) (김채영)
- [`8e2cb14`](eslint/eslint@8e2cb14) fix: `new-cap` false positive for `UTC` calls with `properties: false` ([#21275](eslint/eslint#21275)) (Pixel)
- [`9f4a364`](eslint/eslint@9f4a364) fix: Ignore static imports in no-unreachable ([#21276](eslint/eslint#21276)) (Taha Kotil)

#### Documentation

- [`2417cad`](eslint/eslint@2417cad) docs: Update README (GitHub Actions Bot)
- [`9cecb8a`](eslint/eslint@9cecb8a) docs: document `\c` control letter escapes in no-control-regex ([#21286](eslint/eslint#21286)) (한국)
- [`8724829`](eslint/eslint@8724829) docs: update compat table links ([#21263](eslint/eslint#21263)) (fnx)
- [`5634542`](eslint/eslint@5634542) docs: Clarify eqeqeq suggestion behavior ([#21256](eslint/eslint#21256)) (Müslüm Yılmaz)

#### Chores

- [`b3d876b`](eslint/eslint@b3d876b) chore: disable npm audit in ecosystem tests ([#21306](eslint/eslint#21306)) (Francesco Trotta)
- [`1696682`](eslint/eslint@1696682) ci: restore EMFILE test on Node.js 26 ([#21297](eslint/eslint#21297)) (Marry (Subin Yang))
- [`2c7f5d6`](eslint/eslint@2c7f5d6) chore: update github/codeql-action action to v4.37.9 ([#21296](eslint/eslint#21296)) (renovate\[bot])
- [`3c753f1`](eslint/eslint@3c753f1) chore: update eslint ([#21289](eslint/eslint#21289)) (renovate\[bot])
- [`1c73469`](eslint/eslint@1c73469) chore: update ecosystem plugins ([#21280](eslint/eslint#21280)) (ESLint Bot)
- [`08a02be`](eslint/eslint@08a02be) test: add error locations to `no-extra-boolean-cast` ([#21266](eslint/eslint#21266)) (lumir)
- [`77bb1db`](eslint/eslint@77bb1db) chore: update github/codeql-action action to v4.37.8 ([#21270](eslint/eslint#21270)) (renovate\[bot])
- [`007e81a`](eslint/eslint@007e81a) ci: skip EMFILE test on Node.js 26 ([#21265](eslint/eslint#21265)) (lumir)
- [`0430280`](eslint/eslint@0430280) chore: improve ecosystem tests compatibility on Windows ([#21178](eslint/eslint#21178)) (crimsonjay0)
renovate Bot added a commit to cigaleapp/cigale that referenced this pull request Oct 12, 2026
##### [v10.12.0](https://github.com/eslint/eslint/releases/tag/v10.12.0)

#### Features

- [`4618052`](eslint/eslint@4618052) feat: handle astral letters in `new-cap` ([#21357](eslint/eslint#21357)) (sary)
- [`4ec5168`](eslint/eslint@4ec5168) feat: allow `SourceCode#getText()` to accept tokens and comments ([#21340](eslint/eslint#21340)) (electrohyun)

#### Bug Fixes

- [`bc51eee`](eslint/eslint@bc51eee) fix: `prefer-arrow-callback` false positive in conditional test ([#21373](eslint/eslint#21373)) (Daniel Pinto)
- [`bbff86c`](eslint/eslint@bbff86c) fix: skip lines with multiple comments in `max-lines-per-function` ([#21332](eslint/eslint#21332)) (xbinaryx)
- [`efc4d6b`](eslint/eslint@efc4d6b) fix: astral letters in `consistent-return`, `no-eval`, `no-invalid-this` ([#21360](eslint/eslint#21360)) (lumir)
- [`93de066`](eslint/eslint@93de066) fix: prefer-exponentiation-operator autofix for async function base ([#21322](eslint/eslint#21322)) (Vladimir Babin)
- [`02e34ff`](eslint/eslint@02e34ff) fix: add missing space after `else` in `curly` autofix ([#21355](eslint/eslint#21355)) (Pixel)
- [`b14b8bc`](eslint/eslint@b14b8bc) fix: correct `id-length` message for long private names ([#21348](eslint/eslint#21348)) (Pixel)
- [`69aac01`](eslint/eslint@69aac01) fix: support `TSFunctionType` in `getFunctionHeadLoc` ([#21335](eslint/eslint#21335)) (xbinaryx)
- [`686630e`](eslint/eslint@686630e) fix: `no-loss-of-precision` false positive with `0.e5` ([#21337](eslint/eslint#21337)) (sethamus)

#### Documentation

- [`67eb586`](eslint/eslint@67eb586) docs: Update README (GitHub Actions Bot)
- [`5370d7e`](eslint/eslint@5370d7e) docs: clarify `one-var` `separateRequires` matches any `require()` call ([#21192](eslint/eslint#21192)) (sethamus)
- [`8816c1d`](eslint/eslint@8816c1d) docs: Update README (GitHub Actions Bot)
- [`3d2e7ce`](eslint/eslint@3d2e7ce) docs: fix typo in no-unused-expressions documentation ([#21346](eslint/eslint#21346)) (bytedoe)

#### Chores

- [`152067f`](eslint/eslint@152067f) chore: update ecosystem plugins ([#21362](eslint/eslint#21362)) (ESLint Bot)
- [`b56d58e`](eslint/eslint@b56d58e) chore: update github/codeql-action action to v4.38.2 ([#21376](eslint/eslint#21376)) (renovate\[bot])
- [`bfaea12`](eslint/eslint@bfaea12) perf: cache normalized config globals per languageOptions ([#21364](eslint/eslint#21364)) (James Ross)
- [`322209e`](eslint/eslint@322209e) ci: avoid Nx cache in ecosystem tests and disable failing test ([#21369](eslint/eslint#21369)) (Francesco Trotta)
- [`d166567`](eslint/eslint@d166567) chore: update dependency prettier to v3.9.9 ([#21371](eslint/eslint#21371)) (renovate\[bot])
- [`29585ce`](eslint/eslint@29585ce) chore: update dependency eslint-plugin-expect-type to ^0.7.0 ([#21359](eslint/eslint#21359)) (renovate\[bot])
- [`39d79ba`](eslint/eslint@39d79ba) chore: update github/codeql-action action to v4.38.1 ([#21354](eslint/eslint#21354)) (renovate\[bot])
- [`182a6e9`](eslint/eslint@182a6e9) chore: update dependency prettier to v3.9.8 ([#21352](eslint/eslint#21352)) (renovate\[bot])
- [`f995127`](eslint/eslint@f995127) chore: remove CLAUDE.md in favor of AGENTS.md ([#21339](eslint/eslint#21339)) (Jarren)
- [`b95fb6c`](eslint/eslint@b95fb6c) chore: update dependency prettier to v3.9.7 ([#21347](eslint/eslint#21347)) (renovate\[bot])
- [`3782dd4`](eslint/eslint@3782dd4) chore: update ecosystem plugins ([#21342](eslint/eslint#21342)) (ESLint Bot)
##### [v10.11.0](https://github.com/eslint/eslint/releases/tag/v10.11.0)

#### Features

- [`d136fa4`](eslint/eslint@d136fa4) feat: object-shorthand handle quoted properties for `ignoreConstructors` ([#21271](eslint/eslint#21271)) (Pavel)
- [`397b3b8`](eslint/eslint@397b3b8) feat: report unsafe labeled `continue` in `no-unsafe-finally` rule ([#21316](eslint/eslint#21316)) (electrohyun)
- [`d3dd47f`](eslint/eslint@d3dd47f) feat: only exempt `new-cap` built-ins that reference the global ([#21290](eslint/eslint#21290)) (sethamus)

#### Bug Fixes

- [`22b09f5`](eslint/eslint@22b09f5) fix: ignore `__proto__` properties in `prefer-object-spread` ([#21311](eslint/eslint#21311)) (xbinaryx)
- [`b684bb1`](eslint/eslint@b684bb1) fix: make TimePass.parse optional in types and docs ([#21313](eslint/eslint#21313)) (ntnyq)
- [`26d11bc`](eslint/eslint@26d11bc) fix: don't report `__proto__` properties in `object-shorthand` ([#21310](eslint/eslint#21310)) (xbinaryx)

#### Documentation

- [`9ecfdc5`](eslint/eslint@9ecfdc5) docs: note that --cache can serve stale results for cross-file rules ([#21312](eslint/eslint#21312)) (bytedoe)
- [`6c789ff`](eslint/eslint@6c789ff) docs: Update README (GitHub Actions Bot)
- [`5997825`](eslint/eslint@5997825) docs: clarify preserve-caught-error known limitation ([#21294](eslint/eslint#21294)) (Akinyemi Toluwalase)

#### Chores

- [`520dd77`](eslint/eslint@520dd77) perf: Implement fast paths in critical areas ([#21210](eslint/eslint#21210)) (Nicholas C. Zakas)
- [`92086c8`](eslint/eslint@92086c8) test: update `EMFILE` error generation for Node.js 26.9.0 compatibility ([#21330](eslint/eslint#21330)) (Francesco Trotta)
- [`9ac7eb6`](eslint/eslint@9ac7eb6) chore: update github/codeql-action action to v4.38.0 ([#21331](eslint/eslint#21331)) (renovate\[bot])
- [`24310e3`](eslint/eslint@24310e3) chore: update ecosystem plugins ([#21324](eslint/eslint#21324)) (ESLint Bot)
- [`45ad79e`](eslint/eslint@45ad79e) ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 ([#21318](eslint/eslint#21318)) (dependabot\[bot])
- [`ac74e37`](eslint/eslint@ac74e37) chore: Add AGENTS.md with AI disclosure requirements ([#21221](eslint/eslint#21221)) (Nicholas C. Zakas)
- [`c832660`](eslint/eslint@c832660) chore: Upgrade Stylelint to the latest version in docs ([#21245](eslint/eslint#21245)) (Jung Hyeon Jun)
- [`f9f88fc`](eslint/eslint@f9f88fc) chore: update ecosystem plugins ([#21308](eslint/eslint#21308)) (ESLint Bot)
- [`fc81076`](eslint/eslint@fc81076) ci: add more types integration tests ([#20395](eslint/eslint#20395)) (Nitin Kumar)
renovate Bot added a commit to cigaleapp/cigale that referenced this pull request Oct 12, 2026
##### [v10.12.0](https://github.com/eslint/eslint/releases/tag/v10.12.0)

#### Features

- [`4618052`](eslint/eslint@4618052) feat: handle astral letters in `new-cap` ([#21357](eslint/eslint#21357)) (sary)
- [`4ec5168`](eslint/eslint@4ec5168) feat: allow `SourceCode#getText()` to accept tokens and comments ([#21340](eslint/eslint#21340)) (electrohyun)

#### Bug Fixes

- [`bc51eee`](eslint/eslint@bc51eee) fix: `prefer-arrow-callback` false positive in conditional test ([#21373](eslint/eslint#21373)) (Daniel Pinto)
- [`bbff86c`](eslint/eslint@bbff86c) fix: skip lines with multiple comments in `max-lines-per-function` ([#21332](eslint/eslint#21332)) (xbinaryx)
- [`efc4d6b`](eslint/eslint@efc4d6b) fix: astral letters in `consistent-return`, `no-eval`, `no-invalid-this` ([#21360](eslint/eslint#21360)) (lumir)
- [`93de066`](eslint/eslint@93de066) fix: prefer-exponentiation-operator autofix for async function base ([#21322](eslint/eslint#21322)) (Vladimir Babin)
- [`02e34ff`](eslint/eslint@02e34ff) fix: add missing space after `else` in `curly` autofix ([#21355](eslint/eslint#21355)) (Pixel)
- [`b14b8bc`](eslint/eslint@b14b8bc) fix: correct `id-length` message for long private names ([#21348](eslint/eslint#21348)) (Pixel)
- [`69aac01`](eslint/eslint@69aac01) fix: support `TSFunctionType` in `getFunctionHeadLoc` ([#21335](eslint/eslint#21335)) (xbinaryx)
- [`686630e`](eslint/eslint@686630e) fix: `no-loss-of-precision` false positive with `0.e5` ([#21337](eslint/eslint#21337)) (sethamus)

#### Documentation

- [`67eb586`](eslint/eslint@67eb586) docs: Update README (GitHub Actions Bot)
- [`5370d7e`](eslint/eslint@5370d7e) docs: clarify `one-var` `separateRequires` matches any `require()` call ([#21192](eslint/eslint#21192)) (sethamus)
- [`8816c1d`](eslint/eslint@8816c1d) docs: Update README (GitHub Actions Bot)
- [`3d2e7ce`](eslint/eslint@3d2e7ce) docs: fix typo in no-unused-expressions documentation ([#21346](eslint/eslint#21346)) (bytedoe)

#### Chores

- [`152067f`](eslint/eslint@152067f) chore: update ecosystem plugins ([#21362](eslint/eslint#21362)) (ESLint Bot)
- [`b56d58e`](eslint/eslint@b56d58e) chore: update github/codeql-action action to v4.38.2 ([#21376](eslint/eslint#21376)) (renovate\[bot])
- [`bfaea12`](eslint/eslint@bfaea12) perf: cache normalized config globals per languageOptions ([#21364](eslint/eslint#21364)) (James Ross)
- [`322209e`](eslint/eslint@322209e) ci: avoid Nx cache in ecosystem tests and disable failing test ([#21369](eslint/eslint#21369)) (Francesco Trotta)
- [`d166567`](eslint/eslint@d166567) chore: update dependency prettier to v3.9.9 ([#21371](eslint/eslint#21371)) (renovate\[bot])
- [`29585ce`](eslint/eslint@29585ce) chore: update dependency eslint-plugin-expect-type to ^0.7.0 ([#21359](eslint/eslint#21359)) (renovate\[bot])
- [`39d79ba`](eslint/eslint@39d79ba) chore: update github/codeql-action action to v4.38.1 ([#21354](eslint/eslint#21354)) (renovate\[bot])
- [`182a6e9`](eslint/eslint@182a6e9) chore: update dependency prettier to v3.9.8 ([#21352](eslint/eslint#21352)) (renovate\[bot])
- [`f995127`](eslint/eslint@f995127) chore: remove CLAUDE.md in favor of AGENTS.md ([#21339](eslint/eslint#21339)) (Jarren)
- [`b95fb6c`](eslint/eslint@b95fb6c) chore: update dependency prettier to v3.9.7 ([#21347](eslint/eslint#21347)) (renovate\[bot])
- [`3782dd4`](eslint/eslint@3782dd4) chore: update ecosystem plugins ([#21342](eslint/eslint#21342)) (ESLint Bot)
##### [v10.11.0](https://github.com/eslint/eslint/releases/tag/v10.11.0)

#### Features

- [`d136fa4`](eslint/eslint@d136fa4) feat: object-shorthand handle quoted properties for `ignoreConstructors` ([#21271](eslint/eslint#21271)) (Pavel)
- [`397b3b8`](eslint/eslint@397b3b8) feat: report unsafe labeled `continue` in `no-unsafe-finally` rule ([#21316](eslint/eslint#21316)) (electrohyun)
- [`d3dd47f`](eslint/eslint@d3dd47f) feat: only exempt `new-cap` built-ins that reference the global ([#21290](eslint/eslint#21290)) (sethamus)

#### Bug Fixes

- [`22b09f5`](eslint/eslint@22b09f5) fix: ignore `__proto__` properties in `prefer-object-spread` ([#21311](eslint/eslint#21311)) (xbinaryx)
- [`b684bb1`](eslint/eslint@b684bb1) fix: make TimePass.parse optional in types and docs ([#21313](eslint/eslint#21313)) (ntnyq)
- [`26d11bc`](eslint/eslint@26d11bc) fix: don't report `__proto__` properties in `object-shorthand` ([#21310](eslint/eslint#21310)) (xbinaryx)

#### Documentation

- [`9ecfdc5`](eslint/eslint@9ecfdc5) docs: note that --cache can serve stale results for cross-file rules ([#21312](eslint/eslint#21312)) (bytedoe)
- [`6c789ff`](eslint/eslint@6c789ff) docs: Update README (GitHub Actions Bot)
- [`5997825`](eslint/eslint@5997825) docs: clarify preserve-caught-error known limitation ([#21294](eslint/eslint#21294)) (Akinyemi Toluwalase)

#### Chores

- [`520dd77`](eslint/eslint@520dd77) perf: Implement fast paths in critical areas ([#21210](eslint/eslint#21210)) (Nicholas C. Zakas)
- [`92086c8`](eslint/eslint@92086c8) test: update `EMFILE` error generation for Node.js 26.9.0 compatibility ([#21330](eslint/eslint#21330)) (Francesco Trotta)
- [`9ac7eb6`](eslint/eslint@9ac7eb6) chore: update github/codeql-action action to v4.38.0 ([#21331](eslint/eslint#21331)) (renovate\[bot])
- [`24310e3`](eslint/eslint@24310e3) chore: update ecosystem plugins ([#21324](eslint/eslint#21324)) (ESLint Bot)
- [`45ad79e`](eslint/eslint@45ad79e) ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 ([#21318](eslint/eslint#21318)) (dependabot\[bot])
- [`ac74e37`](eslint/eslint@ac74e37) chore: Add AGENTS.md with AI disclosure requirements ([#21221](eslint/eslint#21221)) (Nicholas C. Zakas)
- [`c832660`](eslint/eslint@c832660) chore: Upgrade Stylelint to the latest version in docs ([#21245](eslint/eslint#21245)) (Jung Hyeon Jun)
- [`f9f88fc`](eslint/eslint@f9f88fc) chore: update ecosystem plugins ([#21308](eslint/eslint#21308)) (ESLint Bot)
- [`fc81076`](eslint/eslint@fc81076) ci: add more types integration tests ([#20395](eslint/eslint#20395)) (Nitin Kumar)
renovate Bot added a commit to cigaleapp/cigale that referenced this pull request Oct 12, 2026
##### [v10.12.0](https://github.com/eslint/eslint/releases/tag/v10.12.0)

#### Features

- [`4618052`](eslint/eslint@4618052) feat: handle astral letters in `new-cap` ([#21357](eslint/eslint#21357)) (sary)
- [`4ec5168`](eslint/eslint@4ec5168) feat: allow `SourceCode#getText()` to accept tokens and comments ([#21340](eslint/eslint#21340)) (electrohyun)

#### Bug Fixes

- [`bc51eee`](eslint/eslint@bc51eee) fix: `prefer-arrow-callback` false positive in conditional test ([#21373](eslint/eslint#21373)) (Daniel Pinto)
- [`bbff86c`](eslint/eslint@bbff86c) fix: skip lines with multiple comments in `max-lines-per-function` ([#21332](eslint/eslint#21332)) (xbinaryx)
- [`efc4d6b`](eslint/eslint@efc4d6b) fix: astral letters in `consistent-return`, `no-eval`, `no-invalid-this` ([#21360](eslint/eslint#21360)) (lumir)
- [`93de066`](eslint/eslint@93de066) fix: prefer-exponentiation-operator autofix for async function base ([#21322](eslint/eslint#21322)) (Vladimir Babin)
- [`02e34ff`](eslint/eslint@02e34ff) fix: add missing space after `else` in `curly` autofix ([#21355](eslint/eslint#21355)) (Pixel)
- [`b14b8bc`](eslint/eslint@b14b8bc) fix: correct `id-length` message for long private names ([#21348](eslint/eslint#21348)) (Pixel)
- [`69aac01`](eslint/eslint@69aac01) fix: support `TSFunctionType` in `getFunctionHeadLoc` ([#21335](eslint/eslint#21335)) (xbinaryx)
- [`686630e`](eslint/eslint@686630e) fix: `no-loss-of-precision` false positive with `0.e5` ([#21337](eslint/eslint#21337)) (sethamus)

#### Documentation

- [`67eb586`](eslint/eslint@67eb586) docs: Update README (GitHub Actions Bot)
- [`5370d7e`](eslint/eslint@5370d7e) docs: clarify `one-var` `separateRequires` matches any `require()` call ([#21192](eslint/eslint#21192)) (sethamus)
- [`8816c1d`](eslint/eslint@8816c1d) docs: Update README (GitHub Actions Bot)
- [`3d2e7ce`](eslint/eslint@3d2e7ce) docs: fix typo in no-unused-expressions documentation ([#21346](eslint/eslint#21346)) (bytedoe)

#### Chores

- [`152067f`](eslint/eslint@152067f) chore: update ecosystem plugins ([#21362](eslint/eslint#21362)) (ESLint Bot)
- [`b56d58e`](eslint/eslint@b56d58e) chore: update github/codeql-action action to v4.38.2 ([#21376](eslint/eslint#21376)) (renovate\[bot])
- [`bfaea12`](eslint/eslint@bfaea12) perf: cache normalized config globals per languageOptions ([#21364](eslint/eslint#21364)) (James Ross)
- [`322209e`](eslint/eslint@322209e) ci: avoid Nx cache in ecosystem tests and disable failing test ([#21369](eslint/eslint#21369)) (Francesco Trotta)
- [`d166567`](eslint/eslint@d166567) chore: update dependency prettier to v3.9.9 ([#21371](eslint/eslint#21371)) (renovate\[bot])
- [`29585ce`](eslint/eslint@29585ce) chore: update dependency eslint-plugin-expect-type to ^0.7.0 ([#21359](eslint/eslint#21359)) (renovate\[bot])
- [`39d79ba`](eslint/eslint@39d79ba) chore: update github/codeql-action action to v4.38.1 ([#21354](eslint/eslint#21354)) (renovate\[bot])
- [`182a6e9`](eslint/eslint@182a6e9) chore: update dependency prettier to v3.9.8 ([#21352](eslint/eslint#21352)) (renovate\[bot])
- [`f995127`](eslint/eslint@f995127) chore: remove CLAUDE.md in favor of AGENTS.md ([#21339](eslint/eslint#21339)) (Jarren)
- [`b95fb6c`](eslint/eslint@b95fb6c) chore: update dependency prettier to v3.9.7 ([#21347](eslint/eslint#21347)) (renovate\[bot])
- [`3782dd4`](eslint/eslint@3782dd4) chore: update ecosystem plugins ([#21342](eslint/eslint#21342)) (ESLint Bot)
##### [v10.11.0](https://github.com/eslint/eslint/releases/tag/v10.11.0)

#### Features

- [`d136fa4`](eslint/eslint@d136fa4) feat: object-shorthand handle quoted properties for `ignoreConstructors` ([#21271](eslint/eslint#21271)) (Pavel)
- [`397b3b8`](eslint/eslint@397b3b8) feat: report unsafe labeled `continue` in `no-unsafe-finally` rule ([#21316](eslint/eslint#21316)) (electrohyun)
- [`d3dd47f`](eslint/eslint@d3dd47f) feat: only exempt `new-cap` built-ins that reference the global ([#21290](eslint/eslint#21290)) (sethamus)

#### Bug Fixes

- [`22b09f5`](eslint/eslint@22b09f5) fix: ignore `__proto__` properties in `prefer-object-spread` ([#21311](eslint/eslint#21311)) (xbinaryx)
- [`b684bb1`](eslint/eslint@b684bb1) fix: make TimePass.parse optional in types and docs ([#21313](eslint/eslint#21313)) (ntnyq)
- [`26d11bc`](eslint/eslint@26d11bc) fix: don't report `__proto__` properties in `object-shorthand` ([#21310](eslint/eslint#21310)) (xbinaryx)

#### Documentation

- [`9ecfdc5`](eslint/eslint@9ecfdc5) docs: note that --cache can serve stale results for cross-file rules ([#21312](eslint/eslint#21312)) (bytedoe)
- [`6c789ff`](eslint/eslint@6c789ff) docs: Update README (GitHub Actions Bot)
- [`5997825`](eslint/eslint@5997825) docs: clarify preserve-caught-error known limitation ([#21294](eslint/eslint#21294)) (Akinyemi Toluwalase)

#### Chores

- [`520dd77`](eslint/eslint@520dd77) perf: Implement fast paths in critical areas ([#21210](eslint/eslint#21210)) (Nicholas C. Zakas)
- [`92086c8`](eslint/eslint@92086c8) test: update `EMFILE` error generation for Node.js 26.9.0 compatibility ([#21330](eslint/eslint#21330)) (Francesco Trotta)
- [`9ac7eb6`](eslint/eslint@9ac7eb6) chore: update github/codeql-action action to v4.38.0 ([#21331](eslint/eslint#21331)) (renovate\[bot])
- [`24310e3`](eslint/eslint@24310e3) chore: update ecosystem plugins ([#21324](eslint/eslint#21324)) (ESLint Bot)
- [`45ad79e`](eslint/eslint@45ad79e) ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 ([#21318](eslint/eslint#21318)) (dependabot\[bot])
- [`ac74e37`](eslint/eslint@ac74e37) chore: Add AGENTS.md with AI disclosure requirements ([#21221](eslint/eslint#21221)) (Nicholas C. Zakas)
- [`c832660`](eslint/eslint@c832660) chore: Upgrade Stylelint to the latest version in docs ([#21245](eslint/eslint#21245)) (Jung Hyeon Jun)
- [`f9f88fc`](eslint/eslint@f9f88fc) chore: update ecosystem plugins ([#21308](eslint/eslint#21308)) (ESLint Bot)
- [`fc81076`](eslint/eslint@fc81076) ci: add more types integration tests ([#20395](eslint/eslint#20395)) (Nitin Kumar)
renovate Bot added a commit to cigaleapp/cigale that referenced this pull request Oct 12, 2026
##### [v10.12.0](https://github.com/eslint/eslint/releases/tag/v10.12.0)

#### Features

- [`4618052`](eslint/eslint@4618052) feat: handle astral letters in `new-cap` ([#21357](eslint/eslint#21357)) (sary)
- [`4ec5168`](eslint/eslint@4ec5168) feat: allow `SourceCode#getText()` to accept tokens and comments ([#21340](eslint/eslint#21340)) (electrohyun)

#### Bug Fixes

- [`bc51eee`](eslint/eslint@bc51eee) fix: `prefer-arrow-callback` false positive in conditional test ([#21373](eslint/eslint#21373)) (Daniel Pinto)
- [`bbff86c`](eslint/eslint@bbff86c) fix: skip lines with multiple comments in `max-lines-per-function` ([#21332](eslint/eslint#21332)) (xbinaryx)
- [`efc4d6b`](eslint/eslint@efc4d6b) fix: astral letters in `consistent-return`, `no-eval`, `no-invalid-this` ([#21360](eslint/eslint#21360)) (lumir)
- [`93de066`](eslint/eslint@93de066) fix: prefer-exponentiation-operator autofix for async function base ([#21322](eslint/eslint#21322)) (Vladimir Babin)
- [`02e34ff`](eslint/eslint@02e34ff) fix: add missing space after `else` in `curly` autofix ([#21355](eslint/eslint#21355)) (Pixel)
- [`b14b8bc`](eslint/eslint@b14b8bc) fix: correct `id-length` message for long private names ([#21348](eslint/eslint#21348)) (Pixel)
- [`69aac01`](eslint/eslint@69aac01) fix: support `TSFunctionType` in `getFunctionHeadLoc` ([#21335](eslint/eslint#21335)) (xbinaryx)
- [`686630e`](eslint/eslint@686630e) fix: `no-loss-of-precision` false positive with `0.e5` ([#21337](eslint/eslint#21337)) (sethamus)

#### Documentation

- [`67eb586`](eslint/eslint@67eb586) docs: Update README (GitHub Actions Bot)
- [`5370d7e`](eslint/eslint@5370d7e) docs: clarify `one-var` `separateRequires` matches any `require()` call ([#21192](eslint/eslint#21192)) (sethamus)
- [`8816c1d`](eslint/eslint@8816c1d) docs: Update README (GitHub Actions Bot)
- [`3d2e7ce`](eslint/eslint@3d2e7ce) docs: fix typo in no-unused-expressions documentation ([#21346](eslint/eslint#21346)) (bytedoe)

#### Chores

- [`152067f`](eslint/eslint@152067f) chore: update ecosystem plugins ([#21362](eslint/eslint#21362)) (ESLint Bot)
- [`b56d58e`](eslint/eslint@b56d58e) chore: update github/codeql-action action to v4.38.2 ([#21376](eslint/eslint#21376)) (renovate\[bot])
- [`bfaea12`](eslint/eslint@bfaea12) perf: cache normalized config globals per languageOptions ([#21364](eslint/eslint#21364)) (James Ross)
- [`322209e`](eslint/eslint@322209e) ci: avoid Nx cache in ecosystem tests and disable failing test ([#21369](eslint/eslint#21369)) (Francesco Trotta)
- [`d166567`](eslint/eslint@d166567) chore: update dependency prettier to v3.9.9 ([#21371](eslint/eslint#21371)) (renovate\[bot])
- [`29585ce`](eslint/eslint@29585ce) chore: update dependency eslint-plugin-expect-type to ^0.7.0 ([#21359](eslint/eslint#21359)) (renovate\[bot])
- [`39d79ba`](eslint/eslint@39d79ba) chore: update github/codeql-action action to v4.38.1 ([#21354](eslint/eslint#21354)) (renovate\[bot])
- [`182a6e9`](eslint/eslint@182a6e9) chore: update dependency prettier to v3.9.8 ([#21352](eslint/eslint#21352)) (renovate\[bot])
- [`f995127`](eslint/eslint@f995127) chore: remove CLAUDE.md in favor of AGENTS.md ([#21339](eslint/eslint#21339)) (Jarren)
- [`b95fb6c`](eslint/eslint@b95fb6c) chore: update dependency prettier to v3.9.7 ([#21347](eslint/eslint#21347)) (renovate\[bot])
- [`3782dd4`](eslint/eslint@3782dd4) chore: update ecosystem plugins ([#21342](eslint/eslint#21342)) (ESLint Bot)
##### [v10.11.0](https://github.com/eslint/eslint/releases/tag/v10.11.0)

#### Features

- [`d136fa4`](eslint/eslint@d136fa4) feat: object-shorthand handle quoted properties for `ignoreConstructors` ([#21271](eslint/eslint#21271)) (Pavel)
- [`397b3b8`](eslint/eslint@397b3b8) feat: report unsafe labeled `continue` in `no-unsafe-finally` rule ([#21316](eslint/eslint#21316)) (electrohyun)
- [`d3dd47f`](eslint/eslint@d3dd47f) feat: only exempt `new-cap` built-ins that reference the global ([#21290](eslint/eslint#21290)) (sethamus)

#### Bug Fixes

- [`22b09f5`](eslint/eslint@22b09f5) fix: ignore `__proto__` properties in `prefer-object-spread` ([#21311](eslint/eslint#21311)) (xbinaryx)
- [`b684bb1`](eslint/eslint@b684bb1) fix: make TimePass.parse optional in types and docs ([#21313](eslint/eslint#21313)) (ntnyq)
- [`26d11bc`](eslint/eslint@26d11bc) fix: don't report `__proto__` properties in `object-shorthand` ([#21310](eslint/eslint#21310)) (xbinaryx)

#### Documentation

- [`9ecfdc5`](eslint/eslint@9ecfdc5) docs: note that --cache can serve stale results for cross-file rules ([#21312](eslint/eslint#21312)) (bytedoe)
- [`6c789ff`](eslint/eslint@6c789ff) docs: Update README (GitHub Actions Bot)
- [`5997825`](eslint/eslint@5997825) docs: clarify preserve-caught-error known limitation ([#21294](eslint/eslint#21294)) (Akinyemi Toluwalase)

#### Chores

- [`520dd77`](eslint/eslint@520dd77) perf: Implement fast paths in critical areas ([#21210](eslint/eslint#21210)) (Nicholas C. Zakas)
- [`92086c8`](eslint/eslint@92086c8) test: update `EMFILE` error generation for Node.js 26.9.0 compatibility ([#21330](eslint/eslint#21330)) (Francesco Trotta)
- [`9ac7eb6`](eslint/eslint@9ac7eb6) chore: update github/codeql-action action to v4.38.0 ([#21331](eslint/eslint#21331)) (renovate\[bot])
- [`24310e3`](eslint/eslint@24310e3) chore: update ecosystem plugins ([#21324](eslint/eslint#21324)) (ESLint Bot)
- [`45ad79e`](eslint/eslint@45ad79e) ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 ([#21318](eslint/eslint#21318)) (dependabot\[bot])
- [`ac74e37`](eslint/eslint@ac74e37) chore: Add AGENTS.md with AI disclosure requirements ([#21221](eslint/eslint#21221)) (Nicholas C. Zakas)
- [`c832660`](eslint/eslint@c832660) chore: Upgrade Stylelint to the latest version in docs ([#21245](eslint/eslint#21245)) (Jung Hyeon Jun)
- [`f9f88fc`](eslint/eslint@f9f88fc) chore: update ecosystem plugins ([#21308](eslint/eslint#21308)) (ESLint Bot)
- [`fc81076`](eslint/eslint@fc81076) ci: add more types integration tests ([#20395](eslint/eslint#20395)) (Nitin Kumar)
renovate Bot added a commit to cigaleapp/cigale that referenced this pull request Oct 12, 2026
##### [v10.12.0](https://github.com/eslint/eslint/releases/tag/v10.12.0)

#### Features

- [`4618052`](eslint/eslint@4618052) feat: handle astral letters in `new-cap` ([#21357](eslint/eslint#21357)) (sary)
- [`4ec5168`](eslint/eslint@4ec5168) feat: allow `SourceCode#getText()` to accept tokens and comments ([#21340](eslint/eslint#21340)) (electrohyun)

#### Bug Fixes

- [`bc51eee`](eslint/eslint@bc51eee) fix: `prefer-arrow-callback` false positive in conditional test ([#21373](eslint/eslint#21373)) (Daniel Pinto)
- [`bbff86c`](eslint/eslint@bbff86c) fix: skip lines with multiple comments in `max-lines-per-function` ([#21332](eslint/eslint#21332)) (xbinaryx)
- [`efc4d6b`](eslint/eslint@efc4d6b) fix: astral letters in `consistent-return`, `no-eval`, `no-invalid-this` ([#21360](eslint/eslint#21360)) (lumir)
- [`93de066`](eslint/eslint@93de066) fix: prefer-exponentiation-operator autofix for async function base ([#21322](eslint/eslint#21322)) (Vladimir Babin)
- [`02e34ff`](eslint/eslint@02e34ff) fix: add missing space after `else` in `curly` autofix ([#21355](eslint/eslint#21355)) (Pixel)
- [`b14b8bc`](eslint/eslint@b14b8bc) fix: correct `id-length` message for long private names ([#21348](eslint/eslint#21348)) (Pixel)
- [`69aac01`](eslint/eslint@69aac01) fix: support `TSFunctionType` in `getFunctionHeadLoc` ([#21335](eslint/eslint#21335)) (xbinaryx)
- [`686630e`](eslint/eslint@686630e) fix: `no-loss-of-precision` false positive with `0.e5` ([#21337](eslint/eslint#21337)) (sethamus)

#### Documentation

- [`67eb586`](eslint/eslint@67eb586) docs: Update README (GitHub Actions Bot)
- [`5370d7e`](eslint/eslint@5370d7e) docs: clarify `one-var` `separateRequires` matches any `require()` call ([#21192](eslint/eslint#21192)) (sethamus)
- [`8816c1d`](eslint/eslint@8816c1d) docs: Update README (GitHub Actions Bot)
- [`3d2e7ce`](eslint/eslint@3d2e7ce) docs: fix typo in no-unused-expressions documentation ([#21346](eslint/eslint#21346)) (bytedoe)

#### Chores

- [`152067f`](eslint/eslint@152067f) chore: update ecosystem plugins ([#21362](eslint/eslint#21362)) (ESLint Bot)
- [`b56d58e`](eslint/eslint@b56d58e) chore: update github/codeql-action action to v4.38.2 ([#21376](eslint/eslint#21376)) (renovate\[bot])
- [`bfaea12`](eslint/eslint@bfaea12) perf: cache normalized config globals per languageOptions ([#21364](eslint/eslint#21364)) (James Ross)
- [`322209e`](eslint/eslint@322209e) ci: avoid Nx cache in ecosystem tests and disable failing test ([#21369](eslint/eslint#21369)) (Francesco Trotta)
- [`d166567`](eslint/eslint@d166567) chore: update dependency prettier to v3.9.9 ([#21371](eslint/eslint#21371)) (renovate\[bot])
- [`29585ce`](eslint/eslint@29585ce) chore: update dependency eslint-plugin-expect-type to ^0.7.0 ([#21359](eslint/eslint#21359)) (renovate\[bot])
- [`39d79ba`](eslint/eslint@39d79ba) chore: update github/codeql-action action to v4.38.1 ([#21354](eslint/eslint#21354)) (renovate\[bot])
- [`182a6e9`](eslint/eslint@182a6e9) chore: update dependency prettier to v3.9.8 ([#21352](eslint/eslint#21352)) (renovate\[bot])
- [`f995127`](eslint/eslint@f995127) chore: remove CLAUDE.md in favor of AGENTS.md ([#21339](eslint/eslint#21339)) (Jarren)
- [`b95fb6c`](eslint/eslint@b95fb6c) chore: update dependency prettier to v3.9.7 ([#21347](eslint/eslint#21347)) (renovate\[bot])
- [`3782dd4`](eslint/eslint@3782dd4) chore: update ecosystem plugins ([#21342](eslint/eslint#21342)) (ESLint Bot)
##### [v10.11.0](https://github.com/eslint/eslint/releases/tag/v10.11.0)

#### Features

- [`d136fa4`](eslint/eslint@d136fa4) feat: object-shorthand handle quoted properties for `ignoreConstructors` ([#21271](eslint/eslint#21271)) (Pavel)
- [`397b3b8`](eslint/eslint@397b3b8) feat: report unsafe labeled `continue` in `no-unsafe-finally` rule ([#21316](eslint/eslint#21316)) (electrohyun)
- [`d3dd47f`](eslint/eslint@d3dd47f) feat: only exempt `new-cap` built-ins that reference the global ([#21290](eslint/eslint#21290)) (sethamus)

#### Bug Fixes

- [`22b09f5`](eslint/eslint@22b09f5) fix: ignore `__proto__` properties in `prefer-object-spread` ([#21311](eslint/eslint#21311)) (xbinaryx)
- [`b684bb1`](eslint/eslint@b684bb1) fix: make TimePass.parse optional in types and docs ([#21313](eslint/eslint#21313)) (ntnyq)
- [`26d11bc`](eslint/eslint@26d11bc) fix: don't report `__proto__` properties in `object-shorthand` ([#21310](eslint/eslint#21310)) (xbinaryx)

#### Documentation

- [`9ecfdc5`](eslint/eslint@9ecfdc5) docs: note that --cache can serve stale results for cross-file rules ([#21312](eslint/eslint#21312)) (bytedoe)
- [`6c789ff`](eslint/eslint@6c789ff) docs: Update README (GitHub Actions Bot)
- [`5997825`](eslint/eslint@5997825) docs: clarify preserve-caught-error known limitation ([#21294](eslint/eslint#21294)) (Akinyemi Toluwalase)

#### Chores

- [`520dd77`](eslint/eslint@520dd77) perf: Implement fast paths in critical areas ([#21210](eslint/eslint#21210)) (Nicholas C. Zakas)
- [`92086c8`](eslint/eslint@92086c8) test: update `EMFILE` error generation for Node.js 26.9.0 compatibility ([#21330](eslint/eslint#21330)) (Francesco Trotta)
- [`9ac7eb6`](eslint/eslint@9ac7eb6) chore: update github/codeql-action action to v4.38.0 ([#21331](eslint/eslint#21331)) (renovate\[bot])
- [`24310e3`](eslint/eslint@24310e3) chore: update ecosystem plugins ([#21324](eslint/eslint#21324)) (ESLint Bot)
- [`45ad79e`](eslint/eslint@45ad79e) ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 ([#21318](eslint/eslint#21318)) (dependabot\[bot])
- [`ac74e37`](eslint/eslint@ac74e37) chore: Add AGENTS.md with AI disclosure requirements ([#21221](eslint/eslint#21221)) (Nicholas C. Zakas)
- [`c832660`](eslint/eslint@c832660) chore: Upgrade Stylelint to the latest version in docs ([#21245](eslint/eslint#21245)) (Jung Hyeon Jun)
- [`f9f88fc`](eslint/eslint@f9f88fc) chore: update ecosystem plugins ([#21308](eslint/eslint#21308)) (ESLint Bot)
- [`fc81076`](eslint/eslint@fc81076) ci: add more types integration tests ([#20395](eslint/eslint#20395)) (Nitin Kumar)
gwennlbh pushed a commit to cigaleapp/cigale that referenced this pull request Oct 12, 2026
##### [v10.12.0](https://github.com/eslint/eslint/releases/tag/v10.12.0)

#### Features

- [`4618052`](eslint/eslint@4618052) feat: handle astral letters in `new-cap` ([#21357](eslint/eslint#21357)) (sary)
- [`4ec5168`](eslint/eslint@4ec5168) feat: allow `SourceCode#getText()` to accept tokens and comments ([#21340](eslint/eslint#21340)) (electrohyun)

#### Bug Fixes

- [`bc51eee`](eslint/eslint@bc51eee) fix: `prefer-arrow-callback` false positive in conditional test ([#21373](eslint/eslint#21373)) (Daniel Pinto)
- [`bbff86c`](eslint/eslint@bbff86c) fix: skip lines with multiple comments in `max-lines-per-function` ([#21332](eslint/eslint#21332)) (xbinaryx)
- [`efc4d6b`](eslint/eslint@efc4d6b) fix: astral letters in `consistent-return`, `no-eval`, `no-invalid-this` ([#21360](eslint/eslint#21360)) (lumir)
- [`93de066`](eslint/eslint@93de066) fix: prefer-exponentiation-operator autofix for async function base ([#21322](eslint/eslint#21322)) (Vladimir Babin)
- [`02e34ff`](eslint/eslint@02e34ff) fix: add missing space after `else` in `curly` autofix ([#21355](eslint/eslint#21355)) (Pixel)
- [`b14b8bc`](eslint/eslint@b14b8bc) fix: correct `id-length` message for long private names ([#21348](eslint/eslint#21348)) (Pixel)
- [`69aac01`](eslint/eslint@69aac01) fix: support `TSFunctionType` in `getFunctionHeadLoc` ([#21335](eslint/eslint#21335)) (xbinaryx)
- [`686630e`](eslint/eslint@686630e) fix: `no-loss-of-precision` false positive with `0.e5` ([#21337](eslint/eslint#21337)) (sethamus)

#### Documentation

- [`67eb586`](eslint/eslint@67eb586) docs: Update README (GitHub Actions Bot)
- [`5370d7e`](eslint/eslint@5370d7e) docs: clarify `one-var` `separateRequires` matches any `require()` call ([#21192](eslint/eslint#21192)) (sethamus)
- [`8816c1d`](eslint/eslint@8816c1d) docs: Update README (GitHub Actions Bot)
- [`3d2e7ce`](eslint/eslint@3d2e7ce) docs: fix typo in no-unused-expressions documentation ([#21346](eslint/eslint#21346)) (bytedoe)

#### Chores

- [`152067f`](eslint/eslint@152067f) chore: update ecosystem plugins ([#21362](eslint/eslint#21362)) (ESLint Bot)
- [`b56d58e`](eslint/eslint@b56d58e) chore: update github/codeql-action action to v4.38.2 ([#21376](eslint/eslint#21376)) (renovate\[bot])
- [`bfaea12`](eslint/eslint@bfaea12) perf: cache normalized config globals per languageOptions ([#21364](eslint/eslint#21364)) (James Ross)
- [`322209e`](eslint/eslint@322209e) ci: avoid Nx cache in ecosystem tests and disable failing test ([#21369](eslint/eslint#21369)) (Francesco Trotta)
- [`d166567`](eslint/eslint@d166567) chore: update dependency prettier to v3.9.9 ([#21371](eslint/eslint#21371)) (renovate\[bot])
- [`29585ce`](eslint/eslint@29585ce) chore: update dependency eslint-plugin-expect-type to ^0.7.0 ([#21359](eslint/eslint#21359)) (renovate\[bot])
- [`39d79ba`](eslint/eslint@39d79ba) chore: update github/codeql-action action to v4.38.1 ([#21354](eslint/eslint#21354)) (renovate\[bot])
- [`182a6e9`](eslint/eslint@182a6e9) chore: update dependency prettier to v3.9.8 ([#21352](eslint/eslint#21352)) (renovate\[bot])
- [`f995127`](eslint/eslint@f995127) chore: remove CLAUDE.md in favor of AGENTS.md ([#21339](eslint/eslint#21339)) (Jarren)
- [`b95fb6c`](eslint/eslint@b95fb6c) chore: update dependency prettier to v3.9.7 ([#21347](eslint/eslint#21347)) (renovate\[bot])
- [`3782dd4`](eslint/eslint@3782dd4) chore: update ecosystem plugins ([#21342](eslint/eslint#21342)) (ESLint Bot)
##### [v10.11.0](https://github.com/eslint/eslint/releases/tag/v10.11.0)

#### Features

- [`d136fa4`](eslint/eslint@d136fa4) feat: object-shorthand handle quoted properties for `ignoreConstructors` ([#21271](eslint/eslint#21271)) (Pavel)
- [`397b3b8`](eslint/eslint@397b3b8) feat: report unsafe labeled `continue` in `no-unsafe-finally` rule ([#21316](eslint/eslint#21316)) (electrohyun)
- [`d3dd47f`](eslint/eslint@d3dd47f) feat: only exempt `new-cap` built-ins that reference the global ([#21290](eslint/eslint#21290)) (sethamus)

#### Bug Fixes

- [`22b09f5`](eslint/eslint@22b09f5) fix: ignore `__proto__` properties in `prefer-object-spread` ([#21311](eslint/eslint#21311)) (xbinaryx)
- [`b684bb1`](eslint/eslint@b684bb1) fix: make TimePass.parse optional in types and docs ([#21313](eslint/eslint#21313)) (ntnyq)
- [`26d11bc`](eslint/eslint@26d11bc) fix: don't report `__proto__` properties in `object-shorthand` ([#21310](eslint/eslint#21310)) (xbinaryx)

#### Documentation

- [`9ecfdc5`](eslint/eslint@9ecfdc5) docs: note that --cache can serve stale results for cross-file rules ([#21312](eslint/eslint#21312)) (bytedoe)
- [`6c789ff`](eslint/eslint@6c789ff) docs: Update README (GitHub Actions Bot)
- [`5997825`](eslint/eslint@5997825) docs: clarify preserve-caught-error known limitation ([#21294](eslint/eslint#21294)) (Akinyemi Toluwalase)

#### Chores

- [`520dd77`](eslint/eslint@520dd77) perf: Implement fast paths in critical areas ([#21210](eslint/eslint#21210)) (Nicholas C. Zakas)
- [`92086c8`](eslint/eslint@92086c8) test: update `EMFILE` error generation for Node.js 26.9.0 compatibility ([#21330](eslint/eslint#21330)) (Francesco Trotta)
- [`9ac7eb6`](eslint/eslint@9ac7eb6) chore: update github/codeql-action action to v4.38.0 ([#21331](eslint/eslint#21331)) (renovate\[bot])
- [`24310e3`](eslint/eslint@24310e3) chore: update ecosystem plugins ([#21324](eslint/eslint#21324)) (ESLint Bot)
- [`45ad79e`](eslint/eslint@45ad79e) ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 ([#21318](eslint/eslint#21318)) (dependabot\[bot])
- [`ac74e37`](eslint/eslint@ac74e37) chore: Add AGENTS.md with AI disclosure requirements ([#21221](eslint/eslint#21221)) (Nicholas C. Zakas)
- [`c832660`](eslint/eslint@c832660) chore: Upgrade Stylelint to the latest version in docs ([#21245](eslint/eslint#21245)) (Jung Hyeon Jun)
- [`f9f88fc`](eslint/eslint@f9f88fc) chore: update ecosystem plugins ([#21308](eslint/eslint#21308)) (ESLint Bot)
- [`fc81076`](eslint/eslint@fc81076) ci: add more types integration tests ([#20395](eslint/eslint#20395)) (Nitin Kumar)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate Bot added a commit to cigaleapp/cigale that referenced this pull request Oct 12, 2026
##### [v10.12.0](https://github.com/eslint/eslint/releases/tag/v10.12.0)

#### Features

- [`4618052`](eslint/eslint@4618052) feat: handle astral letters in `new-cap` ([#21357](eslint/eslint#21357)) (sary)
- [`4ec5168`](eslint/eslint@4ec5168) feat: allow `SourceCode#getText()` to accept tokens and comments ([#21340](eslint/eslint#21340)) (electrohyun)

#### Bug Fixes

- [`bc51eee`](eslint/eslint@bc51eee) fix: `prefer-arrow-callback` false positive in conditional test ([#21373](eslint/eslint#21373)) (Daniel Pinto)
- [`bbff86c`](eslint/eslint@bbff86c) fix: skip lines with multiple comments in `max-lines-per-function` ([#21332](eslint/eslint#21332)) (xbinaryx)
- [`efc4d6b`](eslint/eslint@efc4d6b) fix: astral letters in `consistent-return`, `no-eval`, `no-invalid-this` ([#21360](eslint/eslint#21360)) (lumir)
- [`93de066`](eslint/eslint@93de066) fix: prefer-exponentiation-operator autofix for async function base ([#21322](eslint/eslint#21322)) (Vladimir Babin)
- [`02e34ff`](eslint/eslint@02e34ff) fix: add missing space after `else` in `curly` autofix ([#21355](eslint/eslint#21355)) (Pixel)
- [`b14b8bc`](eslint/eslint@b14b8bc) fix: correct `id-length` message for long private names ([#21348](eslint/eslint#21348)) (Pixel)
- [`69aac01`](eslint/eslint@69aac01) fix: support `TSFunctionType` in `getFunctionHeadLoc` ([#21335](eslint/eslint#21335)) (xbinaryx)
- [`686630e`](eslint/eslint@686630e) fix: `no-loss-of-precision` false positive with `0.e5` ([#21337](eslint/eslint#21337)) (sethamus)

#### Documentation

- [`67eb586`](eslint/eslint@67eb586) docs: Update README (GitHub Actions Bot)
- [`5370d7e`](eslint/eslint@5370d7e) docs: clarify `one-var` `separateRequires` matches any `require()` call ([#21192](eslint/eslint#21192)) (sethamus)
- [`8816c1d`](eslint/eslint@8816c1d) docs: Update README (GitHub Actions Bot)
- [`3d2e7ce`](eslint/eslint@3d2e7ce) docs: fix typo in no-unused-expressions documentation ([#21346](eslint/eslint#21346)) (bytedoe)

#### Chores

- [`152067f`](eslint/eslint@152067f) chore: update ecosystem plugins ([#21362](eslint/eslint#21362)) (ESLint Bot)
- [`b56d58e`](eslint/eslint@b56d58e) chore: update github/codeql-action action to v4.38.2 ([#21376](eslint/eslint#21376)) (renovate\[bot])
- [`bfaea12`](eslint/eslint@bfaea12) perf: cache normalized config globals per languageOptions ([#21364](eslint/eslint#21364)) (James Ross)
- [`322209e`](eslint/eslint@322209e) ci: avoid Nx cache in ecosystem tests and disable failing test ([#21369](eslint/eslint#21369)) (Francesco Trotta)
- [`d166567`](eslint/eslint@d166567) chore: update dependency prettier to v3.9.9 ([#21371](eslint/eslint#21371)) (renovate\[bot])
- [`29585ce`](eslint/eslint@29585ce) chore: update dependency eslint-plugin-expect-type to ^0.7.0 ([#21359](eslint/eslint#21359)) (renovate\[bot])
- [`39d79ba`](eslint/eslint@39d79ba) chore: update github/codeql-action action to v4.38.1 ([#21354](eslint/eslint#21354)) (renovate\[bot])
- [`182a6e9`](eslint/eslint@182a6e9) chore: update dependency prettier to v3.9.8 ([#21352](eslint/eslint#21352)) (renovate\[bot])
- [`f995127`](eslint/eslint@f995127) chore: remove CLAUDE.md in favor of AGENTS.md ([#21339](eslint/eslint#21339)) (Jarren)
- [`b95fb6c`](eslint/eslint@b95fb6c) chore: update dependency prettier to v3.9.7 ([#21347](eslint/eslint#21347)) (renovate\[bot])
- [`3782dd4`](eslint/eslint@3782dd4) chore: update ecosystem plugins ([#21342](eslint/eslint#21342)) (ESLint Bot)
##### [v10.11.0](https://github.com/eslint/eslint/releases/tag/v10.11.0)

#### Features

- [`d136fa4`](eslint/eslint@d136fa4) feat: object-shorthand handle quoted properties for `ignoreConstructors` ([#21271](eslint/eslint#21271)) (Pavel)
- [`397b3b8`](eslint/eslint@397b3b8) feat: report unsafe labeled `continue` in `no-unsafe-finally` rule ([#21316](eslint/eslint#21316)) (electrohyun)
- [`d3dd47f`](eslint/eslint@d3dd47f) feat: only exempt `new-cap` built-ins that reference the global ([#21290](eslint/eslint#21290)) (sethamus)

#### Bug Fixes

- [`22b09f5`](eslint/eslint@22b09f5) fix: ignore `__proto__` properties in `prefer-object-spread` ([#21311](eslint/eslint#21311)) (xbinaryx)
- [`b684bb1`](eslint/eslint@b684bb1) fix: make TimePass.parse optional in types and docs ([#21313](eslint/eslint#21313)) (ntnyq)
- [`26d11bc`](eslint/eslint@26d11bc) fix: don't report `__proto__` properties in `object-shorthand` ([#21310](eslint/eslint#21310)) (xbinaryx)

#### Documentation

- [`9ecfdc5`](eslint/eslint@9ecfdc5) docs: note that --cache can serve stale results for cross-file rules ([#21312](eslint/eslint#21312)) (bytedoe)
- [`6c789ff`](eslint/eslint@6c789ff) docs: Update README (GitHub Actions Bot)
- [`5997825`](eslint/eslint@5997825) docs: clarify preserve-caught-error known limitation ([#21294](eslint/eslint#21294)) (Akinyemi Toluwalase)

#### Chores

- [`520dd77`](eslint/eslint@520dd77) perf: Implement fast paths in critical areas ([#21210](eslint/eslint#21210)) (Nicholas C. Zakas)
- [`92086c8`](eslint/eslint@92086c8) test: update `EMFILE` error generation for Node.js 26.9.0 compatibility ([#21330](eslint/eslint#21330)) (Francesco Trotta)
- [`9ac7eb6`](eslint/eslint@9ac7eb6) chore: update github/codeql-action action to v4.38.0 ([#21331](eslint/eslint#21331)) (renovate\[bot])
- [`24310e3`](eslint/eslint@24310e3) chore: update ecosystem plugins ([#21324](eslint/eslint#21324)) (ESLint Bot)
- [`45ad79e`](eslint/eslint@45ad79e) ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 ([#21318](eslint/eslint#21318)) (dependabot\[bot])
- [`ac74e37`](eslint/eslint@ac74e37) chore: Add AGENTS.md with AI disclosure requirements ([#21221](eslint/eslint#21221)) (Nicholas C. Zakas)
- [`c832660`](eslint/eslint@c832660) chore: Upgrade Stylelint to the latest version in docs ([#21245](eslint/eslint#21245)) (Jung Hyeon Jun)
- [`f9f88fc`](eslint/eslint@f9f88fc) chore: update ecosystem plugins ([#21308](eslint/eslint#21308)) (ESLint Bot)
- [`fc81076`](eslint/eslint@fc81076) ci: add more types integration tests ([#20395](eslint/eslint#20395)) (Nitin Kumar)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

accepted There is consensus among the team that this change meets the criteria for inclusion 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.

Rule Change: new-cap should only exempt built-in names that reference the global

3 participants