-
-
Notifications
You must be signed in to change notification settings - Fork 4.9k
feat: add preserve-caught-error rule
#19913
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: add preserve-caught-error rule
#19913
Conversation
✅ Deploy Preview for docs-eslint canceled.
|
|
Not sure why, I am getting CI issues with my Although I see MDN links being used in docs of some existing rules: |
f15c629 to
ee5a39c
Compare
fasttime
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the pull request. Can you also add a type definition for the new rule to lib/types/rules.d.ts? This is a good example:
Lines 2447 to 2453 in bb370b8
| "no-extend-native": Linter.RuleEntry< | |
| [ | |
| Partial<{ | |
| exceptions: string[]; | |
| }>, | |
| ] | |
| >; |
After that, you can run node tools/update-rule-type-headers.js locally to autogenerate the TSDoc comment from the rule metadata.
|
@fasttime Thanks for your help! As per you review, I have:
All CI checks are passing and the branch is up-to-date with upstream main. Please let me know if you see any more issues! |
|
I've also marked this rule as |
JoshuaKGoldberg
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A lovely start! fasttime left some very good review comments around ESLint's infrastructure that I don't have a lot to add to. I also have some separate suggestions around the options and default behavior. Cheers!
lib/rules/preserve-caught-error.js
Outdated
| properties: { | ||
| customErrorTypes: { | ||
| type: "array", | ||
| items: { type: "string" }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
😄 #16540 is relevant in core, at long last!
The problem with an array of plain strings is that it's easy for users to accidentally use unrelated names that coincidentally match the strings. The strings just encode the raw name, not any other metadata such as location / package the targeted construct comes from.
For example, suppose a project has a SafeError class:
// src/utils/SafeError.js
export class SafeError extends Error { /* ... */ }It might configure the rule like:
"preserve-caught-errors": ["error", { customErrorTypes: ["SafeError"] }]If a file happens to create its own SafeError, then oops, the rule won't report:
class SafeError { /* ... */ }
export function doSomethingDangerous() {
// ...
try {
// ...
} catch (error) {
throw new SafeError(error);
}
}If this option were a must-have for the rule, I would ask that we talk about adopting some kind of standard locator format - e.g. typescript-eslint's TypeOrValueSpecifier. But per my comment later in the file, I think we can omit this option for now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't feel strongly about this. @nzakas what do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's remove it for now. We can always revisit later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good, I've removed the option for now.
We can revisit when we have something like TypeOrValueSpecifier implemented in core. @JoshuaKGoldberg Do we have an issue filed for it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not that I know of. I'm also not confident it would make sense in core, since core doesn't have any concept of types.
lib/rules/preserve-caught-error.js
Outdated
| return ( | ||
| throwStatement.argument.type === "NewExpression" && | ||
| throwStatement.argument.callee.type === "Identifier" && | ||
| allErrorTypes.has(throwStatement.argument.callee.name) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[Bug] Speaking of shared helpers, there's no way for a core ESLint rule like this one to know what type a helper function throws:
"preserve-caught-errors": ["error", { customErrorTypes: ["SafeError"] }]declare function throwSafeError(cause: Error): SafeError;
try {
// ...
} catch (error) {
throwSafeError(error);
}See also my earlier comment on standalone strings not being ideal for these options.
Proposal: I think it'd be best to omit the customErrorTypes logic for now. Instead, I think the rule should err on the side of permissiveness. If the catch block passes its caught error as an argument to any call or new expression, the rule should consider the caught error as used.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the
catchblock passes its caught error as an argument to any call or new expression, the rule should consider the caught error as used.
I like this idea. 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also like this idea as this allows us to cover all types of cases in a generic way.
But, a couple of thoughts:
- Going with the above approach would mean cases like the following would be considered valid even though we're losing error context there. In other words, this would solve one problem (helper functions) but break the rule for multiple other important cases.
try {
doSomething();
} catch (err) {
if (err.code === "A") {
throw new Error("Type A", { cause: err });
}
throw new TypeError("Fallback error");
}- I recently switched my approach to start with
ThrowStatementlisteners and track parentCatchClause, as it allows reaching every throw statement without dealing with searching tonnes of possible JavaScript constructs as discussed in feat: addpreserve-caught-errorrule #19913 (comment). So in order to answer the question - "If the caught error has been used at least once", we'll still have to do the manual search which we were trying to avoid. (Maybe there is a better way I can't think of)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Proposal: I think it'd be best to omit the
customErrorTypeslogic for now. Instead, I think the rule should err on the side of permissiveness. If thecatchblock passes its caught error as an argument to any call or new expression, the rule should consider the caught error as used.
By this logic, we wouldn't be able to check the error type to make sure it allows the cause option to be specified. Many custom errors, like Node.js' AssertionError, don't provide a way to specify a cause, and there is no point in reporting a violation if such an error is created without including the caught error. I think it's better to restrict the rule on reporting specific error types only.
try { doSomething(); } catch (err) { if (err.code === "A") { throw new Error("Type A", { cause: err }); } throw new TypeError("Fallback error"); }
I think the above code should be invalid because the thrown TypeError has no cause option.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the sake of simplicity and getting a first version of this rule, let's keep it simple and just error for the built-in error types. I agree with @fasttime that throw new TypeError("Fallback error") should be flagged as invalid.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree, this should work in the current state then. We can ignore helper functions for now.
|
@fasttime @JoshuaKGoldberg Thanks for the detailed reviews! I have made the following changes:
@JoshuaKGoldberg I've left some ideas on your comment. Please let me know what you think! PS: Adding this rule to |
|
Ok, I've made some changes to handle another case for throws that use a function's return value. It makes sure that such function accept the caught error as one of it's arguments. Added the following test cases. Valid: `try {
doSomething();
} catch (err) {
// passing the caught error directly
throw createExtraneousResultsError("test", err);
}`,
`try {
doSomething();
} catch (err) {
// passing the caught error as a property in an object
throw createExtraneousResultsError("test", { err });
}`,
`try {
doSomething();
} catch (err) {
// caught error passed with explicit property name
throw createExtraneousResultsError("test", { error: err });
}`,Invalid: /* 14. Throw uses a function's return value, but the function does not use the `cause` to construct an error. */
{
code: `try {
doSomething();
} catch (err) {
throw createExtraneousResultsError("Something went wrong");
}`,
errors: [
{
messageId: "missingCauseInFunction",
},
],
},CI is green again, and I've rebased this on upstream |
f4dbd84 to
3b40bf8
Compare
| { | ||
| code: `try { | ||
| doSomething(); | ||
| } catch (err) { | ||
| throw createExtraneousResultsError("Something went wrong"); | ||
| }`, | ||
| errors: [ | ||
| { | ||
| messageId: "missingCauseInFunction", | ||
| }, | ||
| ], | ||
| }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this case should be considered valid because createExtraneousResultsError could return a different error type than those of built-in errors. When not sure, it's better not to report possible false positives.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Regardless of the error type, err is never referenced, so it seems like it should be invalid?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The main problem is that not all errors support a cause. For example, in this code, the suggestion of using the caught error as a cause doesn't apply:
import { AssertionError } from "node:assert";
function createAssertionError(message) {
return new AssertionError({ message });
}
try {
testSomething();
} catch (error) {
throw createAssertionError("Test failed");
}DOMException is another example of a common error that doesn't support a cause, as is SuppressedError (a built-in global as of ES2026).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Understood. My point is that if error is present, then I think it must be used to avoid a violation. This code could just as easily be rewritten as:
import { AssertionError } from "node:assert";
function createAssertionError(message) {
return new AssertionError({ message });
}
try {
testSomething();
} catch {
throw createAssertionError("Test failed");
}In this case, it's clear the intent is to ignore the thrown error.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, I see. Sorry for the misunderstanding. Here's another example that should be clearer:
import { AssertionError } from "node:assert";
function createAssertionError(message) {
return new AssertionError({ message });
}
try {
testSomething();
} catch (error) {
if (error.code !== "ENOENT") {
throw createAssertionError("Test failed");
}
}In this case the error error is caught and used, but it seems legitimate not to reference it in the call expression in the throw statement.
If an error is caught but not used, like in my example in #19913 (comment), then the no-unused-vars should report it already (Playground link), so I think it's okay not to handle that case additionally in this rule.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right so in the current implementation:
- If there are no throws inside a catch block, that is a valid case.
- If there is a throw and it does not use the cause error, that's an invalid case. This could be a function or a direct instantiation of an Error. If the function creates an error that does not support
causeproperty, the rule could be disabled for that line. - If the
causeproperty is used, but it is not same as caught error, that's an invalid case. - If there are throw statements, and the caught error is not being accessed, that's an invalid case.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense generally, but I'm not sure if it's a good idea to report on generic function or constructor calls. That means users will have to use a disable comment each time an error that doesn't support a cause is thrown in a catch block. If we want to enable the rule on arbitrary error types besides built-in errors, I think it would be better to use an inclusion/exclusion list to allow exceptions for certain error types with a central setting.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed, I've reverted the commit that started reporting cases where function return objects were thrown.
Regarding the inclusion/exclusion list, I did introduce a customErrorTypes option to pass the names of all Error types to be checked, but @JoshuaKGoldberg suggests that strings are not a reliable way to pass types, so I've reverted that for now.
#19913 (comment)
d4231db to
6986a62
Compare
| @@ -0,0 +1,307 @@ | |||
| /** | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right now we report the following which is a false positive:
try {
// ...
} catch (err) {
const opts = { cause: err }
throw new Error("msg", { ...opts }); // Error: There is no `cause` attached to the symptom error being thrown
// or throw new Error("msg", opts)
}I think in such cases we can just ignore the node instead of reporting a false positive, because it might be a lot of work to detect if the object referred has a cause property or not.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, thanks for noticing! I did some work to detect all types of options argument including Identifiers, SpreadElements, and ObjectExpressions, but it's too complicated to auto-fix such cases even if detecting is manageable.
So I dropped the idea and started ignoring such cases. I am using a custom UNKNOWN_CAUSE Symbol to communicate such cases across the functions.
|
I've done some work to:
Also added test cases for the above. |
* Write documentation for `preserve-caught-error` rule * Remove unsupported headings from docs * Setup initial unit test cases * Implement `preserve-caught-error` rule * Update messageIds in tests * Fix incorrect message id in one of the tests * Handle multiple throw statements and mandate looking at the caught error * Allow passing an option for custom error types * Remove unnecessary comments * Add another invalid case to docs * Remove MDN link from `further_reading` in docs * Add "Options" section to docs * Fix incorrect formatting * Do not use bare urls in docs * Add `proposal-error-cause` to `further_reading` * Add further reading links metadata * Improve error message for when further links metadata is missing * Add type definition for `preserve-caught-error` * Auto-generate tsdoc comment * Mark `preserve-caught-error` as recommended * Add `preserve-caught-error` to recommended config * Update rule tsdoc * Only use file path in further reading links error message * Only enable the rule in `eslint-plugin-eslint` for now * Fix edge cases and add tests * Fix formatting * Pretty format test cases with consistent indents between `code` and `output` * Get rid of manual throw statement search * Add back lost comment * Remove `customErrorTypes` option for now * Fix issues caught by `preserve-caught-error` * Require function calls with throws to use the caught error * Fix `createExtraneousResultsError` to accept a `cause` error * Add error creating functions case to docs * Handle autofix case where there is no message argument * Fix formatting * Handle `AggregateError` arg positioning exception * Fix `AggregateError` suggestion * Fix AggregateError test case * Revert "Require function calls with throws to use the caught error" This reverts commit afbda4f. * Add rule configuration comments to examples * Do not report/analyze complex error options * Preserve existing options when adding cause using fixer * Add test cases to avoid false positives, and existing options preservation * Fix formatting * Remove error factory case from docs * Update docs based on reviews * Don't report cases where throw is not related to caught error * Add `disallowUncaughtErrors` option and autofix for discarded errors * Fix rule type * Rename `disallowUncaughtErrors` to `requireCatchParameter` * Update the docs and use triple-colon fences * Improve examples in docs * Fix custom error false positives and unrelated-error fixer * Update TODO comment to limitation * Start reporting partially lost caught error * Report cases where caught error is shadowed by local declarations * Do not provide a suggestion on partially lost error * Do not provide suggestion when caught error is not referenced * Highlight throw statements individually when catch param is missing * Ignore cases with `SpreadElement` constructor arguments * Make sure existing comments are preserved with suggested fixes * Cleanup and follow up fixes * Handle value and method shorthand edge cases * Fix comment typo
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | minor | [`9.34.0` -> `9.39.2`](https://renovatebot.com/diffs/npm/eslint/9.34.0/9.39.2) | | [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | devDependencies | minor | [`3.6.2` -> `3.7.4`](https://renovatebot.com/diffs/npm/prettier/3.6.2/3.7.4) | | [stylelint](https://stylelint.io) ([source](https://github.com/stylelint/stylelint)) | devDependencies | minor | [`16.23.1` -> `16.26.1`](https://renovatebot.com/diffs/npm/stylelint/16.23.1/16.26.1) | --- ### Release Notes <details> <summary>eslint/eslint (eslint)</summary> ### [`v9.39.2`](https://github.com/eslint/eslint/releases/tag/v9.39.2) [Compare Source](eslint/eslint@v9.39.1...v9.39.2) #### Bug Fixes - [`5705833`](eslint/eslint@5705833) fix: warn when `eslint-env` configuration comments are found ([#​20381](eslint/eslint#20381)) (sethamus) #### Build Related - [`506f154`](eslint/eslint@506f154) build: add .scss files entry to knip ([#​20391](eslint/eslint#20391)) (Milos Djermanovic) #### Chores - [`7ca0af7`](eslint/eslint@7ca0af7) chore: upgrade to `@eslint/[email protected]` ([#​20394](eslint/eslint#20394)) (Francesco Trotta) - [`c43ce24`](eslint/eslint@c43ce24) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins) - [`4c9858e`](eslint/eslint@4c9858e) ci: add `v9.x-dev` branch ([#​20382](eslint/eslint#20382)) (Milos Djermanovic) ### [`v9.39.1`](https://github.com/eslint/eslint/releases/tag/v9.39.1) [Compare Source](eslint/eslint@v9.39.0...v9.39.1) #### Bug Fixes - [`650753e`](eslint/eslint@650753e) fix: Only pass node to JS lang visitor methods ([#​20283](eslint/eslint#20283)) (Nicholas C. Zakas) #### Documentation - [`51b51f4`](eslint/eslint@51b51f4) docs: add a section on when to use extends vs cascading ([#​20268](eslint/eslint#20268)) (Tanuj Kanti) - [`b44d426`](eslint/eslint@b44d426) docs: Update README (GitHub Actions Bot) #### Chores - [`92db329`](eslint/eslint@92db329) chore: update `@eslint/js` version to 9.39.1 ([#​20284](eslint/eslint#20284)) (Francesco Trotta) - [`c7ebefc`](eslint/eslint@c7ebefc) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins) - [`61778f6`](eslint/eslint@61778f6) chore: update eslint-config-eslint dependency [@​eslint/js](https://github.com/eslint/js) to ^9.39.0 ([#​20275](eslint/eslint#20275)) (renovate\[bot]) - [`d9ca2fc`](eslint/eslint@d9ca2fc) ci: Add rangeStrategy to eslint group in renovate config ([#​20266](eslint/eslint#20266)) (唯然) - [`009e507`](eslint/eslint@009e507) test: fix version tests for ESLint v10 ([#​20274](eslint/eslint#20274)) (Milos Djermanovic) ### [`v9.39.0`](https://github.com/eslint/eslint/releases/tag/v9.39.0) [Compare Source](eslint/eslint@v9.38.0...v9.39.0) #### Features - [`cc57d87`](eslint/eslint@cc57d87) feat: update error loc to key in `no-dupe-class-members` ([#​20259](eslint/eslint#20259)) (Tanuj Kanti) - [`126552f`](eslint/eslint@126552f) feat: update error location in `for-direction` and `no-dupe-args` ([#​20258](eslint/eslint#20258)) (Tanuj Kanti) - [`167d097`](eslint/eslint@167d097) feat: update `complexity` rule to highlight only static block header ([#​20245](eslint/eslint#20245)) (jaymarvelz) #### Bug Fixes - [`15f5c7c`](eslint/eslint@15f5c7c) fix: forward traversal `step.args` to visitors ([#​20253](eslint/eslint#20253)) (jaymarvelz) - [`5a1a534`](eslint/eslint@5a1a534) fix: allow JSDoc comments in object-shorthand rule ([#​20167](eslint/eslint#20167)) (Nitin Kumar) - [`e86b813`](eslint/eslint@e86b813) fix: Use more types from [@​eslint/core](https://github.com/eslint/core) ([#​20257](eslint/eslint#20257)) (Nicholas C. Zakas) - [`927272d`](eslint/eslint@927272d) fix: correct `Scope` typings ([#​20198](eslint/eslint#20198)) (jaymarvelz) - [`37f76d9`](eslint/eslint@37f76d9) fix: use `AST.Program` type for Program node ([#​20244](eslint/eslint#20244)) (Francesco Trotta) - [`ae07f0b`](eslint/eslint@ae07f0b) fix: unify timing report for concurrent linting ([#​20188](eslint/eslint#20188)) (jaymarvelz) - [`b165d47`](eslint/eslint@b165d47) fix: correct `Rule` typings ([#​20199](eslint/eslint#20199)) (jaymarvelz) - [`fb97cda`](eslint/eslint@fb97cda) fix: improve error message for missing fix function in suggestions ([#​20218](eslint/eslint#20218)) (jaymarvelz) #### Documentation - [`d3e81e3`](eslint/eslint@d3e81e3) docs: Always recommend to include a files property ([#​20158](eslint/eslint#20158)) (Percy Ma) - [`0f0385f`](eslint/eslint@0f0385f) docs: use consistent naming recommendation ([#​20250](eslint/eslint#20250)) (Alex M. Spieslechner) - [`a3b1456`](eslint/eslint@a3b1456) docs: Update README (GitHub Actions Bot) - [`cf5f2dd`](eslint/eslint@cf5f2dd) docs: fix correct tag of `no-useless-constructor` ([#​20255](eslint/eslint#20255)) (Tanuj Kanti) - [`10b995c`](eslint/eslint@10b995c) docs: add TS options and examples for `nofunc` in `no-use-before-define` ([#​20249](eslint/eslint#20249)) (Tanuj Kanti) - [`2584187`](eslint/eslint@2584187) docs: remove repetitive word in comment ([#​20242](eslint/eslint#20242)) (reddaisyy) - [`637216b`](eslint/eslint@637216b) docs: update CLI flags migration instructions ([#​20238](eslint/eslint#20238)) (jaymarvelz) - [`e7cda3b`](eslint/eslint@e7cda3b) docs: Update README (GitHub Actions Bot) - [`7b9446f`](eslint/eslint@7b9446f) docs: handle empty flags sections on the feature flags page ([#​20222](eslint/eslint#20222)) (sethamus) #### Chores - [`dfe3c1b`](eslint/eslint@dfe3c1b) chore: update `@eslint/js` version to 9.39.0 ([#​20270](eslint/eslint#20270)) (Francesco Trotta) - [`2375a6d`](eslint/eslint@2375a6d) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins) - [`a1f4e52`](eslint/eslint@a1f4e52) chore: update `@eslint` dependencies ([#​20265](eslint/eslint#20265)) (Francesco Trotta) - [`c7d3229`](eslint/eslint@c7d3229) chore: update dependency [@​eslint/core](https://github.com/eslint/core) to ^0.17.0 ([#​20256](eslint/eslint#20256)) (renovate\[bot]) - [`27549bc`](eslint/eslint@27549bc) chore: update fuzz testing to not error if code sample minimizer fails ([#​20252](eslint/eslint#20252)) (Milos Djermanovic) - [`a1370ee`](eslint/eslint@a1370ee) ci: bump actions/setup-node from 5 to 6 ([#​20230](eslint/eslint#20230)) (dependabot\[bot]) - [`9e7fad4`](eslint/eslint@9e7fad4) chore: add script to auto-generate eslint:recommended configuration ([#​20208](eslint/eslint#20208)) (唯然) ### [`v9.38.0`](https://github.com/eslint/eslint/releases/tag/v9.38.0) [Compare Source](eslint/eslint@v9.37.0...v9.38.0) #### Features - [`ce40f74`](eslint/eslint@ce40f74) feat: update `complexity` rule to only highlight function header ([#​20048](eslint/eslint#20048)) (Atul Nair) - [`e37e590`](eslint/eslint@e37e590) feat: correct `no-loss-of-precision` false positives with `e` notation ([#​20187](eslint/eslint#20187)) (Francesco Trotta) #### Bug Fixes - [`50c3dfd`](eslint/eslint@50c3dfd) fix: improve type support for isolated dependencies in pnpm ([#​20201](eslint/eslint#20201)) (Francesco Trotta) - [`a1f06a3`](eslint/eslint@a1f06a3) fix: correct SourceCode typings ([#​20114](eslint/eslint#20114)) (Pixel998) #### Documentation - [`462675a`](eslint/eslint@462675a) docs: improve web accessibility by hiding non-semantic character ([#​20205](eslint/eslint#20205)) (루밀LuMir) - [`c070e65`](eslint/eslint@c070e65) docs: correct formatting in `no-irregular-whitespace` rule documentation ([#​20203](eslint/eslint#20203)) (루밀LuMir) - [`b39e71a`](eslint/eslint@b39e71a) docs: Update README (GitHub Actions Bot) - [`cd39983`](eslint/eslint@cd39983) docs: move `custom-formatters` type descriptions to `nodejs-api` ([#​20190](eslint/eslint#20190)) (Percy Ma) #### Chores - [`d17c795`](eslint/eslint@d17c795) chore: upgrade [@​eslint/js](https://github.com/eslint/js)@​9.38.0 ([#​20221](eslint/eslint#20221)) (Milos Djermanovic) - [`25d0e33`](eslint/eslint@25d0e33) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins) - [`c82b5ef`](eslint/eslint@c82b5ef) refactor: Use types from [@​eslint/core](https://github.com/eslint/core) ([#​20168](eslint/eslint#20168)) (Nicholas C. Zakas) - [`ff31609`](eslint/eslint@ff31609) ci: add Node.js 25 to `ci.yml` ([#​20220](eslint/eslint#20220)) (루밀LuMir) - [`004577e`](eslint/eslint@004577e) ci: bump github/codeql-action from 3 to 4 ([#​20211](eslint/eslint#20211)) (dependabot\[bot]) - [`eac71fb`](eslint/eslint@eac71fb) test: remove use of `nodejsScope` option of eslint-scope from tests ([#​20206](eslint/eslint#20206)) (Milos Djermanovic) - [`4168a18`](eslint/eslint@4168a18) chore: fix typo in legacy-eslint.js ([#​20202](eslint/eslint#20202)) (Sweta Tanwar) - [`205dbd2`](eslint/eslint@205dbd2) chore: fix typos ([#​20200](eslint/eslint#20200)) (ntnyq) - [`dbb200e`](eslint/eslint@dbb200e) chore: use team member's username when name is not available in data ([#​20194](eslint/eslint#20194)) (Milos Djermanovic) - [`8962089`](eslint/eslint@8962089) chore: mark deprecated rules as available until v11.0.0 ([#​20184](eslint/eslint#20184)) (Pixel998) ### [`v9.37.0`](https://github.com/eslint/eslint/releases/tag/v9.37.0) [Compare Source](eslint/eslint@v9.36.0...v9.37.0) #### Features - [`39f7fb4`](eslint/eslint@39f7fb4) feat: `preserve-caught-error` should recognize all static "cause" keys ([#​20163](eslint/eslint#20163)) (Pixel998) - [`f81eabc`](eslint/eslint@f81eabc) feat: support TS syntax in `no-restricted-imports` ([#​19562](eslint/eslint#19562)) (Nitin Kumar) #### Bug Fixes - [`a129cce`](eslint/eslint@a129cce) fix: correct `no-loss-of-precision` false positives for leading zeros ([#​20164](eslint/eslint#20164)) (Francesco Trotta) - [`09e04fc`](eslint/eslint@09e04fc) fix: add missing AST token types ([#​20172](eslint/eslint#20172)) (Pixel998) - [`861c6da`](eslint/eslint@861c6da) fix: correct `ESLint` typings ([#​20122](eslint/eslint#20122)) (Pixel998) #### Documentation - [`b950359`](eslint/eslint@b950359) docs: fix typos across the docs ([#​20182](eslint/eslint#20182)) (루밀LuMir) - [`42498a2`](eslint/eslint@42498a2) docs: improve ToC accessibility by hiding non-semantic character ([#​20181](eslint/eslint#20181)) (Percy Ma) - [`29ea092`](eslint/eslint@29ea092) docs: Update README (GitHub Actions Bot) - [`5c97a04`](eslint/eslint@5c97a04) docs: show `availableUntil` in deprecated rule banner ([#​20170](eslint/eslint#20170)) (Pixel998) - [`90a71bf`](eslint/eslint@90a71bf) docs: update `README` files to add badge and instructions ([#​20115](eslint/eslint#20115)) (루밀LuMir) - [`1603ae1`](eslint/eslint@1603ae1) docs: update references from `master` to `main` ([#​20153](eslint/eslint#20153)) (루밀LuMir) #### Chores - [`afe8a13`](eslint/eslint@afe8a13) chore: update `@eslint/js` dependency to version 9.37.0 ([#​20183](eslint/eslint#20183)) (Francesco Trotta) - [`abee4ca`](eslint/eslint@abee4ca) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins) - [`fc9381f`](eslint/eslint@fc9381f) chore: fix typos in comments ([#​20175](eslint/eslint#20175)) (overlookmotel) - [`e1574a2`](eslint/eslint@e1574a2) chore: unpin jiti ([#​20173](eslint/eslint#20173)) (renovate\[bot]) - [`e1ac05e`](eslint/eslint@e1ac05e) refactor: mark `ESLint.findConfigFile()` as `async`, add missing docs ([#​20157](eslint/eslint#20157)) (Pixel998) - [`347906d`](eslint/eslint@347906d) chore: update eslint ([#​20149](eslint/eslint#20149)) (renovate\[bot]) - [`0cb5897`](eslint/eslint@0cb5897) test: remove tmp dir created for circular fixes in multithread mode test ([#​20146](eslint/eslint#20146)) (Milos Djermanovic) - [`bb99566`](eslint/eslint@bb99566) ci: pin `jiti` to version 2.5.1 ([#​20151](eslint/eslint#20151)) (Pixel998) - [`177f669`](eslint/eslint@177f669) perf: improve worker count calculation for `"auto"` concurrency ([#​20067](eslint/eslint#20067)) (Francesco Trotta) - [`448b57b`](eslint/eslint@448b57b) chore: Mark deprecated formatting rules as available until v11.0.0 ([#​20144](eslint/eslint#20144)) (Milos Djermanovic) ### [`v9.36.0`](https://github.com/eslint/eslint/releases/tag/v9.36.0) [Compare Source](eslint/eslint@v9.35.0...v9.36.0) #### Features - [`47afcf6`](eslint/eslint@47afcf6) feat: correct `preserve-caught-error` edge cases ([#​20109](eslint/eslint#20109)) (Francesco Trotta) #### Bug Fixes - [`75b74d8`](eslint/eslint@75b74d8) fix: add missing rule option types ([#​20127](eslint/eslint#20127)) (ntnyq) - [`1c0d850`](eslint/eslint@1c0d850) fix: update `eslint-all.js` to use `Object.freeze` for `rules` object ([#​20116](eslint/eslint#20116)) (루밀LuMir) - [`7d61b7f`](eslint/eslint@7d61b7f) fix: add missing scope types to `Scope.type` ([#​20110](eslint/eslint#20110)) (Pixel998) - [`7a670c3`](eslint/eslint@7a670c3) fix: correct rule option typings in `rules.d.ts` ([#​20084](eslint/eslint#20084)) (Pixel998) #### Documentation - [`b73ab12`](eslint/eslint@b73ab12) docs: update examples to use `defineConfig` ([#​20131](eslint/eslint#20131)) (sethamus) - [`31d9392`](eslint/eslint@31d9392) docs: fix typos ([#​20118](eslint/eslint#20118)) (Pixel998) - [`c7f861b`](eslint/eslint@c7f861b) docs: Update README (GitHub Actions Bot) - [`6b0c08b`](eslint/eslint@6b0c08b) docs: Update README (GitHub Actions Bot) - [`91f97c5`](eslint/eslint@91f97c5) docs: Update README (GitHub Actions Bot) #### Chores - [`12411e8`](eslint/eslint@12411e8) chore: upgrade [@​eslint/js](https://github.com/eslint/js)@​9.36.0 ([#​20139](eslint/eslint#20139)) (Milos Djermanovic) - [`488cba6`](eslint/eslint@488cba6) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins) - [`bac82a2`](eslint/eslint@bac82a2) ci: simplify renovate configuration ([#​19907](eslint/eslint#19907)) (唯然) - [`c00bb37`](eslint/eslint@c00bb37) ci: bump actions/labeler from 5 to 6 ([#​20090](eslint/eslint#20090)) (dependabot\[bot]) - [`fee751d`](eslint/eslint@fee751d) refactor: use `defaultOptions` in rules ([#​20121](eslint/eslint#20121)) (Pixel998) - [`1ace67d`](eslint/eslint@1ace67d) chore: update example to use `defineConfig` ([#​20111](eslint/eslint#20111)) (루밀LuMir) - [`4821963`](eslint/eslint@4821963) test: add missing loc information to error objects in rule tests ([#​20112](eslint/eslint#20112)) (루밀LuMir) - [`b42c42e`](eslint/eslint@b42c42e) chore: disallow use of deprecated `type` property in core rule tests ([#​20094](eslint/eslint#20094)) (Milos Djermanovic) - [`7bb498d`](eslint/eslint@7bb498d) test: remove deprecated `type` property from core rule tests ([#​20093](eslint/eslint#20093)) (Pixel998) - [`e10cf2a`](eslint/eslint@e10cf2a) ci: bump actions/setup-node from 4 to 5 ([#​20089](eslint/eslint#20089)) (dependabot\[bot]) - [`5cb0ce4`](eslint/eslint@5cb0ce4) refactor: use `meta.defaultOptions` in `preserve-caught-error` ([#​20080](eslint/eslint#20080)) (Pixel998) - [`f9f7cb5`](eslint/eslint@f9f7cb5) chore: package.json update for eslint-config-eslint release (Jenkins) - [`81764b2`](eslint/eslint@81764b2) chore: update `eslint` peer dependency in `eslint-config-eslint` ([#​20079](eslint/eslint#20079)) (Milos Djermanovic) ### [`v9.35.0`](https://github.com/eslint/eslint/releases/tag/v9.35.0) [Compare Source](eslint/eslint@v9.34.0...v9.35.0) #### Features - [`42761fa`](eslint/eslint@42761fa) feat: implement suggestions for no-empty-function ([#​20057](eslint/eslint#20057)) (jaymarvelz) - [`102f444`](eslint/eslint@102f444) feat: implement suggestions for no-empty-static-block ([#​20056](eslint/eslint#20056)) (jaymarvelz) - [`e51ffff`](eslint/eslint@e51ffff) feat: add `preserve-caught-error` rule ([#​19913](eslint/eslint#19913)) (Amnish Singh Arora) #### Bug Fixes - [`10e7ae2`](eslint/eslint@10e7ae2) fix: update uncloneable options error message ([#​20059](eslint/eslint#20059)) (soda-sorcery) - [`bfa4601`](eslint/eslint@bfa4601) fix: ignore empty switch statements with comments in no-empty rule ([#​20045](eslint/eslint#20045)) (jaymarvelz) - [`dfd11de`](eslint/eslint@dfd11de) fix: add `before` and `after` to test case types ([#​20049](eslint/eslint#20049)) (Francesco Trotta) - [`dabbe95`](eslint/eslint@dabbe95) fix: correct types for `no-restricted-imports` rule ([#​20034](eslint/eslint#20034)) (Milos Djermanovic) - [`ea789c7`](eslint/eslint@ea789c7) fix: no-loss-of-precision false positive with uppercase exponent ([#​20032](eslint/eslint#20032)) (sethamus) #### Documentation - [`d265515`](eslint/eslint@d265515) docs: improve phrasing - "if" → "even if" from getting-started section ([#​20074](eslint/eslint#20074)) (jjangga0214) - [`a355a0e`](eslint/eslint@a355a0e) docs: invert comparison logic for example in `no-var` doc page ([#​20064](eslint/eslint#20064)) (OTonGitHub) - [`5082fc2`](eslint/eslint@5082fc2) docs: Update README (GitHub Actions Bot) - [`99cfd7e`](eslint/eslint@99cfd7e) docs: add missing "the" in rule deprecation docs ([#​20050](eslint/eslint#20050)) (Josh Goldberg ✨) - [`6ad8973`](eslint/eslint@6ad8973) docs: update `--no-ignore` and `--ignore-pattern` documentation ([#​20036](eslint/eslint#20036)) (Francesco Trotta) - [`8033b19`](eslint/eslint@8033b19) docs: add documentation for `--no-config-lookup` ([#​20033](eslint/eslint#20033)) (Francesco Trotta) #### Chores - [`da87f2f`](eslint/eslint@da87f2f) chore: upgrade [@​eslint/js](https://github.com/eslint/js)@​9.35.0 ([#​20077](eslint/eslint#20077)) (Milos Djermanovic) - [`af2a087`](eslint/eslint@af2a087) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins) - [`7055764`](eslint/eslint@7055764) test: remove `tests/lib/eslint/eslint.config.js` ([#​20065](eslint/eslint#20065)) (Milos Djermanovic) - [`84ffb96`](eslint/eslint@84ffb96) chore: update `@eslint-community/eslint-utils` ([#​20069](eslint/eslint#20069)) (Francesco Trotta) - [`d5ef939`](eslint/eslint@d5ef939) refactor: remove deprecated `context.parserOptions` usage across rules ([#​20060](eslint/eslint#20060)) (sethamus) - [`1b3881d`](eslint/eslint@1b3881d) chore: remove redundant word ([#​20058](eslint/eslint#20058)) (pxwanglu) </details> <details> <summary>prettier/prettier (prettier)</summary> ### [`v3.7.4`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#374) [Compare Source](prettier/prettier@3.7.3...3.7.4) [diff](prettier/prettier@3.7.3...3.7.4) ##### LWC: Avoid quote around interpolations ([#​18383](prettier/prettier#18383) by [@​kovsu](https://github.com/kovsu)) <!-- prettier-ignore --> ```html <!-- Input --> <div foo={bar}> </div> <!-- Prettier 3.7.3 (--embedded-language-formatting off) --> <div foo="{bar}"></div> <!-- Prettier 3.7.4 (--embedded-language-formatting off) --> <div foo={bar}></div> ``` ##### TypeScript: Fix comment inside union type gets duplicated ([#​18393](prettier/prettier#18393) by [@​fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```tsx // Input type Foo = (/** comment */ a | b) | c; // Prettier 3.7.3 type Foo = /** comment */ (/** comment */ a | b) | c; // Prettier 3.7.4 type Foo = /** comment */ (a | b) | c; ``` ##### TypeScript: Fix unstable comment print in union type comments ([#​18395](prettier/prettier#18395) by [@​fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```tsx // Input type X = (A | B) & ( // comment A | B ); // Prettier 3.7.3 (first format) type X = (A | B) & (// comment A | B); // Prettier 3.7.3 (second format) type X = ( | A | B // comment ) & (A | B); // Prettier 3.7.4 type X = (A | B) & // comment (A | B); ``` ### [`v3.7.3`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#373) [Compare Source](prettier/prettier@3.7.2...3.7.3) [diff](prettier/prettier@3.7.2...3.7.3) ##### API: Fix `prettier.getFileInfo()` change that breaks VSCode extension ([#​18375](prettier/prettier#18375) by [@​fisker](https://github.com/fisker)) An internal refactor accidentally broke the VSCode extension plugin loading. ### [`v3.7.2`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#372) [Compare Source](prettier/prettier@3.7.1...3.7.2) [diff](prettier/prettier@3.7.1...3.7.2) ##### JavaScript: Fix string print when switching quotes ([#​18351](prettier/prettier#18351) by [@​fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```jsx // Input console.log("A descriptor\\'s .kind must be \"method\" or \"field\".") // Prettier 3.7.1 console.log('A descriptor\\'s .kind must be "method" or "field".'); // Prettier 3.7.2 console.log('A descriptor\\\'s .kind must be "method" or "field".'); ``` ##### JavaScript: Preserve quote for embedded HTML attribute values ([#​18352](prettier/prettier#18352) by [@​kovsu](https://github.com/kovsu)) <!-- prettier-ignore --> ```tsx // Input const html = /* HTML */ ` <div class="${styles.banner}"></div> `; // Prettier 3.7.1 const html = /* HTML */ ` <div class=${styles.banner}></div> `; // Prettier 3.7.2 const html = /* HTML */ ` <div class="${styles.banner}"></div> `; ``` ##### TypeScript: Fix comment in empty type literal ([#​18364](prettier/prettier#18364) by [@​fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```tsx // Input export type XXX = { // tbd }; // Prettier 3.7.1 export type XXX = { // tbd }; // Prettier 3.7.2 export type XXX = { // tbd }; ``` ### [`v3.7.1`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#371) [Compare Source](prettier/prettier@3.7.0...3.7.1) [diff](prettier/prettier@3.7.0...3.7.1) ##### API: Fix performance regression in doc printer ([#​18342](prettier/prettier#18342) by [@​fisker](https://github.com/fisker)) Prettier 3.7.0 can be very slow when formatting big files, the regression has been fixed. ### [`v3.7.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#370) [Compare Source](prettier/prettier@3.6.2...3.7.0) [diff](prettier/prettier@3.6.2...3.7.0) 🔗 [Release Notes](https://prettier.io/blog/2025/11/27/3.7.0) </details> <details> <summary>stylelint/stylelint (stylelint)</summary> ### [`v16.26.1`](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16261---2025-11-28) [Compare Source](stylelint/stylelint@16.26.0...16.26.1) It fixes numerous false positive bugs, including many in the `declaration-property-value-no-unknown` rule for the latest CSS specifications. - Fixed: `*-no-unknown` false positives for latest specs by integrating `@csstools/css-syntax-patches-for-csstree` ([#​8850](stylelint/stylelint#8850)) ([@​romainmenke](https://github.com/romainmenke)). - Fixed: `at-rule-no-unknown` false positives for `@function` ([#​8851](stylelint/stylelint#8851)) ([@​jeddy3](https://github.com/jeddy3)). - Fixed: `declaration-property-value-no-unknown` false positives for `attr()`, `if()` and custom functions ([#​8853](stylelint/stylelint#8853)) ([@​jeddy3](https://github.com/jeddy3)). - Fixed: `function-url-quotes` false positives when URLs require quoting ([#​8804](stylelint/stylelint#8804)) ([@​taearls](https://github.com/taearls)). - Fixed: `selector-pseudo-element-no-unknown` false positives for `::scroll-button()` ([#​8856](stylelint/stylelint#8856)) ([@​Mouvedia](https://github.com/Mouvedia)). ### [`v16.26.0`](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16260---2025-11-21) [Compare Source](stylelint/stylelint@16.25.0...16.26.0) It adds 1 feature and fixes 2 bugs. - Added: support for `customSyntax` with function export ([#​8834](stylelint/stylelint#8834)) ([@​silverwind](https://github.com/silverwind)). - Fixed: `custom-property-no-missing-var-function` false positives for style query in `if()` function ([#​8813](stylelint/stylelint#8813)) ([@​sajdakabir](https://github.com/sajdakabir)). - Fixed: `media-feature-range-notation` false positives for multiple queries and `except: exact-value` ([#​8832](stylelint/stylelint#8832)) ([@​jeddy3](https://github.com/jeddy3)). ### [`v16.25.0`](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16250---2025-10-03) [Compare Source](stylelint/stylelint@16.24.0...16.25.0) It adds 3 new features, including experimental support for bulk suppressions. It's also our first [immutable release](https://github.blog/changelog/2025-08-26-releases-now-support-immutability-in-public-preview/), with the package published to npm using [trusted publishing](https://github.blog/changelog/2025-07-31-npm-trusted-publishing-with-oidc-is-generally-available/) and our dependencies updated on a [cool down](https://github.blog/changelog/2025-07-01-dependabot-supports-configuration-of-a-minimum-package-age/) for improved supply chain security. - Added: support for bulk suppressions ([#​8564](stylelint/stylelint#8564)) ([@​ryo-manba](https://github.com/ryo-manba)). - Added: `ignoreAtRules: []` to `no-invalid-position-declaration` ([#​8781](stylelint/stylelint#8781)) ([@​jrmlt](https://github.com/jrmlt)). - Added: rule name to custom messages ([#​8774](stylelint/stylelint#8774)) ([@​jhae-de](https://github.com/jhae-de)). ### [`v16.24.0`](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16240---2025-09-07) [Compare Source](stylelint/stylelint@16.23.1...16.24.0) It adds 1 new rule, adds 1 option to a rule and fixes 2 bugs. - Added: `rule-nesting-at-rule-required-list` rule ([#​8680](stylelint/stylelint#8680)) ([@​sw1tch3roo](https://github.com/sw1tch3roo)). - Added: `ignoreAtRules: []` to `nesting-selector-no-missing-scoping-root` ([#​8743](stylelint/stylelint#8743)) ([@​karlhorky](https://github.com/karlhorky)). - Fixed: `function-no-unknown` false positives for `contrast-color()` and `sibling-*()` ([#​8729](stylelint/stylelint#8729)) ([@​Mouvedia](https://github.com/Mouvedia)). - Fixed: `selector-pseudo-class-no-unknown` false positives for `:heading` ([#​8749](stylelint/stylelint#8749)) ([@​Mouvedia](https://github.com/Mouvedia)). </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS42MS4wIiwidXBkYXRlZEluVmVyIjoiNDEuNjEuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Reviewed-on: https://git.robbevp.be/robbevp/website-robbevanpetegem/pulls/498 Co-authored-by: Renovate Bot <[email protected]> Co-committed-by: Renovate Bot <[email protected]>
This MR contains the following updates:
| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [@eslint/compat](https://github.com/eslint/rewrite/tree/main/packages/compat#readme) ([source](https://github.com/eslint/rewrite/tree/HEAD/packages/compat)) | devDependencies | minor | [`1.3.2` → `1.4.1`](https://renovatebot.com/diffs/npm/@eslint%2fcompat/1.3.2/1.4.1) | [](https://securityscorecards.dev/viewer/?uri=github.com/eslint/rewrite) |
| [@eslint/js](https://eslint.org) ([source](https://github.com/eslint/eslint/tree/HEAD/packages/js)) | devDependencies | minor | [`9.29.0` → `9.39.2`](https://renovatebot.com/diffs/npm/@eslint%2fjs/9.29.0/9.39.2) | [](https://securityscorecards.dev/viewer/?uri=github.com/eslint/eslint) |
| [@mui/icons-material](https://mui.com/material-ui/material-icons/) ([source](https://github.com/mui/material-ui/tree/HEAD/packages/mui-icons-material)) | dependencies | minor | [`7.1.2` → `7.3.6`](https://renovatebot.com/diffs/npm/@mui%2ficons-material/7.1.2/7.3.6) | [](https://securityscorecards.dev/viewer/?uri=github.com/mui/material-ui) |
| [@mui/material](https://mui.com/material-ui/) ([source](https://github.com/mui/material-ui/tree/HEAD/packages/mui-material)) | dependencies | minor | [`7.1.2` → `7.3.6`](https://renovatebot.com/diffs/npm/@mui%2fmaterial/7.1.2/7.3.6) | [](https://securityscorecards.dev/viewer/?uri=github.com/mui/material-ui) |
| [@mui/x-charts](https://mui.com/x/react-charts/) ([source](https://github.com/mui/mui-x/tree/HEAD/packages/x-charts)) | dependencies | minor | [`8.5.3` → `8.23.0`](https://renovatebot.com/diffs/npm/@mui%2fx-charts/8.5.3/8.23.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/mui/mui-x) |
| [@mui/x-tree-view](https://mui.com/x/react-tree-view/) ([source](https://github.com/mui/mui-x/tree/HEAD/packages/x-tree-view)) | dependencies | minor | [`8.5.3` → `8.23.0`](https://renovatebot.com/diffs/npm/@mui%2fx-tree-view/8.5.3/8.23.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/mui/mui-x) |
| [@openapitools/openapi-generator-cli](https://github.com/OpenAPITools/openapi-generator-cli) | devDependencies | minor | [`2.23.4` → `2.26.0`](https://renovatebot.com/diffs/npm/@openapitools%2fopenapi-generator-cli/2.23.4/2.26.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/OpenAPITools/openapi-generator-cli) |
| [@reduxjs/toolkit](https://redux-toolkit.js.org) ([source](https://github.com/reduxjs/redux-toolkit)) | dependencies | minor | [`2.8.2` → `2.11.2`](https://renovatebot.com/diffs/npm/@reduxjs%2ftoolkit/2.8.2/2.11.2) | [](https://securityscorecards.dev/viewer/?uri=github.com/reduxjs/redux-toolkit) |
| [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) | devDependencies | minor | [`6.6.4` → `6.9.1`](https://renovatebot.com/diffs/npm/@testing-library%2fjest-dom/6.6.4/6.9.1) | [](https://securityscorecards.dev/viewer/?uri=github.com/testing-library/jest-dom) |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)) | devDependencies | minor | [`19.1.17` → `19.2.7`](https://renovatebot.com/diffs/npm/@types%2freact/19.1.17/19.2.7) | [](https://securityscorecards.dev/viewer/?uri=github.com/DefinitelyTyped/DefinitelyTyped) |
| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom)) | devDependencies | minor | [`19.1.11` → `19.2.3`](https://renovatebot.com/diffs/npm/@types%2freact-dom/19.1.11/19.2.3) | [](https://securityscorecards.dev/viewer/?uri=github.com/DefinitelyTyped/DefinitelyTyped) |
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | devDependencies | minor | [`8.39.1` → `8.51.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.39.1/8.51.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/typescript-eslint/typescript-eslint) |
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | devDependencies | minor | [`8.39.1` → `8.51.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.39.1/8.51.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/typescript-eslint/typescript-eslint) |
| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react#readme) ([source](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react)) | devDependencies | minor | [`4.5.2` → `4.7.0`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-react/4.5.2/4.7.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/vitejs/vite-plugin-react) |
| [ace-builds](https://github.com/ajaxorg/ace-builds) | dependencies | minor | [`1.42.0` → `1.43.5`](https://renovatebot.com/diffs/npm/ace-builds/1.42.0/1.43.5) | [](https://securityscorecards.dev/viewer/?uri=github.com/ajaxorg/ace-builds) |
| [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | minor | [`9.32.0` → `9.39.2`](https://renovatebot.com/diffs/npm/eslint/9.32.0/9.39.2) | [](https://securityscorecards.dev/viewer/?uri=github.com/eslint/eslint) |
| [eslint-plugin-unused-imports](https://github.com/sweepline/eslint-plugin-unused-imports) | devDependencies | minor | [`4.1.4` → `4.3.0`](https://renovatebot.com/diffs/npm/eslint-plugin-unused-imports/4.1.4/4.3.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/sweepline/eslint-plugin-unused-imports) |
| [globals](https://github.com/sindresorhus/globals) | devDependencies | minor | [`16.2.0` → `16.5.0`](https://renovatebot.com/diffs/npm/globals/16.2.0/16.5.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/sindresorhus/globals) |
| [i18next](https://www.i18next.com) ([source](https://github.com/i18next/i18next)) | dependencies | minor | [`25.2.1` → `25.7.3`](https://renovatebot.com/diffs/npm/i18next/25.2.1/25.7.3) | [](https://securityscorecards.dev/viewer/?uri=github.com/i18next/i18next) |
| [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | devDependencies | minor | [`3.5.3` → `3.7.4`](https://renovatebot.com/diffs/npm/prettier/3.5.3/3.7.4) | [](https://securityscorecards.dev/viewer/?uri=github.com/prettier/prettier) |
| [react](https://react.dev/) ([source](https://github.com/facebook/react/tree/HEAD/packages/react)) | dependencies | minor | [`19.1.1` → `19.2.3`](https://renovatebot.com/diffs/npm/react/19.1.1/19.2.3) | [](https://securityscorecards.dev/viewer/?uri=github.com/facebook/react) |
| [react-dom](https://react.dev/) ([source](https://github.com/facebook/react/tree/HEAD/packages/react-dom)) | dependencies | minor | [`19.1.1` → `19.2.3`](https://renovatebot.com/diffs/npm/react-dom/19.1.1/19.2.3) | [](https://securityscorecards.dev/viewer/?uri=github.com/facebook/react) |
| [react-i18next](https://github.com/i18next/react-i18next) | dependencies | minor | [`15.5.3` → `15.7.4`](https://renovatebot.com/diffs/npm/react-i18next/15.5.3/15.7.4) | [](https://securityscorecards.dev/viewer/?uri=github.com/i18next/react-i18next) |
| [react-router-dom](https://github.com/remix-run/react-router) ([source](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom)) | dependencies | minor | [`7.6.3` → `7.11.0`](https://renovatebot.com/diffs/npm/react-router-dom/7.6.3/7.11.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/remix-run/react-router) |
| [typescript](https://www.typescriptlang.org/) ([source](https://github.com/microsoft/TypeScript)) | devDependencies | minor | [`5.8.3` → `5.9.3`](https://renovatebot.com/diffs/npm/typescript/5.8.3/5.9.3) | [](https://securityscorecards.dev/viewer/?uri=github.com/microsoft/TypeScript) |
| [vite](https://vite.dev) ([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) | devDependencies | minor | [`6.3.7` → `6.4.1`](https://renovatebot.com/diffs/npm/vite/6.3.7/6.4.1) | [](https://securityscorecards.dev/viewer/?uri=github.com/vitejs/vite) |
| [vite-plugin-svgr](https://github.com/pd4d10/vite-plugin-svgr) | devDependencies | minor | [`4.3.0` → `4.5.0`](https://renovatebot.com/diffs/npm/vite-plugin-svgr/4.3.0/4.5.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/pd4d10/vite-plugin-svgr) |
---
### Release Notes
<details>
<summary>eslint/rewrite (@​eslint/compat)</summary>
### [`v1.4.1`](https://github.com/eslint/rewrite/blob/HEAD/packages/compat/CHANGELOG.md#141-2025-10-27)
[Compare Source](https://github.com/eslint/rewrite/compare/7f592e3b60dd0a3b38d891a80aeeb92cf78d8e86...f5ecc7e945634a173af677d2d597d583bd2704e6)
##### Dependencies
- The following workspace dependencies were updated
- dependencies
- [@​eslint/core](https://github.com/eslint/core) bumped from ^0.16.0 to ^0.17.0
### [`v1.4.0`](https://github.com/eslint/rewrite/blob/HEAD/packages/compat/CHANGELOG.md#140-2025-09-16)
[Compare Source](https://github.com/eslint/rewrite/compare/9e68ab61df9c4ebc082b603fb5e3dfe2dcf98666...7f592e3b60dd0a3b38d891a80aeeb92cf78d8e86)
##### Features
- Add config types in [@​eslint/core](https://github.com/eslint/core) ([#​237](https://github.com/eslint/rewrite/issues/237)) ([7b6dd37](https://github.com/eslint/rewrite/commit/7b6dd370a598ea7fc94fba427a2579342b50b90f))
##### Dependencies
- The following workspace dependencies were updated
- dependencies
- [@​eslint/core](https://github.com/eslint/core) bumped from ^0.15.2 to ^0.16.0
</details>
<details>
<summary>eslint/eslint (@​eslint/js)</summary>
### [`v9.39.2`](https://github.com/eslint/eslint/releases/tag/v9.39.2)
[Compare Source](https://github.com/eslint/eslint/compare/v9.39.1...v9.39.2)
##### Bug Fixes
- [`5705833`](https://github.com/eslint/eslint/commit/57058331946568164449c5caabe2cf206e4fb5d9) fix: warn when `eslint-env` configuration comments are found ([#​20381](https://github.com/eslint/eslint/issues/20381)) (sethamus)
##### Build Related
- [`506f154`](https://github.com/eslint/eslint/commit/506f1549a64aa65bdddc75c71cb62f0ab94b5a23) build: add .scss files entry to knip ([#​20391](https://github.com/eslint/eslint/issues/20391)) (Milos Djermanovic)
##### Chores
- [`7ca0af7`](https://github.com/eslint/eslint/commit/7ca0af7f9f89dd4a01736dae01931c45d528171b) chore: upgrade to `@eslint/[email protected]` ([#​20394](https://github.com/eslint/eslint/issues/20394)) (Francesco Trotta)
- [`c43ce24`](https://github.com/eslint/eslint/commit/c43ce24ff0ce073ec4ad691cd5a50171dfe6cf1e) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`4c9858e`](https://github.com/eslint/eslint/commit/4c9858e47bb9146cf20f546a562bc58a9ee3dae1) ci: add `v9.x-dev` branch ([#​20382](https://github.com/eslint/eslint/issues/20382)) (Milos Djermanovic)
### [`v9.39.1`](https://github.com/eslint/eslint/releases/tag/v9.39.1)
[Compare Source](https://github.com/eslint/eslint/compare/v9.39.0...v9.39.1)
##### Bug Fixes
- [`650753e`](https://github.com/eslint/eslint/commit/650753ee3976784343ceb40170619dab1aa9fe0d) fix: Only pass node to JS lang visitor methods ([#​20283](https://github.com/eslint/eslint/issues/20283)) (Nicholas C. Zakas)
##### Documentation
- [`51b51f4`](https://github.com/eslint/eslint/commit/51b51f4f1ce82ef63264c4e45d9ef579bcd73f8e) docs: add a section on when to use extends vs cascading ([#​20268](https://github.com/eslint/eslint/issues/20268)) (Tanuj Kanti)
- [`b44d426`](https://github.com/eslint/eslint/commit/b44d42699dcd1729b7ecb50ca70e4c1c17f551f1) docs: Update README (GitHub Actions Bot)
##### Chores
- [`92db329`](https://github.com/eslint/eslint/commit/92db329211c8da5ce8340a4d4c05ce9c12845381) chore: update `@eslint/js` version to 9.39.1 ([#​20284](https://github.com/eslint/eslint/issues/20284)) (Francesco Trotta)
- [`c7ebefc`](https://github.com/eslint/eslint/commit/c7ebefc9eaf99b76b30b0d3cf9960807a47367c4) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`61778f6`](https://github.com/eslint/eslint/commit/61778f6ca33c0f63962a91d6a75a4fa5db9f47d2) chore: update eslint-config-eslint dependency [@​eslint/js](https://github.com/eslint/js) to ^9.39.0 ([#​20275](https://github.com/eslint/eslint/issues/20275)) (renovate\[bot])
- [`d9ca2fc`](https://github.com/eslint/eslint/commit/d9ca2fcd9ad63331bfd329a69534e1ff04f231e8) ci: Add rangeStrategy to eslint group in renovate config ([#​20266](https://github.com/eslint/eslint/issues/20266)) (唯然)
- [`009e507`](https://github.com/eslint/eslint/commit/009e5076ff5a4bd845f55e17676e3bb88f47c280) test: fix version tests for ESLint v10 ([#​20274](https://github.com/eslint/eslint/issues/20274)) (Milos Djermanovic)
### [`v9.39.0`](https://github.com/eslint/eslint/releases/tag/v9.39.0)
[Compare Source](https://github.com/eslint/eslint/compare/v9.38.0...v9.39.0)
##### Features
- [`cc57d87`](https://github.com/eslint/eslint/commit/cc57d87a3f119e9d39c55e044e526ae067fa31ce) feat: update error loc to key in `no-dupe-class-members` ([#​20259](https://github.com/eslint/eslint/issues/20259)) (Tanuj Kanti)
- [`126552f`](https://github.com/eslint/eslint/commit/126552fcf35da3ddcefa527db06dabc54c04041c) feat: update error location in `for-direction` and `no-dupe-args` ([#​20258](https://github.com/eslint/eslint/issues/20258)) (Tanuj Kanti)
- [`167d097`](https://github.com/eslint/eslint/commit/167d0970d3802a66910e9820f31dcd717fab0b2a) feat: update `complexity` rule to highlight only static block header ([#​20245](https://github.com/eslint/eslint/issues/20245)) (jaymarvelz)
##### Bug Fixes
- [`15f5c7c`](https://github.com/eslint/eslint/commit/15f5c7c168d0698683943f51dd617f14a5e6815c) fix: forward traversal `step.args` to visitors ([#​20253](https://github.com/eslint/eslint/issues/20253)) (jaymarvelz)
- [`5a1a534`](https://github.com/eslint/eslint/commit/5a1a534e877f7c4c992885867f923df307c3929d) fix: allow JSDoc comments in object-shorthand rule ([#​20167](https://github.com/eslint/eslint/issues/20167)) (Nitin Kumar)
- [`e86b813`](https://github.com/eslint/eslint/commit/e86b813eb660f1a5adc8e143a70d9b683cd12362) fix: Use more types from [@​eslint/core](https://github.com/eslint/core) ([#​20257](https://github.com/eslint/eslint/issues/20257)) (Nicholas C. Zakas)
- [`927272d`](https://github.com/eslint/eslint/commit/927272d1f0d5683b029b729d368a96527f283323) fix: correct `Scope` typings ([#​20198](https://github.com/eslint/eslint/issues/20198)) (jaymarvelz)
- [`37f76d9`](https://github.com/eslint/eslint/commit/37f76d9c539bb6fc816fedb7be4486b71a58620a) fix: use `AST.Program` type for Program node ([#​20244](https://github.com/eslint/eslint/issues/20244)) (Francesco Trotta)
- [`ae07f0b`](https://github.com/eslint/eslint/commit/ae07f0b3334ebd22ae2e7b09bca5973b96aa9768) fix: unify timing report for concurrent linting ([#​20188](https://github.com/eslint/eslint/issues/20188)) (jaymarvelz)
- [`b165d47`](https://github.com/eslint/eslint/commit/b165d471be6062f4475b972155b02654a974a0e9) fix: correct `Rule` typings ([#​20199](https://github.com/eslint/eslint/issues/20199)) (jaymarvelz)
- [`fb97cda`](https://github.com/eslint/eslint/commit/fb97cda70d87286a7dbd2457f578ef578d6905e8) fix: improve error message for missing fix function in suggestions ([#​20218](https://github.com/eslint/eslint/issues/20218)) (jaymarvelz)
##### Documentation
- [`d3e81e3`](https://github.com/eslint/eslint/commit/d3e81e30ee6be5a21151b7a17ef10a714b6059c0) docs: Always recommend to include a files property ([#​20158](https://github.com/eslint/eslint/issues/20158)) (Percy Ma)
- [`0f0385f`](https://github.com/eslint/eslint/commit/0f0385f1404dcadaba4812120b1ad02334dbd66a) docs: use consistent naming recommendation ([#​20250](https://github.com/eslint/eslint/issues/20250)) (Alex M. Spieslechner)
- [`a3b1456`](https://github.com/eslint/eslint/commit/a3b145609ac649fac837c8c0515cbb2a9321ca40) docs: Update README (GitHub Actions Bot)
- [`cf5f2dd`](https://github.com/eslint/eslint/commit/cf5f2dd58dd98084a21da04fe7b9054b9478d552) docs: fix correct tag of `no-useless-constructor` ([#​20255](https://github.com/eslint/eslint/issues/20255)) (Tanuj Kanti)
- [`10b995c`](https://github.com/eslint/eslint/commit/10b995c8e5473de8d66d3cd99d816e046f35e3ec) docs: add TS options and examples for `nofunc` in `no-use-before-define` ([#​20249](https://github.com/eslint/eslint/issues/20249)) (Tanuj Kanti)
- [`2584187`](https://github.com/eslint/eslint/commit/2584187e4a305ea7a98e1a5bd4dca2a60ad132f8) docs: remove repetitive word in comment ([#​20242](https://github.com/eslint/eslint/issues/20242)) (reddaisyy)
- [`637216b`](https://github.com/eslint/eslint/commit/637216bd4f2aae7c928ad04a4e40eecffb50c9e5) docs: update CLI flags migration instructions ([#​20238](https://github.com/eslint/eslint/issues/20238)) (jaymarvelz)
- [`e7cda3b`](https://github.com/eslint/eslint/commit/e7cda3bdf1bdd664e6033503a3315ad81736b200) docs: Update README (GitHub Actions Bot)
- [`7b9446f`](https://github.com/eslint/eslint/commit/7b9446f7cc2054aa2cdf8e6225f4ac15a03671a8) docs: handle empty flags sections on the feature flags page ([#​20222](https://github.com/eslint/eslint/issues/20222)) (sethamus)
##### Chores
- [`dfe3c1b`](https://github.com/eslint/eslint/commit/dfe3c1b2034228765c48c8a445554223767dd16d) chore: update `@eslint/js` version to 9.39.0 ([#​20270](https://github.com/eslint/eslint/issues/20270)) (Francesco Trotta)
- [`2375a6d`](https://github.com/eslint/eslint/commit/2375a6de8263393c129d41cac1b407b40111a73c) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`a1f4e52`](https://github.com/eslint/eslint/commit/a1f4e52d67c94bef61edd1607dcd130047c1baf0) chore: update `@eslint` dependencies ([#​20265](https://github.com/eslint/eslint/issues/20265)) (Francesco Trotta)
- [`c7d3229`](https://github.com/eslint/eslint/commit/c7d32298482752eeac9fb46378d4f1ea095f3836) chore: update dependency [@​eslint/core](https://github.com/eslint/core) to ^0.17.0 ([#​20256](https://github.com/eslint/eslint/issues/20256)) (renovate\[bot])
- [`27549bc`](https://github.com/eslint/eslint/commit/27549bc774c7c2dc5c569070a3e87c62f602bf7d) chore: update fuzz testing to not error if code sample minimizer fails ([#​20252](https://github.com/eslint/eslint/issues/20252)) (Milos Djermanovic)
- [`a1370ee`](https://github.com/eslint/eslint/commit/a1370ee40e9d8e0e41843f3278cd745fc1ad543f) ci: bump actions/setup-node from 5 to 6 ([#​20230](https://github.com/eslint/eslint/issues/20230)) (dependabot\[bot])
- [`9e7fad4`](https://github.com/eslint/eslint/commit/9e7fad4a1867709060686d03e0ec1d0d69671cfb) chore: add script to auto-generate eslint:recommended configuration ([#​20208](https://github.com/eslint/eslint/issues/20208)) (唯然)
### [`v9.38.0`](https://github.com/eslint/eslint/releases/tag/v9.38.0)
[Compare Source](https://github.com/eslint/eslint/compare/v9.37.0...v9.38.0)
##### Features
- [`ce40f74`](https://github.com/eslint/eslint/commit/ce40f74efd45f66d9fbfc6f78ce622ee72008485) feat: update `complexity` rule to only highlight function header ([#​20048](https://github.com/eslint/eslint/issues/20048)) (Atul Nair)
- [`e37e590`](https://github.com/eslint/eslint/commit/e37e590aae2a7fcca4d3a9adc1379ad466e5c5d1) feat: correct `no-loss-of-precision` false positives with `e` notation ([#​20187](https://github.com/eslint/eslint/issues/20187)) (Francesco Trotta)
##### Bug Fixes
- [`50c3dfd`](https://github.com/eslint/eslint/commit/50c3dfd98065622765a51a8ddb1e70c44fc5a4cb) fix: improve type support for isolated dependencies in pnpm ([#​20201](https://github.com/eslint/eslint/issues/20201)) (Francesco Trotta)
- [`a1f06a3`](https://github.com/eslint/eslint/commit/a1f06a350c4155c4dbf39bf932a38d71d70f1b65) fix: correct SourceCode typings ([#​20114](https://github.com/eslint/eslint/issues/20114)) (Pixel998)
##### Documentation
- [`462675a`](https://github.com/eslint/eslint/commit/462675af8a811f9ca984efaedbdc5b46b13ced7a) docs: improve web accessibility by hiding non-semantic character ([#​20205](https://github.com/eslint/eslint/issues/20205)) (루밀LuMir)
- [`c070e65`](https://github.com/eslint/eslint/commit/c070e65f6bb9e38d06a89ba2b3261781bec3d397) docs: correct formatting in `no-irregular-whitespace` rule documentation ([#​20203](https://github.com/eslint/eslint/issues/20203)) (루밀LuMir)
- [`b39e71a`](https://github.com/eslint/eslint/commit/b39e71a2130ae1ea3fbc19b19f5b951eb625722a) docs: Update README (GitHub Actions Bot)
- [`cd39983`](https://github.com/eslint/eslint/commit/cd3998314876a4fad6463d9011bc73778ccc1fd9) docs: move `custom-formatters` type descriptions to `nodejs-api` ([#​20190](https://github.com/eslint/eslint/issues/20190)) (Percy Ma)
##### Chores
- [`d17c795`](https://github.com/eslint/eslint/commit/d17c795bf1624e0604998482b98e6bb6bff39045) chore: upgrade [@​eslint/js](https://github.com/eslint/js)[@​9](https://github.com/9).38.0 ([#​20221](https://github.com/eslint/eslint/issues/20221)) (Milos Djermanovic)
- [`25d0e33`](https://github.com/eslint/eslint/commit/25d0e33270e08baed09dbee2cdd56a8e5cd9da0f) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`c82b5ef`](https://github.com/eslint/eslint/commit/c82b5efa1fc91900e029efa23e688fad67fc17fa) refactor: Use types from [@​eslint/core](https://github.com/eslint/core) ([#​20168](https://github.com/eslint/eslint/issues/20168)) (Nicholas C. Zakas)
- [`ff31609`](https://github.com/eslint/eslint/commit/ff31609f195654d448954210ba4d31e921d463e8) ci: add Node.js 25 to `ci.yml` ([#​20220](https://github.com/eslint/eslint/issues/20220)) (루밀LuMir)
- [`004577e`](https://github.com/eslint/eslint/commit/004577eda2f2f4b2829e0364f8b41893cebfc859) ci: bump github/codeql-action from 3 to 4 ([#​20211](https://github.com/eslint/eslint/issues/20211)) (dependabot\[bot])
- [`eac71fb`](https://github.com/eslint/eslint/commit/eac71fb77113de7bf199ff20c6ee44cefcb59848) test: remove use of `nodejsScope` option of eslint-scope from tests ([#​20206](https://github.com/eslint/eslint/issues/20206)) (Milos Djermanovic)
- [`4168a18`](https://github.com/eslint/eslint/commit/4168a18b7efd8facbbd71cd44a62942a9f656a30) chore: fix typo in legacy-eslint.js ([#​20202](https://github.com/eslint/eslint/issues/20202)) (Sweta Tanwar)
- [`205dbd2`](https://github.com/eslint/eslint/commit/205dbd2d9272e761574c478e3b0181f7b89ed0f6) chore: fix typos ([#​20200](https://github.com/eslint/eslint/issues/20200)) (ntnyq)
- [`dbb200e`](https://github.com/eslint/eslint/commit/dbb200e3604e63bba23a18d40089ca44604835ed) chore: use team member's username when name is not available in data ([#​20194](https://github.com/eslint/eslint/issues/20194)) (Milos Djermanovic)
- [`8962089`](https://github.com/eslint/eslint/commit/8962089edbd978b43513576387a134036b8e2d36) chore: mark deprecated rules as available until v11.0.0 ([#​20184](https://github.com/eslint/eslint/issues/20184)) (Pixel998)
### [`v9.37.0`](https://github.com/eslint/eslint/releases/tag/v9.37.0)
[Compare Source](https://github.com/eslint/eslint/compare/v9.36.0...v9.37.0)
##### Features
- [`39f7fb4`](https://github.com/eslint/eslint/commit/39f7fb493a6924ff7dc638fd4d6e7b3d8eb95383) feat: `preserve-caught-error` should recognize all static "cause" keys ([#​20163](https://github.com/eslint/eslint/issues/20163)) (Pixel998)
- [`f81eabc`](https://github.com/eslint/eslint/commit/f81eabc5849ece98b8ca054f96b29f038a69bcf8) feat: support TS syntax in `no-restricted-imports` ([#​19562](https://github.com/eslint/eslint/issues/19562)) (Nitin Kumar)
##### Bug Fixes
- [`a129cce`](https://github.com/eslint/eslint/commit/a129cced7a86ea2518eb9be6990fa18af39694ca) fix: correct `no-loss-of-precision` false positives for leading zeros ([#​20164](https://github.com/eslint/eslint/issues/20164)) (Francesco Trotta)
- [`09e04fc`](https://github.com/eslint/eslint/commit/09e04fcc3f4cc963eea7c9c579391de5e231595b) fix: add missing AST token types ([#​20172](https://github.com/eslint/eslint/issues/20172)) (Pixel998)
- [`861c6da`](https://github.com/eslint/eslint/commit/861c6da2bd2796414e6eed782155ec34e2ed6344) fix: correct `ESLint` typings ([#​20122](https://github.com/eslint/eslint/issues/20122)) (Pixel998)
##### Documentation
- [`b950359`](https://github.com/eslint/eslint/commit/b950359c5f39085483c3137a6a160e582ef32007) docs: fix typos across the docs ([#​20182](https://github.com/eslint/eslint/issues/20182)) (루밀LuMir)
- [`42498a2`](https://github.com/eslint/eslint/commit/42498a27981d50750dd15ae8660dbe85c4f4587c) docs: improve ToC accessibility by hiding non-semantic character ([#​20181](https://github.com/eslint/eslint/issues/20181)) (Percy Ma)
- [`29ea092`](https://github.com/eslint/eslint/commit/29ea092b93608756350b1e9c5a4f29c8a49264ab) docs: Update README (GitHub Actions Bot)
- [`5c97a04`](https://github.com/eslint/eslint/commit/5c97a04578e6280c2395f642c2d8d6bdf30eec18) docs: show `availableUntil` in deprecated rule banner ([#​20170](https://github.com/eslint/eslint/issues/20170)) (Pixel998)
- [`90a71bf`](https://github.com/eslint/eslint/commit/90a71bf5024a86fc232cd2e05f96811e2a18fd0f) docs: update `README` files to add badge and instructions ([#​20115](https://github.com/eslint/eslint/issues/20115)) (루밀LuMir)
- [`1603ae1`](https://github.com/eslint/eslint/commit/1603ae1526d9b6f557c7d5534a4f40f46842edd6) docs: update references from `master` to `main` ([#​20153](https://github.com/eslint/eslint/issues/20153)) (루밀LuMir)
##### Chores
- [`afe8a13`](https://github.com/eslint/eslint/commit/afe8a1346958242031fea66fdfbb239e8bf408b7) chore: update `@eslint/js` dependency to version 9.37.0 ([#​20183](https://github.com/eslint/eslint/issues/20183)) (Francesco Trotta)
- [`abee4ca`](https://github.com/eslint/eslint/commit/abee4ca1fa10da733b1cc4a7d5e765b912a9de82) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`fc9381f`](https://github.com/eslint/eslint/commit/fc9381f6ca57b824e82d118c14631c17bea79d7e) chore: fix typos in comments ([#​20175](https://github.com/eslint/eslint/issues/20175)) (overlookmotel)
- [`e1574a2`](https://github.com/eslint/eslint/commit/e1574a22d38fd7e1891f86f8db0b09053f8963cb) chore: unpin jiti ([#​20173](https://github.com/eslint/eslint/issues/20173)) (renovate\[bot])
- [`e1ac05e`](https://github.com/eslint/eslint/commit/e1ac05e2fae779e738f85bd47dda1cc2b7099346) refactor: mark `ESLint.findConfigFile()` as `async`, add missing docs ([#​20157](https://github.com/eslint/eslint/issues/20157)) (Pixel998)
- [`347906d`](https://github.com/eslint/eslint/commit/347906d627c53bf45d63ba831d2fd2b83fb0a749) chore: update eslint ([#​20149](https://github.com/eslint/eslint/issues/20149)) (renovate\[bot])
- [`0cb5897`](https://github.com/eslint/eslint/commit/0cb5897e24059bacadb8d2e6458184904759fda1) test: remove tmp dir created for circular fixes in multithread mode test ([#​20146](https://github.com/eslint/eslint/issues/20146)) (Milos Djermanovic)
- [`bb99566`](https://github.com/eslint/eslint/commit/bb995665e32b3a958e78006c9fd75744c5604f1b) ci: pin `jiti` to version 2.5.1 ([#​20151](https://github.com/eslint/eslint/issues/20151)) (Pixel998)
- [`177f669`](https://github.com/eslint/eslint/commit/177f669adc0f96d14ae1a71cde7786f327515863) perf: improve worker count calculation for `"auto"` concurrency ([#​20067](https://github.com/eslint/eslint/issues/20067)) (Francesco Trotta)
- [`448b57b`](https://github.com/eslint/eslint/commit/448b57bca3406ee12c4e44e9298fc0c99d3ee10c) chore: Mark deprecated formatting rules as available until v11.0.0 ([#​20144](https://github.com/eslint/eslint/issues/20144)) (Milos Djermanovic)
### [`v9.36.0`](https://github.com/eslint/eslint/releases/tag/v9.36.0)
[Compare Source](https://github.com/eslint/eslint/compare/v9.35.0...v9.36.0)
##### Features
- [`47afcf6`](https://github.com/eslint/eslint/commit/47afcf668df65eac68d7b04145d037037010a076) feat: correct `preserve-caught-error` edge cases ([#​20109](https://github.com/eslint/eslint/issues/20109)) (Francesco Trotta)
##### Bug Fixes
- [`75b74d8`](https://github.com/eslint/eslint/commit/75b74d865d3b8e7fa3bcf5ad29f4bf6d18d1310e) fix: add missing rule option types ([#​20127](https://github.com/eslint/eslint/issues/20127)) (ntnyq)
- [`1c0d850`](https://github.com/eslint/eslint/commit/1c0d85049e3f30a8809340c1abc881c63b7812ff) fix: update `eslint-all.js` to use `Object.freeze` for `rules` object ([#​20116](https://github.com/eslint/eslint/issues/20116)) (루밀LuMir)
- [`7d61b7f`](https://github.com/eslint/eslint/commit/7d61b7fadc9c5c6f2b131e37e8a3cffa5aae8ee6) fix: add missing scope types to `Scope.type` ([#​20110](https://github.com/eslint/eslint/issues/20110)) (Pixel998)
- [`7a670c3`](https://github.com/eslint/eslint/commit/7a670c301b58609017ce8cfda99ee81f95de3898) fix: correct rule option typings in `rules.d.ts` ([#​20084](https://github.com/eslint/eslint/issues/20084)) (Pixel998)
##### Documentation
- [`b73ab12`](https://github.com/eslint/eslint/commit/b73ab12acd3e87f8d8173cda03499f6cd1f26db6) docs: update examples to use `defineConfig` ([#​20131](https://github.com/eslint/eslint/issues/20131)) (sethamus)
- [`31d9392`](https://github.com/eslint/eslint/commit/31d93926990fba536846ec727d7a2625fc844649) docs: fix typos ([#​20118](https://github.com/eslint/eslint/issues/20118)) (Pixel998)
- [`c7f861b`](https://github.com/eslint/eslint/commit/c7f861b3f8c1ac961b4cd4f22483798f3324c62b) docs: Update README (GitHub Actions Bot)
- [`6b0c08b`](https://github.com/eslint/eslint/commit/6b0c08b106aa66f2e9fa484282f0eb63c64a1215) docs: Update README (GitHub Actions Bot)
- [`91f97c5`](https://github.com/eslint/eslint/commit/91f97c50468fbdc089c91e99c2ea0fe821911df2) docs: Update README (GitHub Actions Bot)
##### Chores
- [`12411e8`](https://github.com/eslint/eslint/commit/12411e8d450ed26a5f7cca6a78ec05323c9323e8) chore: upgrade [@​eslint/js](https://github.com/eslint/js)[@​9](https://github.com/9).36.0 ([#​20139](https://github.com/eslint/eslint/issues/20139)) (Milos Djermanovic)
- [`488cba6`](https://github.com/eslint/eslint/commit/488cba6b391b97b2cfc74bbb46fdeacb1361949e) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`bac82a2`](https://github.com/eslint/eslint/commit/bac82a2a9c80a3f69087852758d7737aea371f09) ci: simplify renovate configuration ([#​19907](https://github.com/eslint/eslint/issues/19907)) (唯然)
- [`c00bb37`](https://github.com/eslint/eslint/commit/c00bb37d62c1bcc0a37f094371be9c40064009f1) ci: bump actions/labeler from 5 to 6 ([#​20090](https://github.com/eslint/eslint/issues/20090)) (dependabot\[bot])
- [`fee751d`](https://github.com/eslint/eslint/commit/fee751dc8aeab54547af4538332ea5c069ef28b6) refactor: use `defaultOptions` in rules ([#​20121](https://github.com/eslint/eslint/issues/20121)) (Pixel998)
- [`1ace67d`](https://github.com/eslint/eslint/commit/1ace67d9f7903adc3d3f09868aa05b673e7d3f3b) chore: update example to use `defineConfig` ([#​20111](https://github.com/eslint/eslint/issues/20111)) (루밀LuMir)
- [`4821963`](https://github.com/eslint/eslint/commit/4821963bf765532069c49e9da9ecbe9485b073fc) test: add missing loc information to error objects in rule tests ([#​20112](https://github.com/eslint/eslint/issues/20112)) (루밀LuMir)
- [`b42c42e`](https://github.com/eslint/eslint/commit/b42c42e7cd3ac9ee1b5a15f16ff25b325d0482e4) chore: disallow use of deprecated `type` property in core rule tests ([#​20094](https://github.com/eslint/eslint/issues/20094)) (Milos Djermanovic)
- [`7bb498d`](https://github.com/eslint/eslint/commit/7bb498d720dcd054cc042ca4b60b138d8485f07c) test: remove deprecated `type` property from core rule tests ([#​20093](https://github.com/eslint/eslint/issues/20093)) (Pixel998)
- [`e10cf2a`](https://github.com/eslint/eslint/commit/e10cf2ab42fe5b481d980dc652f7504414747733) ci: bump actions/setup-node from 4 to 5 ([#​20089](https://github.com/eslint/eslint/issues/20089)) (dependabot\[bot])
- [`5cb0ce4`](https://github.com/eslint/eslint/commit/5cb0ce48ef6cfbbe6d09131c33a53f9d66fe9bd4) refactor: use `meta.defaultOptions` in `preserve-caught-error` ([#​20080](https://github.com/eslint/eslint/issues/20080)) (Pixel998)
- [`f9f7cb5`](https://github.com/eslint/eslint/commit/f9f7cb578dced3c14f635e17c75aa6744d291f4d) chore: package.json update for eslint-config-eslint release (Jenkins)
- [`81764b2`](https://github.com/eslint/eslint/commit/81764b298065a328038cd067bc8fedef97e57500) chore: update `eslint` peer dependency in `eslint-config-eslint` ([#​20079](https://github.com/eslint/eslint/issues/20079)) (Milos Djermanovic)
### [`v9.35.0`](https://github.com/eslint/eslint/releases/tag/v9.35.0)
[Compare Source](https://github.com/eslint/eslint/compare/v9.34.0...v9.35.0)
##### Features
- [`42761fa`](https://github.com/eslint/eslint/commit/42761fa7c872fb9e14c144b692af6967b3662082) feat: implement suggestions for no-empty-function ([#​20057](https://github.com/eslint/eslint/issues/20057)) (jaymarvelz)
- [`102f444`](https://github.com/eslint/eslint/commit/102f44442ac9bf1fcd4ba6ab9fae43ce09199df6) feat: implement suggestions for no-empty-static-block ([#​20056](https://github.com/eslint/eslint/issues/20056)) (jaymarvelz)
- [`e51ffff`](https://github.com/eslint/eslint/commit/e51ffff737ca245b3a1d115cb11e1c99737249a3) feat: add `preserve-caught-error` rule ([#​19913](https://github.com/eslint/eslint/issues/19913)) (Amnish Singh Arora)
##### Bug Fixes
- [`10e7ae2`](https://github.com/eslint/eslint/commit/10e7ae23e30ea0834d9fdeb3a2a1db8103c36cd2) fix: update uncloneable options error message ([#​20059](https://github.com/eslint/eslint/issues/20059)) (soda-sorcery)
- [`bfa4601`](https://github.com/eslint/eslint/commit/bfa46013e7ea9a522c02f72250fa07160f96a6b8) fix: ignore empty switch statements with comments in no-empty rule ([#​20045](https://github.com/eslint/eslint/issues/20045)) (jaymarvelz)
- [`dfd11de`](https://github.com/eslint/eslint/commit/dfd11deb24fc733faa5db751a2f615eb04e48b15) fix: add `before` and `after` to test case types ([#​20049](https://github.com/eslint/eslint/issues/20049)) (Francesco Trotta)
- [`dabbe95`](https://github.com/eslint/eslint/commit/dabbe95c39671c5fa272da012ee1432aa088650f) fix: correct types for `no-restricted-imports` rule ([#​20034](https://github.com/eslint/eslint/issues/20034)) (Milos Djermanovic)
- [`ea789c7`](https://github.com/eslint/eslint/commit/ea789c7dd234c1a6be499a4644dd0f5c97615972) fix: no-loss-of-precision false positive with uppercase exponent ([#​20032](https://github.com/eslint/eslint/issues/20032)) (sethamus)
##### Documentation
- [`d265515`](https://github.com/eslint/eslint/commit/d265515642f65246bcd45c17979f67c2afb12f95) docs: improve phrasing - "if" → "even if" from getting-started section ([#​20074](https://github.com/eslint/eslint/issues/20074)) (jjangga0214)
- [`a355a0e`](https://github.com/eslint/eslint/commit/a355a0e5b2e6a47cda099b31dc7d112cfb5c4315) docs: invert comparison logic for example in `no-var` doc page ([#​20064](https://github.com/eslint/eslint/issues/20064)) (OTonGitHub)
- [`5082fc2`](https://github.com/eslint/eslint/commit/5082fc206de6946d9d4c20e57301f78839b3b9f2) docs: Update README (GitHub Actions Bot)
- [`99cfd7e`](https://github.com/eslint/eslint/commit/99cfd7e056e1703941c9eb8ca1ae7fdb1987ba9d) docs: add missing "the" in rule deprecation docs ([#​20050](https://github.com/eslint/eslint/issues/20050)) (Josh Goldberg ✨)
- [`6ad8973`](https://github.com/eslint/eslint/commit/6ad8973e5d3c94b8e100b7266f55f8eb0757eb00) docs: update `--no-ignore` and `--ignore-pattern` documentation ([#​20036](https://github.com/eslint/eslint/issues/20036)) (Francesco Trotta)
- [`8033b19`](https://github.com/eslint/eslint/commit/8033b195299a1eaa4a0ed6553d9e034a457bb577) docs: add documentation for `--no-config-lookup` ([#​20033](https://github.com/eslint/eslint/issues/20033)) (Francesco Trotta)
##### Chores
- [`da87f2f`](https://github.com/eslint/eslint/commit/da87f2fe792cab5b69b62bf5c15e69ab4f433087) chore: upgrade [@​eslint/js](https://github.com/eslint/js)[@​9](https://github.com/9).35.0 ([#​20077](https://github.com/eslint/eslint/issues/20077)) (Milos Djermanovic)
- [`af2a087`](https://github.com/eslint/eslint/commit/af2a0870fdc646091d027516601888923e5bc202) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`7055764`](https://github.com/eslint/eslint/commit/70557649e3111c55d8cddf678b6c4079aa6f0ccc) test: remove `tests/lib/eslint/eslint.config.js` ([#​20065](https://github.com/eslint/eslint/issues/20065)) (Milos Djermanovic)
- [`84ffb96`](https://github.com/eslint/eslint/commit/84ffb9680b15e45bfd8c8a5db4731576ddd16fc4) chore: update `@eslint-community/eslint-utils` ([#​20069](https://github.com/eslint/eslint/issues/20069)) (Francesco Trotta)
- [`d5ef939`](https://github.com/eslint/eslint/commit/d5ef9397150cc178e1f9891c3ff49ac4871ec786) refactor: remove deprecated `context.parserOptions` usage across rules ([#​20060](https://github.com/eslint/eslint/issues/20060)) (sethamus)
- [`1b3881d`](https://github.com/eslint/eslint/commit/1b3881d7e859bec9589e39888656c33c914a8302) chore: remove redundant word ([#​20058](https://github.com/eslint/eslint/issues/20058)) (pxwanglu)
### [`v9.34.0`](https://github.com/eslint/eslint/releases/tag/v9.34.0)
[Compare Source](https://github.com/eslint/eslint/compare/v9.33.0...v9.34.0)
##### Features
- [`0bb777a`](https://github.com/eslint/eslint/commit/0bb777a82b533df595cd520d9c89d291efa14a33) feat: multithread linting ([#​19794](https://github.com/eslint/eslint/issues/19794)) (Francesco Trotta)
- [`43a5f9e`](https://github.com/eslint/eslint/commit/43a5f9e36f1aade16f81fc49ef4b333660faadab) feat: add eslint-plugin-regexp to eslint-config-eslint base config ([#​19951](https://github.com/eslint/eslint/issues/19951)) (Pixel998)
##### Bug Fixes
- [`9b89903`](https://github.com/eslint/eslint/commit/9b8990397b2d2ed70771bb0e2070261a0c41782c) fix: default value of accessor-pairs option in rule.d.ts file ([#​20024](https://github.com/eslint/eslint/issues/20024)) (Tanuj Kanti)
- [`6c07420`](https://github.com/eslint/eslint/commit/6c074206ae0eae4816197a57648b415832a20e1d) fix: fix spurious failure in neostandard integration test ([#​20023](https://github.com/eslint/eslint/issues/20023)) (Kirk Waiblinger)
- [`676f4ac`](https://github.com/eslint/eslint/commit/676f4acaaed6e4f6ffe0c2e21272d4702b311a7b) fix: allow scientific notation with trailing zeros matching exponent ([#​20002](https://github.com/eslint/eslint/issues/20002)) (Sweta Tanwar)
##### Documentation
- [`0b4a590`](https://github.com/eslint/eslint/commit/0b4a590333b73a21b9e0ddc98462680e09fe3232) docs: make rulesdir deprecation clearer ([#​20018](https://github.com/eslint/eslint/issues/20018)) (Domenico Gemoli)
- [`327c672`](https://github.com/eslint/eslint/commit/327c67256fbeaf9d5e365802c2a11f5d32a16522) docs: Update README (GitHub Actions Bot)
- [`bf26229`](https://github.com/eslint/eslint/commit/bf2622991f5b892610a8c3343ff16519e5fd7a79) docs: Fix typo in core-concepts/index.md ([#​20009](https://github.com/eslint/eslint/issues/20009)) (Tobias Hernstig)
- [`2309327`](https://github.com/eslint/eslint/commit/2309327554acbf011f0d17e7b36fdd68e43adf3a) docs: fix typo in the "Configuring Rules" section ([#​20001](https://github.com/eslint/eslint/issues/20001)) (ghazi-git)
- [`2b87e21`](https://github.com/eslint/eslint/commit/2b87e21321422c120c2248dae25cac7f9eec0f29) docs: \[no-else-return] clarify sample code. ([#​19991](https://github.com/eslint/eslint/issues/19991)) (Yuki Takada (Yukinosuke Takada))
- [`c36570c`](https://github.com/eslint/eslint/commit/c36570c6657c2a92dbb4f09a8166a4d9909a091a) docs: Update README (GitHub Actions Bot)
##### Chores
- [`f19ad94`](https://github.com/eslint/eslint/commit/f19ad9493e0ca04c2c1455fbb3402eaad993a8be) chore: upgrade to `@eslint/[email protected]` ([#​20030](https://github.com/eslint/eslint/issues/20030)) (Francesco Trotta)
- [`b48fa20`](https://github.com/eslint/eslint/commit/b48fa20034e53bc65d1a58f3d834705e3087b00c) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`4bce8a2`](https://github.com/eslint/eslint/commit/4bce8a250262ec47207bc260581f979e40c86bda) chore: package.json update for eslint-config-eslint release (Jenkins)
- [`0c9999c`](https://github.com/eslint/eslint/commit/0c9999c2a682151cf13bb3a4f8916930678c2f9b) refactor: prefer default options in `grouped-accessor-pairs` ([#​20028](https://github.com/eslint/eslint/issues/20028)) (루밀LuMir)
- [`d503f19`](https://github.com/eslint/eslint/commit/d503f1981354c7b86e423879846c61e0405af8fe) ci: fix `stale.yml` ([#​20010](https://github.com/eslint/eslint/issues/20010)) (루밀LuMir)
- [`e2dc67d`](https://github.com/eslint/eslint/commit/e2dc67d8b028147de4da35c64efe1d74c9f6a883) ci: centralize `stale.yml` ([#​19994](https://github.com/eslint/eslint/issues/19994)) (루밀LuMir)
- [`7093cb8`](https://github.com/eslint/eslint/commit/7093cb8f590ec2a1b5364d7b5687e9b5f4e06f8a) ci: bump actions/checkout from 4 to 5 ([#​20005](https://github.com/eslint/eslint/issues/20005)) (dependabot\[bot])
### [`v9.33.0`](https://github.com/eslint/eslint/releases/tag/v9.33.0)
[Compare Source](https://github.com/eslint/eslint/compare/v9.32.0...v9.33.0)
##### Features
- [`e07820e`](https://github.com/eslint/eslint/commit/e07820e66fd1fceaf2620dc931154955a706cc0f) feat: add global object access detection to no-restricted-globals ([#​19939](https://github.com/eslint/eslint/issues/19939)) (sethamus)
- [`90b050e`](https://github.com/eslint/eslint/commit/90b050ec11557cab08b6be9f05fabf97dba6a63d) feat: support explicit resource management in `one-var` ([#​19941](https://github.com/eslint/eslint/issues/19941)) (Sweta Tanwar)
##### Bug Fixes
- [`732433c`](https://github.com/eslint/eslint/commit/732433c4fb023f45154b825cdc8cdaf1979d4336) fix: allow any type for `meta.docs.recommended` in custom rules ([#​19995](https://github.com/eslint/eslint/issues/19995)) (Francesco Trotta)
- [`e8a6914`](https://github.com/eslint/eslint/commit/e8a6914a249d036e12494004e586b2a2b6e104d1) fix: Fixed potential bug in check-emfile-handling.js ([#​19975](https://github.com/eslint/eslint/issues/19975)) (諏訪原慶斗)
##### Documentation
- [`34f0723`](https://github.com/eslint/eslint/commit/34f0723e2d0faf8ac8dc95ec56e6d181bd6b67f2) docs: playground button for TypeScript code example ([#​19671](https://github.com/eslint/eslint/issues/19671)) (Tanuj Kanti)
- [`dc942a4`](https://github.com/eslint/eslint/commit/dc942a47daf41228d69072c52f1be20789426862) docs: Update README (GitHub Actions Bot)
- [`5a4b6f7`](https://github.com/eslint/eslint/commit/5a4b6f74320b72f9b6ad8b30f5c463b2b71315af) docs: Update no-multi-assign.md ([#​19979](https://github.com/eslint/eslint/issues/19979)) (Yuki Takada (Yukinosuke Takada))
- [`247e156`](https://github.com/eslint/eslint/commit/247e15698e34919a0cd411842fb3e14ac7a8f1ba) docs: add missing let declarations in `no-plusplus` ([#​19980](https://github.com/eslint/eslint/issues/19980)) (Yuki Takada (Yukinosuke Takada))
- [`0d17242`](https://github.com/eslint/eslint/commit/0d17242b3c25c2ddf8363f4560641acd1ae82ca9) docs: Update README (GitHub Actions Bot)
- [`fa20b9d`](https://github.com/eslint/eslint/commit/fa20b9db8ff90ea9f0527118114dda17c656d095) docs: Clarify when to open an issue for a MR ([#​19974](https://github.com/eslint/eslint/issues/19974)) (Nicholas C. Zakas)
##### Build Related
- [`27fa865`](https://github.com/eslint/eslint/commit/27fa86551bd173387e29a139293de78b0e14f0f3) build: use `ESLint` class to generate formatter examples ([#​19972](https://github.com/eslint/eslint/issues/19972)) (Milos Djermanovic)
##### Chores
- [`4258046`](https://github.com/eslint/eslint/commit/425804602ecb9ee5f54d1c38a473cf20538420c5) chore: update dependency [@​eslint/js](https://github.com/eslint/js) to v9.33.0 ([#​19998](https://github.com/eslint/eslint/issues/19998)) (renovate\[bot])
- [`ad28371`](https://github.com/eslint/eslint/commit/ad283717ed4764a171120ca7c6cba82a78fa024c) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`06a22f1`](https://github.com/eslint/eslint/commit/06a22f154c08ea044b3172b357b226d34dfefc6a) test: resolve flakiness in --mcp flag test ([#​19993](https://github.com/eslint/eslint/issues/19993)) (Pixel998)
- [`54920ed`](https://github.com/eslint/eslint/commit/54920ed229693f23650dace6e567bf44413aaf98) test: switch to `Linter.Config` in `ESLintRules` type tests ([#​19977](https://github.com/eslint/eslint/issues/19977)) (Francesco Trotta)
### [`v9.32.0`](https://github.com/eslint/eslint/releases/tag/v9.32.0)
[Compare Source](https://github.com/eslint/eslint/compare/v9.31.0...v9.32.0)
#### Features
- [`1245000`](https://github.com/eslint/eslint/commit/1245000c5a81954d42f0c7eb670efe450c3bbad5) feat: support explicit resource management in core rules ([#​19828](https://github.com/eslint/eslint/issues/19828)) (fnx)
- [`0e957a7`](https://github.com/eslint/eslint/commit/0e957a7b5528f375a51e7c1a2fd1b03cdcd2af2d) feat: support typescript types in accessor rules ([#​19882](https://github.com/eslint/eslint/issues/19882)) (fnx)
#### Bug Fixes
- [`960fd40`](https://github.com/eslint/eslint/commit/960fd40dfd204af30726b49b6bec714fe49a606e) fix: Upgrade [@​eslint/js](https://github.com/eslint/js) ([#​19971](https://github.com/eslint/eslint/issues/19971)) (Nicholas C. Zakas)
- [`bbf23fa`](https://github.com/eslint/eslint/commit/bbf23fa2f1c6058f6cb5c9f2f32460a15e75e596) fix: Refactor reporting into FileReport ([#​19877](https://github.com/eslint/eslint/issues/19877)) (Nicholas C. Zakas)
- [`d498887`](https://github.com/eslint/eslint/commit/d4988872f375890bf677ce1a1d92a505085b51fa) fix: bump [@​eslint/plugin-kit](https://github.com/eslint/plugin-kit) to 0.3.4 to resolve vulnerability ([#​19965](https://github.com/eslint/eslint/issues/19965)) (Milos Djermanovic)
- [`f46fc6c`](https://github.com/eslint/eslint/commit/f46fc6c137c951bc73cf3bd9446053c1b11f769b) fix: report only global references in no-implied-eval ([#​19932](https://github.com/eslint/eslint/issues/19932)) (Nitin Kumar)
- [`7863d26`](https://github.com/eslint/eslint/commit/7863d26b7cfb03a81ec86f93439757ff60bf6afb) fix: remove outdated types in `ParserOptions.ecmaFeatures` ([#​19944](https://github.com/eslint/eslint/issues/19944)) (ntnyq)
- [`3173305`](https://github.com/eslint/eslint/commit/317330552e2d276221c7f2dd9c1516ad8b41cc3c) fix: update execScript message in no-implied-eval rule ([#​19937](https://github.com/eslint/eslint/issues/19937)) (TKDev7)
#### Documentation
- [`86e7426`](https://github.com/eslint/eslint/commit/86e7426e4463ca49ffa5c82e825ecb6aa19ca8a0) docs: Update README (GitHub Actions Bot)
#### Chores
- [`50de1ce`](https://github.com/eslint/eslint/commit/50de1ced9df2b1ee48ee6843c8cfe0f5d8edbc27) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`74f01a3`](https://github.com/eslint/eslint/commit/74f01a3f5905aaa0902837ced2425209c09c048f) ci: unpin `jiti` to version `^2.5.1` ([#​19970](https://github.com/eslint/eslint/issues/19970)) (루밀LuMir)
- [`2ab1381`](https://github.com/eslint/eslint/commit/2ab13813a7e7f3014c35490b351447ec43229951) ci: pin `jiti` to version 2.4.2 ([#​19964](https://github.com/eslint/eslint/issues/19964)) (Francesco Trotta)
- [`b7f7545`](https://github.com/eslint/eslint/commit/b7f75454695079f54b77fcdc9ebe3b9199d5ad30) test: switch to flat config mode in `SourceCode` tests ([#​19953](https://github.com/eslint/eslint/issues/19953)) (Milos Djermanovic)
- [`f5a35e3`](https://github.com/eslint/eslint/commit/f5a35e3b7cee17cd31fc02c24c3e74b42ee202bc) test: switch to flat config mode in eslint-fuzzer ([#​19960](https://github.com/eslint/eslint/issues/19960)) (Milos Djermanovic)
- [`e22af8c`](https://github.com/eslint/eslint/commit/e22af8c42d622d8d912ee7bedf49bf4283247fdc) refactor: use `CustomRuleDefinitionType` in `JSRuleDefinition` ([#​19949](https://github.com/eslint/eslint/issues/19949)) (Francesco Trotta)
- [`e855717`](https://github.com/eslint/eslint/commit/e85571730f1360464b7ee00695c678d551f9c643) chore: switch performance tests to hyperfine ([#​19919](https://github.com/eslint/eslint/issues/19919)) (Francesco Trotta)
- [`2f73a23`](https://github.com/eslint/eslint/commit/2f73a23655092a41780859ffe0a07c44a2f1b5f5) test: switch to flat config mode in `ast-utils` tests ([#​19948](https://github.com/eslint/eslint/issues/19948)) (Milos Djermanovic)
- [`c565a53`](https://github.com/eslint/eslint/commit/c565a530f50c96dacd44e096f7d531b073aa4dc7) chore: exclude `further_reading_links.json` from Prettier formatting ([#​19943](https://github.com/eslint/eslint/issues/19943)) (Milos Djermanovic)
### [`v9.31.0`](https://github.com/eslint/eslint/releases/tag/v9.31.0)
[Compare Source](https://github.com/eslint/eslint/compare/v9.30.1...v9.31.0)
#### Features
- [`35cf44c`](https://github.com/eslint/eslint/commit/35cf44c22e36b1554486e7a75c870e86c10b83f8) feat: output full actual location in rule tester if different ([#​19904](https://github.com/eslint/eslint/issues/19904)) (ST-DDT)
- [`a6a6325`](https://github.com/eslint/eslint/commit/a6a63259de6cb5642f69c7be429554bbcedca4c0) feat: support explicit resource management in `no-loop-func` ([#​19895](https://github.com/eslint/eslint/issues/19895)) (Milos Djermanovic)
- [`4682cdc`](https://github.com/eslint/eslint/commit/4682cdc6960279ee17f23899fbab6f58d881eadf) feat: support explicit resource management in `no-undef-init` ([#​19894](https://github.com/eslint/eslint/issues/19894)) (Milos Djermanovic)
- [`5848216`](https://github.com/eslint/eslint/commit/58482165eaf597cc5c58216a956c301ae87520b3) feat: support explicit resource management in `init-declarations` ([#​19893](https://github.com/eslint/eslint/issues/19893)) (Milos Djermanovic)
- [`bb370b8`](https://github.com/eslint/eslint/commit/bb370b8e79f65ee32d9d89ecf249fb74a141ad22) feat: support explicit resource management in `no-const-assign` ([#​19892](https://github.com/eslint/eslint/issues/19892)) (Milos Djermanovic)
#### Bug Fixes
- [`07fac6c`](https://github.com/eslint/eslint/commit/07fac6cafa0426b4d1ea12d9001f3955f19b286d) fix: retry on EMFILE when writing autofix results ([#​19926](https://github.com/eslint/eslint/issues/19926)) (TKDev7)
- [`28cc7ab`](https://github.com/eslint/eslint/commit/28cc7abbb72b29b1cac6fc4253646a7839586064) fix: Remove incorrect RuleContext types ([#​19910](https://github.com/eslint/eslint/issues/19910)) (Nicholas C. Zakas)
#### Documentation
- [`664cb44`](https://github.com/eslint/eslint/commit/664cb44ab03785bd200a792607a7e20faa2d4b28) docs: Update README (GitHub Actions Bot)
- [`40dbe2a`](https://github.com/eslint/eslint/commit/40dbe2a43f83d366e9026faec70293512fb61ca2) docs: fix mismatch between `globalIgnores()` code and text ([#​19914](https://github.com/eslint/eslint/issues/19914)) (MaoShizhong)
- [`5a0069d`](https://github.com/eslint/eslint/commit/5a0069d60815246cf24e1c96125540792c2507ef) docs: Update README (GitHub Actions Bot)
- [`fef04b5`](https://github.com/eslint/eslint/commit/fef04b5c7fea99362d67b31b8e98cd4914020ed3) docs: Update working on issues info ([#​19902](https://github.com/eslint/eslint/issues/19902)) (Nicholas C. Zakas)
#### Chores
- [`3ddd454`](https://github.com/eslint/eslint/commit/3ddd454c1c73294e5af7905d60d03fac162f1b3e) chore: upgrade to `@eslint/[email protected]` ([#​19935](https://github.com/eslint/eslint/issues/19935)) (Francesco Trotta)
- [`d5054e5`](https://github.com/eslint/eslint/commit/d5054e5454a537e9ade238c768c262c6c592cbc1) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`0f4a378`](https://github.com/eslint/eslint/commit/0f4a3781fe7c11fad7b206c3c694655486ddd187) chore: update eslint ([#​19933](https://github.com/eslint/eslint/issues/19933)) (renovate\[bot])
- [`76c2340`](https://github.com/eslint/eslint/commit/76c2340c368f96db77439b5cd1df0196cc39bf3e) chore: bump mocha to v11 ([#​19917](https://github.com/eslint/eslint/issues/19917)) (루밀LuMir)
### [`v9.30.1`](https://github.com/eslint/eslint/releases/tag/v9.30.1)
[Compare Source](https://github.com/eslint/eslint/compare/v9.30.0...v9.30.1)
#### Bug Fixes
- [`e91bb87`](https://github.com/eslint/eslint/commit/e91bb870f8c6e38baa508f18048cd2a2d04b8b9c) fix: allow separate default and named type imports ([#​19899](https://github.com/eslint/eslint/issues/19899)) (xbinaryx)
#### Documentation
- [`ab7c625`](https://github.com/eslint/eslint/commit/ab7c62598a9fca498e495d45029ae92fd5fb9bf3) docs: Update README (GitHub Actions Bot)
- [`dae1e5b`](https://github.com/eslint/eslint/commit/dae1e5bb27db0e846efbe3026210013b42817838) docs: update jsdoc's link ([#​19896](https://github.com/eslint/eslint/issues/19896)) (JamesVanWaza)
#### Chores
- [`b035f74`](https://github.com/eslint/eslint/commit/b035f747c6e6d1c7a299c90b0ed0b8109cf24a53) chore: upgrade to `@eslint/[email protected]` ([#​19906](https://github.com/eslint/eslint/issues/19906)) (Francesco Trotta)
- [`b3dbc16`](https://github.com/eslint/eslint/commit/b3dbc16563cb7036d75edff9814e17053a645321) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
### [`v9.30.0`](https://github.com/eslint/eslint/releases/tag/v9.30.0)
[Compare Source](https://github.com/eslint/eslint/compare/v9.29.0...v9.30.0)
#### Features
- [`52a5fca`](https://github.com/eslint/eslint/commit/52a5fcaa4e0bb4e55c014c20ed47d6c93b107635) feat: Support `basePath` property in config objects ([#​19879](https://github.com/eslint/eslint/issues/19879)) (Milos Djermanovic)
- [`4ab4482`](https://github.com/eslint/eslint/commit/4ab44823df4d4b47d3650da949077a0551e7579e) feat: add `allowSeparateTypeImports` option to `no-duplicate-imports` ([#​19872](https://github.com/eslint/eslint/issues/19872)) (sethamus)
- [`b8a7e7a`](https://github.com/eslint/eslint/commit/b8a7e7aeb5f0ed2e1670771ab4dda6fd723d96eb) feat: throw error when column is negative in `getIndexFromLoc` ([#​19831](https://github.com/eslint/eslint/issues/19831)) (루밀LuMir)
#### Bug Fixes
- [`6a0f164`](https://github.com/eslint/eslint/commit/6a0f164543bf8461d6a27a740c9e08aa77cbe42d) fix: handle `null` type `loc` in `getIndexFromLoc` method ([#​19862](https://github.com/eslint/eslint/issues/19862)) (루밀LuMir)
- [`3fbcd70`](https://github.com/eslint/eslint/commit/3fbcd704a0b2aef2a6c1fc34d2bc4b35f6425067) fix: update error message for `no-restricted-properties` ([#​19855](https://github.com/eslint/eslint/issues/19855)) (Tanuj Kanti)
- [`7ef4cf7`](https://github.com/eslint/eslint/commit/7ef4cf76610d42727a404e495ac6d47868cf5040) fix: remove unnecessary semicolon from fixes ([#​19857](https://github.com/eslint/eslint/issues/19857)) (Francesco Trotta)
- [`7dabc38`](https://github.com/eslint/eslint/commit/7dabc38a8406d470fb2389eec2f0ad1ad214173e) fix: use `process.version` in `--env-info` ([#​19865](https://github.com/eslint/eslint/issues/19865)) (TKDev7)
#### Documentation
- [`8662ed1`](https://github.com/eslint/eslint/commit/8662ed1f6debc358e22812b145e117aa4a907d78) docs: adopt eslint-stylistic sub packages related changes ([#​19887](https://github.com/eslint/eslint/issues/19887)) (ntnyq)
- [`20158b0`](https://github.com/eslint/eslint/commit/20158b09db3430cf00b202ba8c25ce874bbaf00a) docs: typo in comment for unused variables handling ([#​19870](https://github.com/eslint/eslint/issues/19870)) (leopardracer)
- [`ebfb5b4`](https://github.com/eslint/eslint/commit/ebfb5b46136c4d737c9783333e3057421d1a0bef) docs: Fixed Typo in configuration-files.md ([#​19873](https://github.com/eslint/eslint/issues/19873)) (0-20)
- [`4112fd0`](https://github.com/eslint/eslint/commit/4112fd09531092e9651e9981205bcd603dc56acf) docs: clarify that boolean is still allowed for rule `meta.deprecated` ([#​19866](https://github.com/eslint/eslint/issues/19866)) (Bryan Mishkin)
#### Chores
- [`2b6491c`](https://github.com/eslint/eslint/commit/2b6491cd4b8eec44d4a3f8dea1b71151e8dd0230) chore: upgrade to `@eslint/[email protected]` ([#​19889](https://github.com/eslint/eslint/issues/19889)) (Francesco Trotta)
- [`5a5d526`](https://github.com/eslint/eslint/commit/5a5d5261037fdf84a91f2f22d3726d58572453f4) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`eaf8a41`](https://github.com/eslint/eslint/commit/eaf8a418af32b3190494e4a2284533353c28ccfa) chore: Correct typos in linter tests ([#​19878](https://github.com/eslint/eslint/issues/19878)) (kilavvy)
</details>
<details>
<summary>mui/material-ui (@​mui/icons-material)</summary>
### [`v7.3.6`](https://github.com/mui/material-ui/blob/HEAD/CHANGELOG.md#736)
[Compare Source](https://github.com/mui/material-ui/compare/v7.3.5...v7.3.6)
<!-- generated comparing v7.3.5..master -->
*Dec 3, 2025*
A big thanks to the 22 contributors who made this release possible.
##### [@​mui/material](https://github.com/mui/material)@​7.3.6
- \[Accordion] Move properties to the AccordionOwnProps interface ([#​47348](https://github.com/mui/material-ui/issues/47348)) [@​Aleksan4e3](https://github.com/Aleksan4e3)
- \[Autocomplete] Remove unnecessary `filterSelectedOptions` dependency from `syncHighlightedIndex` useCallback ([#​47378](https://github.com/mui/material-ui/issues/47378)) [@​ZeeshanTamboli](https://github.com/ZeeshanTamboli)
- \[Autocomplete] Fix input caret not showing when focusing after chip navigation ([#​47249](https://github.com/mui/material-ui/issues/47249)) [@​vrachuri28](https://github.com/vrachuri28)
- \[Autocomplete] Fix ArrowLeft crash when value is not set with single-value rendering ([#​47214](https://github.com/mui/material-ui/issues/47214)) [@​rithik56](https://github.com/rithik56)
- \[Button] Fix running formAction when passed ([#​47185](https://github.com/mui/material-ui/issues/47185)) [@​sai6855](https://github.com/sai6855)
- \[Chip] Remove leftover closing parenthesis in CSS class key ([#​47345](https://github.com/mui/material-ui/issues/47345)) [@​ZeeshanTamboli](https://github.com/ZeeshanTamboli)
- \[ListItem] Add `secondaryAction` slot to `ListItem` ([#​47399](https://github.com/mui/material-ui/issues/47399)) [@​sai6855](https://github.com/sai6855)
- \[NumberField] Fix scroll behavior ([#​47397](https://github.com/mui/material-ui/issues/47397)) [@​oliviertassinari](https://github.com/oliviertassinari)
- \[Select] Fix keyboard navigation while rendering in shadow DOM ([#​47380](https://github.com/mui/material-ui/issues/47380)) [@​xBlizZer](https://github.com/xBlizZer)
- \[Select] Fix cannot pass certain event handlers ([#​47366](https://github.com/mui/material-ui/issues/47366)) [@​ZeeshanTamboli](https://github.com/ZeeshanTamboli)
- \[Slider] Accept readonly array for `marks` prop ([#​47370](https://github.com/mui/material-ui/issues/47370)) [@​pcorpet](https://github.com/pcorpet)
- \[Snackbar] Avoid unnecessary `ownerState` spread into `useSnackbar` ([#​47373](https://github.com/mui/material-ui/issues/47373)) [@​ZeeshanTamboli](https://github.com/ZeeshanTamboli)
- \[TextField] Allow custom props in slot props via TS module augmentation ([#​47367](https://github.com/mui/material-ui/issues/47367)) [@​kumarvishwajeettrivedi](https://github.com/kumarvishwajeettrivedi)
- \[Tabs] Fix Arrow key navigation failing when component is rendered in shadow DOM ([#​47178](https://github.com/mui/material-ui/issues/47178)) [@​sai6855](https://github.com/sai6855)
- Fix typings for theme `applyStyles` with custom color schemes ([#​47242](https://github.com/mui/material-ui/issues/47242)) [@​akankshahu](https://github.com/akankshahu)
##### [@​mui/system](https://github.com/mui/system)@​7.3.6
- Fix unwanted attribute on DOM from InitColorSchemeScript `class` attribute ([#​47200](https://github.com/mui/material-ui/issues/47200)) [@​siriwatknp](https://github.com/siriwatknp)
##### [@​mui/lab](https://github.com/mui/lab)@​7.3.6
- \[Masonry] Fix layout flicker and single column issue ([#​43903](https://github.com/mui/material-ui/issues/43903)) [@​Fanzzzd](https://github.com/Fanzzzd)
##### Docs
- Fix default theme viewer styling ([#​47400](https://github.com/mui/material-ui/issues/47400)) [@​sai6855](https://github.com/sai6855)
- Remove repetitive words ([#​47384](https://github.com/mui/material-ui/issues/47384)) [@​rifeplight](https://github.com/rifeplight)
- Fix link to Portal API docs ([#​47383](https://github.com/mui/material-ui/issues/47383)) [@​ZeeshanTamboli](https://github.com/ZeeshanTamboli)
- Remove mentions of MUI Base from Material UI docs ([#​47324](https://github.com/mui/material-ui/issues/47324)) [@​mapache-salvaje](https://github.com/mapache-salvaje)
- Update CSP guidance ([#​47342](https://github.com/mui/material-ui/issues/47342)) [@​rossdakin](https://github.com/rossdakin)
- Fix pathname collision in LLMs docs generator…
chore(deps): update frontend dependencies (minor) (minor)
This MR contains the following updates:
| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [@eslint/compat](https://github.com/eslint/rewrite/tree/main/packages/compat#readme) ([source](https://github.com/eslint/rewrite/tree/HEAD/packages/compat)) | devDependencies | minor | [`1.3.2` → `1.4.1`](https://renovatebot.com/diffs/npm/@eslint%2fcompat/1.3.2/1.4.1) | [](https://securityscorecards.dev/viewer/?uri=github.com/eslint/rewrite) |
| [@eslint/js](https://eslint.org) ([source](https://github.com/eslint/eslint/tree/HEAD/packages/js)) | devDependencies | minor | [`9.29.0` → `9.39.2`](https://renovatebot.com/diffs/npm/@eslint%2fjs/9.29.0/9.39.2) | [](https://securityscorecards.dev/viewer/?uri=github.com/eslint/eslint) |
| [@mui/icons-material](https://mui.com/material-ui/material-icons/) ([source](https://github.com/mui/material-ui/tree/HEAD/packages/mui-icons-material)) | dependencies | minor | [`7.1.2` → `7.3.6`](https://renovatebot.com/diffs/npm/@mui%2ficons-material/7.1.2/7.3.6) | [](https://securityscorecards.dev/viewer/?uri=github.com/mui/material-ui) |
| [@mui/material](https://mui.com/material-ui/) ([source](https://github.com/mui/material-ui/tree/HEAD/packages/mui-material)) | dependencies | minor | [`7.1.2` → `7.3.6`](https://renovatebot.com/diffs/npm/@mui%2fmaterial/7.1.2/7.3.6) | [](https://securityscorecards.dev/viewer/?uri=github.com/mui/material-ui) |
| [@mui/x-charts](https://mui.com/x/react-charts/) ([source](https://github.com/mui/mui-x/tree/HEAD/packages/x-charts)) | dependencies | minor | [`8.5.3` → `8.23.0`](https://renovatebot.com/diffs/npm/@mui%2fx-charts/8.5.3/8.23.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/mui/mui-x) |
| [@mui/x-tree-view](https://mui.com/x/react-tree-view/) ([source](https://github.com/mui/mui-x/tree/HEAD/packages/x-tree-view)) | dependencies | minor | [`8.5.3` → `8.23.0`](https://renovatebot.com/diffs/npm/@mui%2fx-tree-view/8.5.3/8.23.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/mui/mui-x) |
| [@openapitools/openapi-generator-cli](https://github.com/OpenAPITools/openapi-generator-cli) | devDependencies | minor | [`2.23.4` → `2.26.0`](https://renovatebot.com/diffs/npm/@openapitools%2fopenapi-generator-cli/2.23.4/2.26.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/OpenAPITools/openapi-generator-cli) |
| [@reduxjs/toolkit](https://redux-toolkit.js.org) ([source](https://github.com/reduxjs/redux-toolkit)) | dependencies | minor | [`2.8.2` → `2.11.2`](https://renovatebot.com/diffs/npm/@reduxjs%2ftoolkit/2.8.2/2.11.2) | [](https://securityscorecards.dev/viewer/?uri=github.com/reduxjs/redux-toolkit) |
| [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) | devDependencies | minor | [`6.6.4` → `6.9.1`](https://renovatebot.com/diffs/npm/@testing-library%2fjest-dom/6.6.4/6.9.1) | [](https://securityscorecards.dev/viewer/?uri=github.com/testing-library/jest-dom) |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)) | devDependencies | minor | [`19.1.17` → `19.2.7`](https://renovatebot.com/diffs/npm/@types%2freact/19.1.17/19.2.7) | [](https://securityscorecards.dev/viewer/?uri=github.com/DefinitelyTyped/DefinitelyTyped) |
| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom)) | devDependencies | minor | [`19.1.11` → `19.2.3`](https://renovatebot.com/diffs/npm/@types%2freact-dom/19.1.11/19.2.3) | [](https://securityscorecards.dev/viewer/?uri=github.com/DefinitelyTyped/DefinitelyTyped) |
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | devDependencies | minor | [`8.39.1` → `8.51.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.39.1/8.51.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/typescript-eslint/typescript-eslint) |
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | devDependencies | minor | [`8.39.1` → `8.51.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.39.1/8.51.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/typescript-eslint/typescript-eslint) |
| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react#readme) ([source](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react)) | devDependencies | minor | [`4.5.2` → `4.7.0`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-react/4.5.2/4.7.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/vitejs/vite-plugin-react) |
| [ace-builds](https://github.com/ajaxorg/ace-builds) | dependencies | minor | [`1.42.0` → `1.43.5`](https://renovatebot.com/diffs/npm/ace-builds/1.42.0/1.43.5) | [](https://securityscorecards.dev/viewer/?uri=github.com/ajaxorg/ace-builds) |
| [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | minor | [`9.32.0` → `9.39.2`](https://renovatebot.com/diffs/npm/eslint/9.32.0/9.39.2) | [](https://securityscorecards.dev/viewer/?uri=github.com/eslint/eslint) |
| [eslint-plugin-unused-imports](https://github.com/sweepline/eslint-plugin-unused-imports) | devDependencies | minor | [`4.1.4` → `4.3.0`](https://renovatebot.com/diffs/npm/eslint-plugin-unused-imports/4.1.4/4.3.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/sweepline/eslint-plugin-unused-imports) |
| [globals](https://github.com/sindresorhus/globals) | devDependencies | minor | [`16.2.0` → `16.5.0`](https://renovatebot.com/diffs/npm/globals/16.2.0/16.5.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/sindresorhus/globals) |
| [i18next](https://www.i18next.com) ([source](https://github.com/i18next/i18next)) | dependencies | minor | [`25.2.1` → `25.7.3`](https://renovatebot.com/diffs/npm/i18next/25.2.1/25.7.3) | [](https://securityscorecards.dev/viewer/?uri=github.com/i18next/i18next) |
| [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | devDependencies | minor | [`3.5.3` → `3.7.4`](https://renovatebot.com/diffs/npm/prettier/3.5.3/3.7.4) | [](https://securityscorecards.dev/viewer/?uri=github.com/prettier/prettier) |
| [react](https://react.dev/) ([source](https://github.com/facebook/react/tree/HEAD/packages/react)) | dependencies | minor | [`19.1.1` → `19.2.3`](https://renovatebot.com/diffs/npm/react/19.1.1/19.2.3) | [](https://securityscorecards.dev/viewer/?uri=github.com/facebook/react) |
| [react-dom](https://react.dev/) ([source](https://github.com/facebook/react/tree/HEAD/packages/react-dom)) | dependencies | minor | [`19.1.1` → `19.2.3`](https://renovatebot.com/diffs/npm/react-dom/19.1.1/19.2.3) | [](https://securityscorecards.dev/viewer/?uri=github.com/facebook/react) |
| [react-i18next](https://github.com/i18next/react-i18next) | dependencies | minor | [`15.5.3` → `15.7.4`](https://renovatebot.com/diffs/npm/react-i18next/15.5.3/15.7.4) | [](https://securityscorecards.dev/viewer/?uri=github.com/i18next/react-i18next) |
| [react-router-dom](https://github.com/remix-run/react-router) ([source](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom)) | dependencies | minor | [`7.6.3` → `7.11.0`](https://renovatebot.com/diffs/npm/react-router-dom/7.6.3/7.11.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/remix-run/react-router) |
| [typescript](https://www.typescriptlang.org/) ([source](https://github.com/microsoft/TypeScript)) | devDependencies | minor | [`5.8.3` → `5.9.3`](https://renovatebot.com/diffs/npm/typescript/5.8.3/5.9.3) | [](https://securityscorecards.dev/viewer/?uri=github.com/microsoft/TypeScript) |
| [vite](https://vite.dev) ([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) | devDependencies | minor | [`6.3.7` → `6.4.1`](https://renovatebot.com/diffs/npm/vite/6.3.7/6.4.1) | [](https://securityscorecards.dev/viewer/?uri=github.com/vitejs/vite) |
| [vite-plugin-svgr](https://github.com/pd4d10/vite-plugin-svgr) | devDependencies | minor | [`4.3.0` → `4.5.0`](https://renovatebot.com/diffs/npm/vite-plugin-svgr/4.3.0/4.5.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/pd4d10/vite-plugin-svgr) |
---
### Release Notes
<details>
<summary>eslint/rewrite (@​eslint/compat)</summary>
### [`v1.4.1`](https://github.com/eslint/rewrite/blob/HEAD/packages/compat/CHANGELOG.md#141-2025-10-27)
[Compare Source](https://github.com/eslint/rewrite/compare/7f592e3b60dd0a3b38d891a80aeeb92cf78d8e86...f5ecc7e945634a173af677d2d597d583bd2704e6)
##### Dependencies
- The following workspace dependencies were updated
- dependencies
- [@​eslint/core](https://github.com/eslint/core) bumped from ^0.16.0 to ^0.17.0
### [`v1.4.0`](https://github.com/eslint/rewrite/blob/HEAD/packages/compat/CHANGELOG.md#140-2025-09-16)
[Compare Source](https://github.com/eslint/rewrite/compare/9e68ab61df9c4ebc082b603fb5e3dfe2dcf98666...7f592e3b60dd0a3b38d891a80aeeb92cf78d8e86)
##### Features
- Add config types in [@​eslint/core](https://github.com/eslint/core) ([#​237](https://github.com/eslint/rewrite/issues/237)) ([7b6dd37](https://github.com/eslint/rewrite/commit/7b6dd370a598ea7fc94fba427a2579342b50b90f))
##### Dependencies
- The following workspace dependencies were updated
- dependencies
- [@​eslint/core](https://github.com/eslint/core) bumped from ^0.15.2 to ^0.16.0
</details>
<details>
<summary>eslint/eslint (@​eslint/js)</summary>
### [`v9.39.2`](https://github.com/eslint/eslint/releases/tag/v9.39.2)
[Compare Source](https://github.com/eslint/eslint/compare/v9.39.1...v9.39.2)
##### Bug Fixes
- [`5705833`](https://github.com/eslint/eslint/commit/57058331946568164449c5caabe2cf206e4fb5d9) fix: warn when `eslint-env` configuration comments are found ([#​20381](https://github.com/eslint/eslint/issues/20381)) (sethamus)
##### Build Related
- [`506f154`](https://github.com/eslint/eslint/commit/506f1549a64aa65bdddc75c71cb62f0ab94b5a23) build: add .scss files entry to knip ([#​20391](https://github.com/eslint/eslint/issues/20391)) (Milos Djermanovic)
##### Chores
- [`7ca0af7`](https://github.com/eslint/eslint/commit/7ca0af7f9f89dd4a01736dae01931c45d528171b) chore: upgrade to `@eslint/[email protected]` ([#​20394](https://github.com/eslint/eslint/issues/20394)) (Francesco Trotta)
- [`c43ce24`](https://github.com/eslint/eslint/commit/c43ce24ff0ce073ec4ad691cd5a50171dfe6cf1e) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`4c9858e`](https://github.com/eslint/eslint/commit/4c9858e47bb9146cf20f546a562bc58a9ee3dae1) ci: add `v9.x-dev` branch ([#​20382](https://github.com/eslint/eslint/issues/20382)) (Milos Djermanovic)
### [`v9.39.1`](https://github.com/eslint/eslint/releases/tag/v9.39.1)
[Compare Source](https://github.com/eslint/eslint/compare/v9.39.0...v9.39.1)
##### Bug Fixes
- [`650753e`](https://github.com/eslint/eslint/commit/650753ee3976784343ceb40170619dab1aa9fe0d) fix: Only pass node to JS lang visitor methods ([#​20283](https://github.com/eslint/eslint/issues/20283)) (Nicholas C. Zakas)
##### Documentation
- [`51b51f4`](https://github.com/eslint/eslint/commit/51b51f4f1ce82ef63264c4e45d9ef579bcd73f8e) docs: add a section on when to use extends vs cascading ([#​20268](https://github.com/eslint/eslint/issues/20268)) (Tanuj Kanti)
- [`b44d426`](https://github.com/eslint/eslint/commit/b44d42699dcd1729b7ecb50ca70e4c1c17f551f1) docs: Update README (GitHub Actions Bot)
##### Chores
- [`92db329`](https://github.com/eslint/eslint/commit/92db329211c8da5ce8340a4d4c05ce9c12845381) chore: update `@eslint/js` version to 9.39.1 ([#​20284](https://github.com/eslint/eslint/issues/20284)) (Francesco Trotta)
- [`c7ebefc`](https://github.com/eslint/eslint/commit/c7ebefc9eaf99b76b30b0d3cf9960807a47367c4) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`61778f6`](https://github.com/eslint/eslint/commit/61778f6ca33c0f63962a91d6a75a4fa5db9f47d2) chore: update eslint-config-eslint dependency [@​eslint/js](https://github.com/eslint/js) to ^9.39.0 ([#​20275](https://github.com/eslint/eslint/issues/20275)) (renovate\[bot])
- [`d9ca2fc`](https://github.com/eslint/eslint/commit/d9ca2fcd9ad63331bfd329a69534e1ff04f231e8) ci: Add rangeStrategy to eslint group in renovate config ([#​20266](https://github.com/eslint/eslint/issues/20266)) (唯然)
- [`009e507`](https://github.com/eslint/eslint/commit/009e5076ff5a4bd845f55e17676e3bb88f47c280) test: fix version tests for ESLint v10 ([#​20274](https://github.com/eslint/eslint/issues/20274)) (Milos Djermanovic)
### [`v9.39.0`](https://github.com/eslint/eslint/releases/tag/v9.39.0)
[Compare Source](https://github.com/eslint/eslint/compare/v9.38.0...v9.39.0)
##### Features
- [`cc57d87`](https://github.com/eslint/eslint/commit/cc57d87a3f119e9d39c55e044e526ae067fa31ce) feat: update error loc to key in `no-dupe-class-members` ([#​20259](https://github.com/eslint/eslint/issues/20259)) (Tanuj Kanti)
- [`126552f`](https://github.com/eslint/eslint/commit/126552fcf35da3ddcefa527db06dabc54c04041c) feat: update error location in `for-direction` and `no-dupe-args` ([#​20258](https://github.com/eslint/eslint/issues/20258)) (Tanuj Kanti)
- [`167d097`](https://github.com/eslint/eslint/commit/167d0970d3802a66910e9820f31dcd717fab0b2a) feat: update `complexity` rule to highlight only static block header ([#​20245](https://github.com/eslint/eslint/issues/20245)) (jaymarvelz)
##### Bug Fixes
- [`15f5c7c`](https://github.com/eslint/eslint/commit/15f5c7c168d0698683943f51dd617f14a5e6815c) fix: forward traversal `step.args` to visitors ([#​20253](https://github.com/eslint/eslint/issues/20253)) (jaymarvelz)
- [`5a1a534`](https://github.com/eslint/eslint/commit/5a1a534e877f7c4c992885867f923df307c3929d) fix: allow JSDoc comments in object-shorthand rule ([#​20167](https://github.com/eslint/eslint/issues/20167)) (Nitin Kumar)
- [`e86b813`](https://github.com/eslint/eslint/commit/e86b813eb660f1a5adc8e143a70d9b683cd12362) fix: Use more types from [@​eslint/core](https://github.com/eslint/core) ([#​20257](https://github.com/eslint/eslint/issues/20257)) (Nicholas C. Zakas)
- [`927272d`](https://github.com/eslint/eslint/commit/927272d1f0d5683b029b729d368a96527f283323) fix: correct `Scope` typings ([#​20198](https://github.com/eslint/eslint/issues/20198)) (jaymarvelz)
- [`37f76d9`](https://github.com/eslint/eslint/commit/37f76d9c539bb6fc816fedb7be4486b71a58620a) fix: use `AST.Program` type for Program node ([#​20244](https://github.com/eslint/eslint/issues/20244)) (Francesco Trotta)
- [`ae07f0b`](https://github.com/eslint/eslint/commit/ae07f0b3334ebd22ae2e7b09bca5973b96aa9768) fix: unify timing report for concurrent linting ([#​20188](https://github.com/eslint/eslint/issues/20188)) (jaymarvelz)
- [`b165d47`](https://github.com/eslint/eslint/commit/b165d471be6062f4475b972155b02654a974a0e9) fix: correct `Rule` typings ([#​20199](https://github.com/eslint/eslint/issues/20199)) (jaymarvelz)
- [`fb97cda`](https://github.com/eslint/eslint/commit/fb97cda70d87286a7dbd2457f578ef578d6905e8) fix: improve error message for missing fix function in suggestions ([#​20218](https://github.com/eslint/eslint/issues/20218)) (jaymarvelz)
##### Documentation
- [`d3e81e3`](https://github.com/eslint/eslint/commit/d3e81e30ee6be5a21151b7a17ef10a714b6059c0) docs: Always recommend to include a files property ([#​20158](https://github.com/eslint/eslint/issues/20158)) (Percy Ma)
- [`0f0385f`](https://github.com/eslint/eslint/commit/0f0385f1404dcadaba4812120b1ad02334dbd66a) docs: use consistent naming recommendation ([#​20250](https://github.com/eslint/eslint/issues/20250)) (Alex M. Spieslechner)
- [`a3b1456`](https://github.com/eslint/eslint/commit/a3b145609ac649fac837c8c0515cbb2a9321ca40) docs: Update README (GitHub Actions Bot)
- [`cf5f2dd`](https://github.com/eslint/eslint/commit/cf5f2dd58dd98084a21da04fe7b9054b9478d552) docs: fix correct tag of `no-useless-constructor` ([#​20255](https://github.com/eslint/eslint/issues/20255)) (Tanuj Kanti)
- [`10b995c`](https://github.com/eslint/eslint/commit/10b995c8e5473de8d66d3cd99d816e046f35e3ec) docs: add TS options and examples for `nofunc` in `no-use-before-define` ([#​20249](https://github.com/eslint/eslint/issues/20249)) (Tanuj Kanti)
- [`2584187`](https://github.com/eslint/eslint/commit/2584187e4a305ea7a98e1a5bd4dca2a60ad132f8) docs: remove repetitive word in comment ([#​20242](https://github.com/eslint/eslint/issues/20242)) (reddaisyy)
- [`637216b`](https://github.com/eslint/eslint/commit/637216bd4f2aae7c928ad04a4e40eecffb50c9e5) docs: update CLI flags migration instructions ([#​20238](https://github.com/eslint/eslint/issues/20238)) (jaymarvelz)
- [`e7cda3b`](https://github.com/eslint/eslint/commit/e7cda3bdf1bdd664e6033503a3315ad81736b200) docs: Update README (GitHub Actions Bot)
- [`7b9446f`](https://github.com/eslint/eslint/commit/7b9446f7cc2054aa2cdf8e6225f4ac15a03671a8) docs: handle empty flags sections on the feature flags page ([#​20222](https://github.com/eslint/eslint/issues/20222)) (sethamus)
##### Chores
- [`dfe3c1b`](https://github.com/eslint/eslint/commit/dfe3c1b2034228765c48c8a445554223767dd16d) chore: update `@eslint/js` version to 9.39.0 ([#​20270](https://github.com/eslint/eslint/issues/20270)) (Francesco Trotta)
- [`2375a6d`](https://github.com/eslint/eslint/commit/2375a6de8263393c129d41cac1b407b40111a73c) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`a1f4e52`](https://github.com/eslint/eslint/commit/a1f4e52d67c94bef61edd1607dcd130047c1baf0) chore: update `@eslint` dependencies ([#​20265](https://github.com/eslint/eslint/issues/20265)) (Francesco Trotta)
- [`c7d3229`](https://github.com/eslint/eslint/commit/c7d32298482752eeac9fb46378d4f1ea095f3836) chore: update dependency [@​eslint/core](https://github.com/eslint/core) to ^0.17.0 ([#​20256](https://github.com/eslint/eslint/issues/20256)) (renovate\[bot])
- [`27549bc`](https://github.com/eslint/eslint/commit/27549bc774c7c2dc5c569070a3e87c62f602bf7d) chore: update fuzz testing to not error if code sample minimizer fails ([#​20252](https://github.com/eslint/eslint/issues/20252)) (Milos Djermanovic)
- [`a1370ee`](https://github.com/eslint/eslint/commit/a1370ee40e9d8e0e41843f3278cd745fc1ad543f) ci: bump actions/setup-node from 5 to 6 ([#​20230](https://github.com/eslint/eslint/issues/20230)) (dependabot\[bot])
- [`9e7fad4`](https://github.com/eslint/eslint/commit/9e7fad4a1867709060686d03e0ec1d0d69671cfb) chore: add script to auto-generate eslint:recommended configuration ([#​20208](https://github.com/eslint/eslint/issues/20208)) (唯然)
### [`v9.38.0`](https://github.com/eslint/eslint/releases/tag/v9.38.0)
[Compare Source](https://github.com/eslint/eslint/compare/v9.37.0...v9.38.0)
##### Features
- [`ce40f74`](https://github.com/eslint/eslint/commit/ce40f74efd45f66d9fbfc6f78ce622ee72008485) feat: update `complexity` rule to only highlight function header ([#​20048](https://github.com/eslint/eslint/issues/20048)) (Atul Nair)
- [`e37e590`](https://github.com/eslint/eslint/commit/e37e590aae2a7fcca4d3a9adc1379ad466e5c5d1) feat: correct `no-loss-of-precision` false positives with `e` notation ([#​20187](https://github.com/eslint/eslint/issues/20187)) (Francesco Trotta)
##### Bug Fixes
- [`50c3dfd`](https://github.com/eslint/eslint/commit/50c3dfd98065622765a51a8ddb1e70c44fc5a4cb) fix: improve type support for isolated dependencies in pnpm ([#​20201](https://github.com/eslint/eslint/issues/20201)) (Francesco Trotta)
- [`a1f06a3`](https://github.com/eslint/eslint/commit/a1f06a350c4155c4dbf39bf932a38d71d70f1b65) fix: correct SourceCode typings ([#​20114](https://github.com/eslint/eslint/issues/20114)) (Pixel998)
##### Documentation
- [`462675a`](https://github.com/eslint/eslint/commit/462675af8a811f9ca984efaedbdc5b46b13ced7a) docs: improve web accessibility by hiding non-semantic character ([#​20205](https://github.com/eslint/eslint/issues/20205)) (루밀LuMir)
- [`c070e65`](https://github.com/eslint/eslint/commit/c070e65f6bb9e38d06a89ba2b3261781bec3d397) docs: correct formatting in `no-irregular-whitespace` rule documentation ([#​20203](https://github.com/eslint/eslint/issues/20203)) (루밀LuMir)
- [`b39e71a`](https://github.com/eslint/eslint/commit/b39e71a2130ae1ea3fbc19b19f5b951eb625722a) docs: Update README (GitHub Actions Bot)
- [`cd39983`](https://github.com/eslint/eslint/commit/cd3998314876a4fad6463d9011bc73778ccc1fd9) docs: move `custom-formatters` type descriptions to `nodejs-api` ([#​20190](https://github.com/eslint/eslint/issues/20190)) (Percy Ma)
##### Chores
- [`d17c795`](https://github.com/eslint/eslint/commit/d17c795bf1624e0604998482b98e6bb6bff39045) chore: upgrade [@​eslint/js](https://github.com/eslint/js)[@​9](https://github.com/9).38.0 ([#​20221](https://github.com/eslint/eslint/issues/20221)) (Milos Djermanovic)
- [`25d0e33`](https://github.com/eslint/eslint/commit/25d0e33270e08baed09dbee2cdd56a8e5cd9da0f) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`c82b5ef`](https://github.com/eslint/eslint/commit/c82b5efa1fc91900e029efa23e688fad67fc17fa) refactor: Use types from [@​eslint/core](https://github.com/eslint/core) ([#​20168](https://github.com/eslint/eslint/issues/20168)) (Nicholas C. Zakas)
- [`ff31609`](https://github.com/eslint/eslint/commit/ff31609f195654d448954210ba4d31e921d463e8) ci: add Node.js 25 to `ci.yml` ([#​20220](https://github.com/eslint/eslint/issues/20220)) (루밀LuMir)
- [`004577e`](https://github.com/eslint/eslint/commit/004577eda2f2f4b2829e0364f8b41893cebfc859) ci: bump github/codeql-action from 3 to 4 ([#​20211](https://github.com/eslint/eslint/issues/20211)) (dependabot\[bot])
- [`eac71fb`](https://github.com/eslint/eslint/commit/eac71fb77113de7bf199ff20c6ee44cefcb59848) test: remove use of `nodejsScope` option of eslint-scope from tests ([#​20206](https://github.com/eslint/eslint/issues/20206)) (Milos Djermanovic)
- [`4168a18`](https://github.com/eslint/eslint/commit/4168a18b7efd8facbbd71cd44a62942a9f656a30) chore: fix typo in legacy-eslint.js ([#​20202](https://github.com/eslint/eslint/issues/20202)) (Sweta Tanwar)
- [`205dbd2`](https://github.com/eslint/eslint/commit/205dbd2d9272e761574c478e3b0181f7b89ed0f6) chore: fix typos ([#​20200](https://github.com/eslint/eslint/issues/20200)) (ntnyq)
- [`dbb200e`](https://github.com/eslint/eslint/commit/dbb200e3604e63bba23a18d40089ca44604835ed) chore: use team member's username when name is not available in data ([#​20194](https://github.com/eslint/eslint/issues/20194)) (Milos Djermanovic)
- [`8962089`](https://github.com/eslint/eslint/commit/8962089edbd978b43513576387a134036b8e2d36) chore: mark deprecated rules as available until v11.0.0 ([#​20184](https://github.com/eslint/eslint/issues/20184)) (Pixel998)
### [`v9.37.0`](https://github.com/eslint/eslint/releases/tag/v9.37.0)
[Compare Source](https://github.com/eslint/eslint/compare/v9.36.0...v9.37.0)
##### Features
- [`39f7fb4`](https://github.com/eslint/eslint/commit/39f7fb493a6924ff7dc638fd4d6e7b3d8eb95383) feat: `preserve-caught-error` should recognize all static "cause" keys ([#​20163](https://github.com/eslint/eslint/issues/20163)) (Pixel998)
- [`f81eabc`](https://github.com/eslint/eslint/commit/f81eabc5849ece98b8ca054f96b29f038a69bcf8) feat: support TS syntax in `no-restricted-imports` ([#​19562](https://github.com/eslint/eslint/issues/19562)) (Nitin Kumar)
##### Bug Fixes
- [`a129cce`](https://github.com/eslint/eslint/commit/a129cced7a86ea2518eb9be6990fa18af39694ca) fix: correct `no-loss-of-precision` false positives for leading zeros ([#​20164](https://github.com/eslint/eslint/issues/20164)) (Francesco Trotta)
- [`09e04fc`](https://github.com/eslint/eslint/commit/09e04fcc3f4cc963eea7c9c579391de5e231595b) fix: add missing AST token types ([#​20172](https://github.com/eslint/eslint/issues/20172)) (Pixel998)
- [`861c6da`](https://github.com/eslint/eslint/commit/861c6da2bd2796414e6eed782155ec34e2ed6344) fix: correct `ESLint` typings ([#​20122](https://github.com/eslint/eslint/issues/20122)) (Pixel998)
##### Documentation
- [`b950359`](https://github.com/eslint/eslint/commit/b950359c5f39085483c3137a6a160e582ef32007) docs: fix typos across the docs ([#​20182](https://github.com/eslint/eslint/issues/20182)) (루밀LuMir)
- [`42498a2`](https://github.com/eslint/eslint/commit/42498a27981d50750dd15ae8660dbe85c4f4587c) docs: improve ToC accessibility by hiding non-semantic character ([#​20181](https://github.com/eslint/eslint/issues/20181)) (Percy Ma)
- [`29ea092`](https://github.com/eslint/eslint/commit/29ea092b93608756350b1e9c5a4f29c8a49264ab) docs: Update README (GitHub Actions Bot)
- [`5c97a04`](https://github.com/eslint/eslint/commit/5c97a04578e6280c2395f642c2d8d6bdf30eec18) docs: show `availableUntil` in deprecated rule banner ([#​20170](https://github.com/eslint/eslint/issues/20170)) (Pixel998)
- [`90a71bf`](https://github.com/eslint/eslint/commit/90a71bf5024a86fc232cd2e05f96811e2a18fd0f) docs: update `README` files to add badge and instructions ([#​20115](https://github.com/eslint/eslint/issues/20115)) (루밀LuMir)
- [`1603ae1`](https://github.com/eslint/eslint/commit/1603ae1526d9b6f557c7d5534a4f40f46842edd6) docs: update references from `master` to `main` ([#​20153](https://github.com/eslint/eslint/issues/20153)) (루밀LuMir)
##### Chores
- [`afe8a13`](https://github.com/eslint/eslint/commit/afe8a1346958242031fea66fdfbb239e8bf408b7) chore: update `@eslint/js` dependency to version 9.37.0 ([#​20183](https://github.com/eslint/eslint/issues/20183)) (Francesco Trotta)
- [`abee4ca`](https://github.com/eslint/eslint/commit/abee4ca1fa10da733b1cc4a7d5e765b912a9de82) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`fc9381f`](https://github.com/eslint/eslint/commit/fc9381f6ca57b824e82d118c14631c17bea79d7e) chore: fix typos in comments ([#​20175](https://github.com/eslint/eslint/issues/20175)) (overlookmotel)
- [`e1574a2`](https://github.com/eslint/eslint/commit/e1574a22d38fd7e1891f86f8db0b09053f8963cb) chore: unpin jiti ([#​20173](https://github.com/eslint/eslint/issues/20173)) (renovate\[bot])
- [`e1ac05e`](https://github.com/eslint/eslint/commit/e1ac05e2fae779e738f85bd47dda1cc2b7099346) refactor: mark `ESLint.findConfigFile()` as `async`, add missing docs ([#​20157](https://github.com/eslint/eslint/issues/20157)) (Pixel998)
- [`347906d`](https://github.com/eslint/eslint/commit/347906d627c53bf45d63ba831d2fd2b83fb0a749) chore: update eslint ([#​20149](https://github.com/eslint/eslint/issues/20149)) (renovate\[bot])
- [`0cb5897`](https://github.com/eslint/eslint/commit/0cb5897e24059bacadb8d2e6458184904759fda1) test: remove tmp dir created for circular fixes in multithread mode test ([#​20146](https://github.com/eslint/eslint/issues/20146)) (Milos Djermanovic)
- [`bb99566`](https://github.com/eslint/eslint/commit/bb995665e32b3a958e78006c9fd75744c5604f1b) ci: pin `jiti` to version 2.5.1 ([#​20151](https://github.com/eslint/eslint/issues/20151)) (Pixel998)
- [`177f669`](https://github.com/eslint/eslint/commit/177f669adc0f96d14ae1a71cde7786f327515863) perf: improve worker count calculation for `"auto"` concurrency ([#​20067](https://github.com/eslint/eslint/issues/20067)) (Francesco Trotta)
- [`448b57b`](https://github.com/eslint/eslint/commit/448b57bca3406ee12c4e44e9298fc0c99d3ee10c) chore: Mark deprecated formatting rules as available until v11.0.0 ([#​20144](https://github.com/eslint/eslint/issues/20144)) (Milos Djermanovic)
### [`v9.36.0`](https://github.com/eslint/eslint/releases/tag/v9.36.0)
[Compare Source](https://github.com/eslint/eslint/compare/v9.35.0...v9.36.0)
##### Features
- [`47afcf6`](https://github.com/eslint/eslint/commit/47afcf668df65eac68d7b04145d037037010a076) feat: correct `preserve-caught-error` edge cases ([#​20109](https://github.com/eslint/eslint/issues/20109)) (Francesco Trotta)
##### Bug Fixes
- [`75b74d8`](https://github.com/eslint/eslint/commit/75b74d865d3b8e7fa3bcf5ad29f4bf6d18d1310e) fix: add missing rule option types ([#​20127](https://github.com/eslint/eslint/issues/20127)) (ntnyq)
- [`1c0d850`](https://github.com/eslint/eslint/commit/1c0d85049e3f30a8809340c1abc881c63b7812ff) fix: update `eslint-all.js` to use `Object.freeze` for `rules` object ([#​20116](https://github.com/eslint/eslint/issues/20116)) (루밀LuMir)
- [`7d61b7f`](https://github.com/eslint/eslint/commit/7d61b7fadc9c5c6f2b131e37e8a3cffa5aae8ee6) fix: add missing scope types to `Scope.type` ([#​20110](https://github.com/eslint/eslint/issues/20110)) (Pixel998)
- [`7a670c3`](https://github.com/eslint/eslint/commit/7a670c301b58609017ce8cfda99ee81f95de3898) fix: correct rule option typings in `rules.d.ts` ([#​20084](https://github.com/eslint/eslint/issues/20084)) (Pixel998)
##### Documentation
- [`b73ab12`](https://github.com/eslint/eslint/commit/b73ab12acd3e87f8d8173cda03499f6cd1f26db6) docs: update examples to use `defineConfig` ([#​20131](https://github.com/eslint/eslint/issues/20131)) (sethamus)
- [`31d9392`](https://github.com/eslint/eslint/commit/31d93926990fba536846ec727d7a2625fc844649) docs: fix typos ([#​20118](https://github.com/eslint/eslint/issues/20118)) (Pixel998)
- [`c7f861b`](https://github.com/eslint/eslint/commit/c7f861b3f8c1ac961b4cd4f22483798f3324c62b) docs: Update README (GitHub Actions Bot)
- [`6b0c08b`](https://github.com/eslint/eslint/commit/6b0c08b106aa66f2e9fa484282f0eb63c64a1215) docs: Update README (GitHub Actions Bot)
- [`91f97c5`](https://github.com/eslint/eslint/commit/91f97c50468fbdc089c91e99c2ea0fe821911df2) docs: Update README (GitHub Actions Bot)
##### Chores
- [`12411e8`](https://github.com/eslint/eslint/commit/12411e8d450ed26a5f7cca6a78ec05323c9323e8) chore: upgrade [@​eslint/js](https://github.com/eslint/js)[@​9](https://github.com/9).36.0 ([#​20139](https://github.com/eslint/eslint/issues/20139)) (Milos Djermanovic)
- [`488cba6`](https://github.com/eslint/eslint/commit/488cba6b391b97b2cfc74bbb46fdeacb1361949e) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`bac82a2`](https://github.com/eslint/eslint/commit/bac82a2a9c80a3f69087852758d7737aea371f09) ci: simplify renovate configuration ([#​19907](https://github.com/eslint/eslint/issues/19907)) (唯然)
- [`c00bb37`](https://github.com/eslint/eslint/commit/c00bb37d62c1bcc0a37f094371be9c40064009f1) ci: bump actions/labeler from 5 to 6 ([#​20090](https://github.com/eslint/eslint/issues/20090)) (dependabot\[bot])
- [`fee751d`](https://github.com/eslint/eslint/commit/fee751dc8aeab54547af4538332ea5c069ef28b6) refactor: use `defaultOptions` in rules ([#​20121](https://github.com/eslint/eslint/issues/20121)) (Pixel998)
- [`1ace67d`](https://github.com/eslint/eslint/commit/1ace67d9f7903adc3d3f09868aa05b673e7d3f3b) chore: update example to use `defineConfig` ([#​20111](https://github.com/eslint/eslint/issues/20111)) (루밀LuMir)
- [`4821963`](https://github.com/eslint/eslint/commit/4821963bf765532069c49e9da9ecbe9485b073fc) test: add missing loc information to error objects in rule tests ([#​20112](https://github.com/eslint/eslint/issues/20112)) (루밀LuMir)
- [`b42c42e`](https://github.com/eslint/eslint/commit/b42c42e7cd3ac9ee1b5a15f16ff25b325d0482e4) chore: disallow use of deprecated `type` property in core rule tests ([#​20094](https://github.com/eslint/eslint/issues/20094)) (Milos Djermanovic)
- [`7bb498d`](https://github.com/eslint/eslint/commit/7bb498d720dcd054cc042ca4b60b138d8485f07c) test: remove deprecated `type` property from core rule tests ([#​20093](https://github.com/eslint/eslint/issues/20093)) (Pixel998)
- [`e10cf2a`](https://github.com/eslint/eslint/commit/e10cf2ab42fe5b481d980dc652f7504414747733) ci: bump actions/setup-node from 4 to 5 ([#​20089](https://github.com/eslint/eslint/issues/20089)) (dependabot\[bot])
- [`5cb0ce4`](https://github.com/eslint/eslint/commit/5cb0ce48ef6cfbbe6d09131c33a53f9d66fe9bd4) refactor: use `meta.defaultOptions` in `preserve-caught-error` ([#​20080](https://github.com/eslint/eslint/issues/20080)) (Pixel998)
- [`f9f7cb5`](https://github.com/eslint/eslint/commit/f9f7cb578dced3c14f635e17c75aa6744d291f4d) chore: package.json update for eslint-config-eslint release (Jenkins)
- [`81764b2`](https://github.com/eslint/eslint/commit/81764b298065a328038cd067bc8fedef97e57500) chore: update `eslint` peer dependency in `eslint-config-eslint` ([#​20079](https://github.com/eslint/eslint/issues/20079)) (Milos Djermanovic)
### [`v9.35.0`](https://github.com/eslint/eslint/releases/tag/v9.35.0)
[Compare Source](https://github.com/eslint/eslint/compare/v9.34.0...v9.35.0)
##### Features
- [`42761fa`](https://github.com/eslint/eslint/commit/42761fa7c872fb9e14c144b692af6967b3662082) feat: implement suggestions for no-empty-function ([#​20057](https://github.com/eslint/eslint/issues/20057)) (jaymarvelz)
- [`102f444`](https://github.com/eslint/eslint/commit/102f44442ac9bf1fcd4ba6ab9fae43ce09199df6) feat: implement suggestions for no-empty-static-block ([#​20056](https://github.com/eslint/eslint/issues/20056)) (jaymarvelz)
- [`e51ffff`](https://github.com/eslint/eslint/commit/e51ffff737ca245b3a1d115cb11e1c99737249a3) feat: add `preserve-caught-error` rule ([#​19913](https://github.com/eslint/eslint/issues/19913)) (Amnish Singh Arora)
##### Bug Fixes
- [`10e7ae2`](https://github.com/eslint/eslint/commit/10e7ae23e30ea0834d9fdeb3a2a1db8103c36cd2) fix: update uncloneable options error message ([#​20059](https://github.com/eslint/eslint/issues/20059)) (soda-sorcery)
- [`bfa4601`](https://github.com/eslint/eslint/commit/bfa46013e7ea9a522c02f72250fa07160f96a6b8) fix: ignore empty switch statements with comments in no-empty rule ([#​20045](https://github.com/eslint/eslint/issues/20045)) (jaymarvelz)
- [`dfd11de`](https://github.com/eslint/eslint/commit/dfd11deb24fc733faa5db751a2f615eb04e48b15) fix: add `before` and `after` to test case types ([#​20049](https://github.com/eslint/eslint/issues/20049)) (Francesco Trotta)
- [`dabbe95`](https://github.com/eslint/eslint/commit/dabbe95c39671c5fa272da012ee1432aa088650f) fix: correct types for `no-restricted-imports` rule ([#​20034](https://github.com/eslint/eslint/issues/20034)) (Milos Djermanovic)
- [`ea789c7`](https://github.com/eslint/eslint/commit/ea789c7dd234c1a6be499a4644dd0f5c97615972) fix: no-loss-of-precision false positive with uppercase exponent ([#​20032](https://github.com/eslint/eslint/issues/20032)) (sethamus)
##### Documentation
- [`d265515`](https://github.com/eslint/eslint/commit/d265515642f65246bcd45c17979f67c2afb12f95) docs: improve phrasing - "if" → "even if" from getting-started section ([#​20074](https://github.com/eslint/eslint/issues/20074)) (jjangga0214)
- [`a355a0e`](https://github.com/eslint/eslint/commit/a355a0e5b2e6a47cda099b31dc7d112cfb5c4315) docs: invert comparison logic for example in `no-var` doc page ([#​20064](https://github.com/eslint/eslint/issues/20064)) (OTonGitHub)
- [`5082fc2`](https://github.com/eslint/eslint/commit/5082fc206de6946d9d4c20e57301f78839b3b9f2) docs: Update README (GitHub Actions Bot)
- [`99cfd7e`](https://github.com/eslint/eslint/commit/99cfd7e056e1703941c9eb8ca1ae7fdb1987ba9d) docs: add missing "the" in rule deprecation docs ([#​20050](https://github.com/eslint/eslint/issues/20050)) (Josh Goldberg ✨)
- [`6ad8973`](https://github.com/eslint/eslint/commit/6ad8973e5d3c94b8e100b7266f55f8eb0757eb00) docs: update `--no-ignore` and `--ignore-pattern` documentation ([#​20036](https://github.com/eslint/eslint/issues/20036)) (Francesco Trotta)
- [`8033b19`](https://github.com/eslint/eslint/commit/8033b195299a1eaa4a0ed6553d9e034a457bb577) docs: add documentation for `--no-config-lookup` ([#​20033](https://github.com/eslint/eslint/issues/20033)) (Francesco Trotta)
##### Chores
- [`da87f2f`](https://github.com/eslint/eslint/commit/da87f2fe792cab5b69b62bf5c15e69ab4f433087) chore: upgrade [@​eslint/js](https://github.com/eslint/js)[@​9](https://github.com/9).35.0 ([#​20077](https://github.com/eslint/eslint/issues/20077)) (Milos Djermanovic)
- [`af2a087`](https://github.com/eslint/eslint/commit/af2a0870fdc646091d027516601888923e5bc202) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`7055764`](https://github.com/eslint/eslint/commit/70557649e3111c55d8cddf678b6c4079aa6f0ccc) test: remove `tests/lib/eslint/eslint.config.js` ([#​20065](https://github.com/eslint/eslint/issues/20065)) (Milos Djermanovic)
- [`84ffb96`](https://github.com/eslint/eslint/commit/84ffb9680b15e45bfd8c8a5db4731576ddd16fc4) chore: update `@eslint-community/eslint-utils` ([#​20069](https://github.com/eslint/eslint/issues/20069)) (Francesco Trotta)
- [`d5ef939`](https://github.com/eslint/eslint/commit/d5ef9397150cc178e1f9891c3ff49ac4871ec786) refactor: remove deprecated `context.parserOptions` usage across rules ([#​20060](https://github.com/eslint/eslint/issues/20060)) (sethamus)
- [`1b3881d`](https://github.com/eslint/eslint/commit/1b3881d7e859bec9589e39888656c33c914a8302) chore: remove redundant word ([#​20058](https://github.com/eslint/eslint/issues/20058)) (pxwanglu)
### [`v9.34.0`](https://github.com/eslint/eslint/releases/tag/v9.34.0)
[Compare Source](https://github.com/eslint/eslint/compare/v9.33.0...v9.34.0)
##### Features
- [`0bb777a`](https://github.com/eslint/eslint/commit/0bb777a82b533df595cd520d9c89d291efa14a33) feat: multithread linting ([#​19794](https://github.com/eslint/eslint/issues/19794)) (Francesco Trotta)
- [`43a5f9e`](https://github.com/eslint/eslint/commit/43a5f9e36f1aade16f81fc49ef4b333660faadab) feat: add eslint-plugin-regexp to eslint-config-eslint base config ([#​19951](https://github.com/eslint/eslint/issues/19951)) (Pixel998)
##### Bug Fixes
- [`9b89903`](https://github.com/eslint/eslint/commit/9b8990397b2d2ed70771bb0e2070261a0c41782c) fix: default value of accessor-pairs option in rule.d.ts file ([#​20024](https://github.com/eslint/eslint/issues/20024)) (Tanuj Kanti)
- [`6c07420`](https://github.com/eslint/eslint/commit/6c074206ae0eae4816197a57648b415832a20e1d) fix: fix spurious failure in neostandard integration test ([#​20023](https://github.com/eslint/eslint/issues/20023)) (Kirk Waiblinger)
- [`676f4ac`](https://github.com/eslint/eslint/commit/676f4acaaed6e4f6ffe0c2e21272d4702b311a7b) fix: allow scientific notation with trailing zeros matching exponent ([#​20002](https://github.com/eslint/eslint/issues/20002)) (Sweta Tanwar)
##### Documentation
- [`0b4a590`](https://github.com/eslint/eslint/commit/0b4a590333b73a21b9e0ddc98462680e09fe3232) docs: make rulesdir deprecation clearer ([#​20018](https://github.com/eslint/eslint/issues/20018)) (Domenico Gemoli)
- [`327c672`](https://github.com/eslint/eslint/commit/327c67256fbeaf9d5e365802c2a11f5d32a16522) docs: Update README (GitHub Actions Bot)
- [`bf26229`](https://github.com/eslint/eslint/commit/bf2622991f5b892610a8c3343ff16519e5fd7a79) docs: Fix typo in core-concepts/index.md ([#​20009](https://github.com/eslint/eslint/issues/20009)) (Tobias Hernstig)
- [`2309327`](https://github.com/eslint/eslint/commit/2309327554acbf011f0d17e7b36fdd68e43adf3a) docs: fix typo in the "Configuring Rules" section ([#​20001](https://github.com/eslint/eslint/issues/20001)) (ghazi-git)
- [`2b87e21`](https://github.com/eslint/eslint/commit/2b87e21321422c120c2248dae25cac7f9eec0f29) docs: \[no-else-return] clarify sample code. ([#​19991](https://github.com/eslint/eslint/issues/19991)) (Yuki Takada (Yukinosuke Takada))
- [`c36570c`](https://github.com/eslint/eslint/commit/c36570c6657c2a92dbb4f09a8166a4d9909a091a) docs: Update README (GitHub Actions Bot)
##### Chores
- [`f19ad94`](https://github.com/eslint/eslint/commit/f19ad9493e0ca04c2c1455fbb3402eaad993a8be) chore: upgrade to `@eslint/[email protected]` ([#​20030](https://github.com/eslint/eslint/issues/20030)) (Francesco Trotta)
- [`b48fa20`](https://github.com/eslint/eslint/commit/b48fa20034e53bc65d1a58f3d834705e3087b00c) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`4bce8a2`](https://github.com/eslint/eslint/commit/4bce8a250262ec47207bc260581f979e40c86bda) chore: package.json update for eslint-config-eslint release (Jenkins)
- [`0c9999c`](https://github.com/eslint/eslint/commit/0c9999c2a682151cf13bb3a4f8916930678c2f9b) refactor: prefer default options in `grouped-accessor-pairs` ([#​20028](https://github.com/eslint/eslint/issues/20028)) (루밀LuMir)
- [`d503f19`](https://github.com/eslint/eslint/commit/d503f1981354c7b86e423879846c61e0405af8fe) ci: fix `stale.yml` ([#​20010](https://github.com/eslint/eslint/issues/20010)) (루밀LuMir)
- [`e2dc67d`](https://github.com/eslint/eslint/commit/e2dc67d8b028147de4da35c64efe1d74c9f6a883) ci: centralize `stale.yml` ([#​19994](https://github.com/eslint/eslint/issues/19994)) (루밀LuMir)
- [`7093cb8`](https://github.com/eslint/eslint/commit/7093cb8f590ec2a1b5364d7b5687e9b5f4e06f8a) ci: bump actions/checkout from 4 to 5 ([#​20005](https://github.com/eslint/eslint/issues/20005)) (dependabot\[bot])
### [`v9.33.0`](https://github.com/eslint/eslint/releases/tag/v9.33.0)
[Compare Source](https://github.com/eslint/eslint/compare/v9.32.0...v9.33.0)
##### Features
- [`e07820e`](https://github.com/eslint/eslint/commit/e07820e66fd1fceaf2620dc931154955a706cc0f) feat: add global object access detection to no-restricted-globals ([#​19939](https://github.com/eslint/eslint/issues/19939)) (sethamus)
- [`90b050e`](https://github.com/eslint/eslint/commit/90b050ec11557cab08b6be9f05fabf97dba6a63d) feat: support explicit resource management in `one-var` ([#​19941](https://github.com/eslint/eslint/issues/19941)) (Sweta Tanwar)
##### Bug Fixes
- [`732433c`](https://github.com/eslint/eslint/commit/732433c4fb023f45154b825cdc8cdaf1979d4336) fix: allow any type for `meta.docs.recommended` in custom rules ([#​19995](https://github.com/eslint/eslint/issues/19995)) (Francesco Trotta)
- [`e8a6914`](https://github.com/eslint/eslint/commit/e8a6914a249d036e12494004e586b2a2b6e104d1) fix: Fixed potential bug in check-emfile-handling.js ([#​19975](https://github.com/eslint/eslint/issues/19975)) (諏訪原慶斗)
##### Documentation
- [`34f0723`](https://github.com/eslint/eslint/commit/34f0723e2d0faf8ac8dc95ec56e6d181bd6b67f2) docs: playground button for TypeScript code example ([#​19671](https://github.com/eslint/eslint/issues/19671)) (Tanuj Kanti)
- [`dc942a4`](https://github.com/eslint/eslint/commit/dc942a47daf41228d69072c52f1be20789426862) docs: Update README (GitHub Actions Bot)
- [`5a4b6f7`](https://github.com/eslint/eslint/commit/5a4b6f74320b72f9b6ad8b30f5c463b2b71315af) docs: Update no-multi-assign.md ([#​19979](https://github.com/eslint/eslint/issues/19979)) (Yuki Takada (Yukinosuke Takada))
- [`247e156`](https://github.com/eslint/eslint/commit/247e15698e34919a0cd411842fb3e14ac7a8f1ba) docs: add missing let declarations in `no-plusplus` ([#​19980](https://github.com/eslint/eslint/issues/19980)) (Yuki Takada (Yukinosuke Takada))
- [`0d17242`](https://github.com/eslint/eslint/commit/0d17242b3c25c2ddf8363f4560641acd1ae82ca9) docs: Update README (GitHub Actions Bot)
- [`fa20b9d`](https://github.com/eslint/eslint/commit/fa20b9db8ff90ea9f0527118114dda17c656d095) docs: Clarify when to open an issue for a MR ([#​19974](https://github.com/eslint/eslint/issues/19974)) (Nicholas C. Zakas)
##### Build Related
- [`27fa865`](https://github.com/eslint/eslint/commit/27fa86551bd173387e29a139293de78b0e14f0f3) build: use `ESLint` class to generate formatter examples ([#​19972](https://github.com/eslint/eslint/issues/19972)) (Milos Djermanovic)
##### Chores
- [`4258046`](https://github.com/eslint/eslint/commit/425804602ecb9ee5f54d1c38a473cf20538420c5) chore: update dependency [@​eslint/js](https://github.com/eslint/js) to v9.33.0 ([#​19998](https://github.com/eslint/eslint/issues/19998)) (renovate\[bot])
- [`ad28371`](https://github.com/eslint/eslint/commit/ad283717ed4764a171120ca7c6cba82a78fa024c) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`06a22f1`](https://github.com/eslint/eslint/commit/06a22f154c08ea044b3172b357b226d34dfefc6a) test: resolve flakiness in --mcp flag test ([#​19993](https://github.com/eslint/eslint/issues/19993)) (Pixel998)
- [`54920ed`](https://github.com/eslint/eslint/commit/54920ed229693f23650dace6e567bf44413aaf98) test: switch to `Linter.Config` in `ESLintRules` type tests ([#​19977](https://github.com/eslint/eslint/issues/19977)) (Francesco Trotta)
### [`v9.32.0`](https://github.com/eslint/eslint/releases/tag/v9.32.0)
[Compare Source](https://github.com/eslint/eslint/compare/v9.31.0...v9.32.0)
#### Features
- [`1245000`](https://github.com/eslint/eslint/commit/1245000c5a81954d42f0c7eb670efe450c3bbad5) feat: support explicit resource management in core rules ([#​19828](https://github.com/eslint/eslint/issues/19828)) (fnx)
- [`0e957a7`](https://github.com/eslint/eslint/commit/0e957a7b5528f375a51e7c1a2fd1b03cdcd2af2d) feat: support typescript types in accessor rules ([#​19882](https://github.com/eslint/eslint/issues/19882)) (fnx)
#### Bug Fixes
- [`960fd40`](https://github.com/eslint/eslint/commit/960fd40dfd204af30726b49b6bec714fe49a606e) fix: Upgrade [@​eslint/js](https://github.com/eslint/js) ([#​19971](https://github.com/eslint/eslint/issues/19971)) (Nicholas C. Zakas)
- [`bbf23fa`](https://github.com/eslint/eslint/commit/bbf23fa2f1c6058f6cb5c9f2f32460a15e75e596) fix: Refactor reporting into FileReport ([#​19877](https://github.com/eslint/eslint/issues/19877)) (Nicholas C. Zakas)
- [`d498887`](https://github.com/eslint/eslint/commit/d4988872f375890bf677ce1a1d92a505085b51fa) fix: bump [@​eslint/plugin-kit](https://github.com/eslint/plugin-kit) to 0.3.4 to resolve vulnerability ([#​19965](https://github.com/eslint/eslint/issues/19965)) (Milos Djermanovic)
- [`f46fc6c`](https://github.com/eslint/eslint/commit/f46fc6c137c951bc73cf3bd9446053c1b11f769b) fix: report only global references in no-implied-eval ([#​19932](https://github.com/eslint/eslint/issues/19932)) (Nitin Kumar)
- [`7863d26`](https://github.com/eslint/eslint/commit/7863d26b7cfb03a81ec86f93439757ff60bf6afb) fix: remove outdated types in `ParserOptions.ecmaFeatures` ([#​19944](https://github.com/eslint/eslint/issues/19944)) (ntnyq)
- [`3173305`](https://github.com/eslint/eslint/commit/317330552e2d276221c7f2dd9c1516ad8b41cc3c) fix: update execScript message in no-implied-eval rule ([#​19937](https://github.com/eslint/eslint/issues/19937)) (TKDev7)
#### Documentation
- [`86e7426`](https://github.com/eslint/eslint/commit/86e7426e4463ca49ffa5c82e825ecb6aa19ca8a0) docs: Update README (GitHub Actions Bot)
#### Chores
- [`50de1ce`](https://github.com/eslint/eslint/commit/50de1ced9df2b1ee48ee6843c8cfe0f5d8edbc27) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`74f01a3`](https://github.com/eslint/eslint/commit/74f01a3f5905aaa0902837ced2425209c09c048f) ci: unpin `jiti` to version `^2.5.1` ([#​19970](https://github.com/eslint/eslint/issues/19970)) (루밀LuMir)
- [`2ab1381`](https://github.com/eslint/eslint/commit/2ab13813a7e7f3014c35490b351447ec43229951) ci: pin `jiti` to version 2.4.2 ([#​19964](https://github.com/eslint/eslint/issues/19964)) (Francesco Trotta)
- [`b7f7545`](https://github.com/eslint/eslint/commit/b7f75454695079f54b77fcdc9ebe3b9199d5ad30) test: switch to flat config mode in `SourceCode` tests ([#​19953](https://github.com/eslint/eslint/issues/19953)) (Milos Djermanovic)
- [`f5a35e3`](https://github.com/eslint/eslint/commit/f5a35e3b7cee17cd31fc02c24c3e74b42ee202bc) test: switch to flat config mode in eslint-fuzzer ([#​19960](https://github.com/eslint/eslint/issues/19960)) (Milos Djermanovic)
- [`e22af8c`](https://github.com/eslint/eslint/commit/e22af8c42d622d8d912ee7bedf49bf4283247fdc) refactor: use `CustomRuleDefinitionType` in `JSRuleDefinition` ([#​19949](https://github.com/eslint/eslint/issues/19949)) (Francesco Trotta)
- [`e855717`](https://github.com/eslint/eslint/commit/e85571730f1360464b7ee00695c678d551f9c643) chore: switch performance tests to hyperfine ([#​19919](https://github.com/eslint/eslint/issues/19919)) (Francesco Trotta)
- [`2f73a23`](https://github.com/eslint/eslint/commit/2f73a23655092a41780859ffe0a07c44a2f1b5f5) test: switch to flat config mode in `ast-utils` tests ([#​19948](https://github.com/eslint/eslint/issues/19948)) (Milos Djermanovic)
- [`c565a53`](https://github.com/eslint/eslint/commit/c565a530f50c96dacd44e096f7d531b073aa4dc7) chore: exclude `further_reading_links.json` from Prettier formatting ([#​19943](https://github.com/eslint/eslint/issues/19943)) (Milos Djermanovic)
### [`v9.31.0`](https://github.com/eslint/eslint/releases/tag/v9.31.0)
[Compare Source](https://github.com/eslint/eslint/compare/v9.30.1...v9.31.0)
#### Features
- [`35cf44c`](https://github.com/eslint/eslint/commit/35cf44c22e36b1554486e7a75c870e86c10b83f8) feat: output full actual location in rule tester if different ([#​19904](https://github.com/eslint/eslint/issues/19904)) (ST-DDT)
- [`a6a6325`](https://github.com/eslint/eslint/commit/a6a63259de6cb5642f69c7be429554bbcedca4c0) feat: support explicit resource management in `no-loop-func` ([#​19895](https://github.com/eslint/eslint/issues/19895)) (Milos Djermanovic)
- [`4682cdc`](https://github.com/eslint/eslint/commit/4682cdc6960279ee17f23899fbab6f58d881eadf) feat: support explicit resource management in `no-undef-init` ([#​19894](https://github.com/eslint/eslint/issues/19894)) (Milos Djermanovic)
- [`5848216`](https://github.com/eslint/eslint/commit/58482165eaf597cc5c58216a956c301ae87520b3) feat: support explicit resource management in `init-declarations` ([#​19893](https://github.com/eslint/eslint/issues/19893)) (Milos Djermanovic)
- [`bb370b8`](https://github.com/eslint/eslint/commit/bb370b8e79f65ee32d9d89ecf249fb74a141ad22) feat: support explicit resource management in `no-const-assign` ([#​19892](https://github.com/eslint/eslint/issues/19892)) (Milos Djermanovic)
#### Bug Fixes
- [`07fac6c`](https://github.com/eslint/eslint/commit/07fac6cafa0426b4d1ea12d9001f3955f19b286d) fix: retry on EMFILE when writing autofix results ([#​19926](https://github.com/eslint/eslint/issues/19926)) (TKDev7)
- [`28cc7ab`](https://github.com/eslint/eslint/commit/28cc7abbb72b29b1cac6fc4253646a7839586064) fix: Remove incorrect RuleContext types ([#​19910](https://github.com/eslint/eslint/issues/19910)) (Nicholas C. Zakas)
#### Documentation
- [`664cb44`](https://github.com/eslint/eslint/commit/664cb44ab03785bd200a792607a7e20faa2d4b28) docs: Update README (GitHub Actions Bot)
- [`40dbe2a`](https://github.com/eslint/eslint/commit/40dbe2a43f83d366e9026faec70293512fb61ca2) docs: fix mismatch between `globalIgnores()` code and text ([#​19914](https://github.com/eslint/eslint/issues/19914)) (MaoShizhong)
- [`5a0069d`](https://github.com/eslint/eslint/commit/5a0069d60815246cf24e1c96125540792c2507ef) docs: Update README (GitHub Actions Bot)
- [`fef04b5`](https://github.com/eslint/eslint/commit/fef04b5c7fea99362d67b31b8e98cd4914020ed3) docs: Update working on issues info ([#​19902](https://github.com/eslint/eslint/issues/19902)) (Nicholas C. Zakas)
#### Chores
- [`3ddd454`](https://github.com/eslint/eslint/commit/3ddd454c1c73294e5af7905d60d03fac162f1b3e) chore: upgrade to `@eslint/[email protected]` ([#​19935](https://github.com/eslint/eslint/issues/19935)) (Francesco Trotta)
- [`d5054e5`](https://github.com/eslint/eslint/commit/d5054e5454a537e9ade238c768c262c6c592cbc1) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`0f4a378`](https://github.com/eslint/eslint/commit/0f4a3781fe7c11fad7b206c3c694655486ddd187) chore: update eslint ([#​19933](https://github.com/eslint/eslint/issues/19933)) (renovate\[bot])
- [`76c2340`](https://github.com/eslint/eslint/commit/76c2340c368f96db77439b5cd1df0196cc39bf3e) chore: bump mocha to v11 ([#​19917](https://github.com/eslint/eslint/issues/19917)) (루밀LuMir)
### [`v9.30.1`](https://github.com/eslint/eslint/releases/tag/v9.30.1)
[Compare Source](https://github.com/eslint/eslint/compare/v9.30.0...v9.30.1)
#### Bug Fixes
- [`e91bb87`](https://github.com/eslint/eslint/commit/e91bb870f8c6e38baa508f18048cd2a2d04b8b9c) fix: allow separate default and named type imports ([#​19899](https://github.com/eslint/eslint/issues/19899)) (xbinaryx)
#### Documentation
- [`ab7c625`](https://github.com/eslint/eslint/commit/ab7c62598a9fca498e495d45029ae92fd5fb9bf3) docs: Update README (GitHub Actions Bot)
- [`dae1e5b`](https://github.com/eslint/eslint/commit/dae1e5bb27db0e846efbe3026210013b42817838) docs: update jsdoc's link ([#​19896](https://github.com/eslint/eslint/issues/19896)) (JamesVanWaza)
#### Chores
- [`b035f74`](https://github.com/eslint/eslint/commit/b035f747c6e6d1c7a299c90b0ed0b8109cf24a53) chore: upgrade to `@eslint/[email protected]` ([#​19906](https://github.com/eslint/eslint/issues/19906)) (Francesco Trotta)
- [`b3dbc16`](https://github.com/eslint/eslint/commit/b3dbc16563cb7036d75edff9814e17053a645321) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
### [`v9.30.0`](https://github.com/eslint/eslint/releases/tag/v9.30.0)
[Compare Source](https://github.com/eslint/eslint/compare/v9.29.0...v9.30.0)
#### Features
- [`52a5fca`](https://github.com/eslint/eslint/commit/52a5fcaa4e0bb4e55c014c20ed47d6c93b107635) feat: Support `basePath` property in config objects ([#​19879](https://github.com/eslint/eslint/issues/19879)) (Milos Djermanovic)
- [`4ab4482`](https://github.com/eslint/eslint/commit/4ab44823df4d4b47d3650da949077a0551e7579e) feat: add `allowSeparateTypeImports` option to `no-duplicate-imports` ([#​19872](https://github.com/eslint/eslint/issues/19872)) (sethamus)
- [`b8a7e7a`](https://github.com/eslint/eslint/commit/b8a7e7aeb5f0ed2e1670771ab4dda6fd723d96eb) feat: throw error when column is negative in `getIndexFromLoc` ([#​19831](https://github.com/eslint/eslint/issues/19831)) (루밀LuMir)
#### Bug Fixes
- [`6a0f164`](https://github.com/eslint/eslint/commit/6a0f164543bf8461d6a27a740c9e08aa77cbe42d) fix: handle `null` type `loc` in `getIndexFromLoc` method ([#​19862](https://github.com/eslint/eslint/issues/19862)) (루밀LuMir)
- [`3fbcd70`](https://github.com/eslint/eslint/commit/3fbcd704a0b2aef2a6c1fc34d2bc4b35f6425067) fix: update error message for `no-restricted-properties` ([#​19855](https://github.com/eslint/eslint/issues/19855)) (Tanuj Kanti)
- [`7ef4cf7`](https://github.com/eslint/eslint/commit/7ef4cf76610d42727a404e495ac6d47868cf5040) fix: remove unnecessary semicolon from fixes ([#​19857](https://github.com/eslint/eslint/issues/19857)) (Francesco Trotta)
- [`7dabc38`](https://github.com/eslint/eslint/commit/7dabc38a8406d470fb2389eec2f0ad1ad214173e) fix: use `process.version` in `--env-info` ([#​19865](https://github.com/eslint/eslint/issues/19865)) (TKDev7)
#### Documentation
- [`8662ed1`](https://github.com/eslint/eslint/commit/8662ed1f6debc358e22812b145e117aa4a907d78) docs: adopt eslint-stylistic sub packages related changes ([#​19887](https://github.com/eslint/eslint/issues/19887)) (ntnyq)
- [`20158b0`](https://github.com/eslint/eslint/commit/20158b09db3430cf00b202ba8c25ce874bbaf00a) docs: typo in comment for unused variables handling ([#​19870](https://github.com/eslint/eslint/issues/19870)) (leopardracer)
- [`ebfb5b4`](https://github.com/eslint/eslint/commit/ebfb5b46136c4d737c9783333e3057421d1a0bef) docs: Fixed Typo in configuration-files.md ([#​19873](https://github.com/eslint/eslint/issues/19873)) (0-20)
- [`4112fd0`](https://github.com/eslint/eslint/commit/4112fd09531092e9651e9981205bcd603dc56acf) docs: clarify that boolean is still allowed for rule `meta.deprecated` ([#​19866](https://github.com/eslint/eslint/issues/19866)) (Bryan Mishkin)
#### Chores
- [`2b6491c`](https://github.com/eslint/eslint/commit/2b6491cd4b8eec44d4a3f8dea1b71151e8dd0230) chore: upgrade to `@eslint/[email protected]` ([#​19889](https://github.com/eslint/eslint/issues/19889)) (Francesco Trotta)
- [`5a5d526`](https://github.com/eslint/eslint/commit/5a5d5261037fdf84a91f2f22d3726d58572453f4) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`eaf8a41`](https://github.com/eslint/eslint/commit/eaf8a418af32b3190494e4a2284533353c28ccfa) chore: Correct typos in linter tests ([#​19878](https://github.com/eslint/eslint/issues/19878)) (kilavvy)
</details>
<details>
<summary>mui/material-ui (@​mui/icons-material)</summary>
### [`v7.3.6`](https://github.com/mui/material-ui/blob/HEAD/CHANGELOG.md#736)
[Compare Source](https://github.com/mui/material-ui/compare/v7.3.5...v7.3.6)
<!-- generated comparing v7.3.5..master -->
*Dec 3, 2025*
A big thanks to the 22 contributors who made this release possible.
##### [@​mui/material](https://github.com/mui/material)@​7.3.6
- \[Accordion] Move properties to the AccordionOwnProps interface ([#​47348](https://github.com/mui/material-ui/issues/47348)) [@​Aleksan4e3](https://github.com/Aleksan4e3)
- \[Autocomplete] Remove unnecessary `filterSelectedOptions` dependency from `syncHighlightedIndex` useCallback ([#​47378](https://github.com/mui/material-ui/issues/47378)) [@​ZeeshanTamboli](https://github.com/ZeeshanTamboli)
- \[Autocomplete] Fix input caret not showing when focusing after chip navigation ([#​47249](https://github.com/mui/material-ui/issues/47249)) [@​vrachuri28](https://github.com/vrachuri28)
- \[Autocomplete] Fix ArrowLeft crash when value is not set with single-value rendering ([#​47214](https://github.com/mui/material-ui/issues/47214)) [@​rithik56](https://github.com/rithik56)
- \[Button] Fix running formAction when passed ([#​47185](https://github.com/mui/material-ui/issues/47185)) [@​sai6855](https://github.com/sai6855)
- \[Chip] Remove leftover closing parenthesis in CSS class key ([#​47345](https://github.com/mui/material-ui/issues/47345)) [@​ZeeshanTamboli](https://github.com/ZeeshanTamboli)
- \[ListItem] Add `secondaryAction` slot to `ListItem` ([#​47399](https://github.com/mui/material-ui/issues/47399)) [@​sai6855](https://github.com/sai6855)
- \[NumberField] Fix scroll behavior ([#​47397](https://github.com/mui/material-ui/issues/47397)) [@​oliviertassinari](https://github.com/oliviertassinari)
- \[Select] Fix keyboard navigation while rendering in shadow DOM ([#​47380](https://github.com/mui/material-ui/issues/47380)) [@​xBlizZer](https://github.com/xBlizZer)
- \[Select] Fix cannot pass certain event handlers ([#​47366](https://github.com/mui/material-ui/issues/47366)) [@​ZeeshanTamboli](https://github.com/ZeeshanTamboli)
- \[Slider] Accept readonly array for `marks` prop ([#​47370](https://github.com/mui/material-ui/issues/47370)) [@​pcorpet](https://github.com/pcorpet)
- \[Snackbar] Avoid unnecessary `ownerState` spread into `useSnackbar` ([#​47373](https://github.com/mui/material-ui/issues/47373)) [@​ZeeshanTamboli](https://github.com/ZeeshanTamboli)
- \[TextField] Allow custom props in slot props via TS module augmentation ([#​47367](https://github.com/mui/material-ui/issues/47367)) [@​kumarvishwajeettrivedi](https://github.com/kumarvishwajeettrivedi)
- \[Tabs] Fix Arrow key navigation failing when component is rendered in shadow DOM ([#​47178](https://github.com/mui/material-ui/issues/47178)) [@​sai6855](https://github.com/sai6855)
- Fix typings for theme `applyStyles` with custom color schemes ([#​47242](https://github.com/mui/material-ui/issues/47242)) [@​akankshahu](https://github.com/akankshahu)
##### [@​mui/system](https://github.com/mui/system)@​7.3.6
- Fix unwanted attribute on DOM from InitColorSchemeScript `class` attribute ([#​47200](https://github.com/mui/material-ui/issues/47200)) [@​siriwatknp](https://github.com/siriwatknp)
##### [@​mui/lab](https://github.com/mui/lab)@​7.3.6
- \[Masonry] Fix layout flicker and single column issue ([#​43903](https://github.com/mui/material-ui/issues/43903)) [@​Fanzzzd](https://github.com/Fanzzzd)
##### Docs
- Fix default theme viewer styling ([#​47400](https://github.com/mui/material-ui/issues/47400)) [@​sai6855](https://github.com/sai6855)
- Remove repetitive words ([#​47384](https://github.com/mui/material-ui/issues/47384)) [@​rifeplight](https://github.com/rifeplight)
- Fix link to Portal API docs ([#​47383](https://github.com/mui/material-ui/issues/47383)) [@​ZeeshanTamboli](https://github.com/ZeeshanTamboli)
- Remove mentions of MUI Base from Material UI docs ([#​47324](https://github.com/mui/material-ui/issues/47324)) [@​mapache-salvaje](https://github.com/mapache-salvaje)
- Update CSP guidance ([#​47342](https://github.com/mui/material-ui/issues/47342)) [@​rossdakin](https://github.com…
Prerequisites checklist
What is the purpose of this pull request?
[ ] Documentation update
[ ] Bug fix (template)
[X] New rule (template)
[ ] Changes an existing rule (template)
[ ] Add autofix to a rule
[ ] Add a CLI option
[ ] Add something to the core
[ ] Other, please explain:
fixes #19844
What changes did you make?
I've done some work to implement an initial version of
preserve-caught-errorrule.On top of what my plugin already supports, I've made some improvements as discussed in #19844.
The rule now also:
causewithin aCatchClause.Errortypes that support thecauseoption by default. Accepts a customErrorTypes option, that is a list of user-defined error types to extend what Error types to look for.docs/src/rules/preserve-caught-error.md.Is there anything you'd like reviewers to focus on?
Happy to iterate and make any changes/fixes required :)