Update dependency eslint to v9 #96
Reference in New Issue
Block a user
No description provided.
Delete Branch "renovate/eslint-monorepo"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
8.40.0->9.32.0Release Notes
eslint/eslint (eslint)
v9.32.0Compare Source
Features
1245000feat: support explicit resource management in core rules (#19828) (fnx)0e957a7feat: support typescript types in accessor rules (#19882) (fnx)Bug Fixes
960fd40fix: Upgrade @eslint/js (#19971) (Nicholas C. Zakas)bbf23fafix: Refactor reporting into FileReport (#19877) (Nicholas C. Zakas)d498887fix: bump @eslint/plugin-kit to 0.3.4 to resolve vulnerability (#19965) (Milos Djermanovic)f46fc6cfix: report only global references in no-implied-eval (#19932) (Nitin Kumar)7863d26fix: remove outdated types inParserOptions.ecmaFeatures(#19944) (ntnyq)3173305fix: update execScript message in no-implied-eval rule (#19937) (TKDev7)Documentation
86e7426docs: Update README (GitHub Actions Bot)Chores
50de1cechore: package.json update for @eslint/js release (Jenkins)74f01a3ci: unpinjitito version^2.5.1(#19970) (루밀LuMir)2ab1381ci: pinjitito version 2.4.2 (#19964) (Francesco Trotta)b7f7545test: switch to flat config mode inSourceCodetests (#19953) (Milos Djermanovic)f5a35e3test: switch to flat config mode in eslint-fuzzer (#19960) (Milos Djermanovic)e22af8crefactor: useCustomRuleDefinitionTypeinJSRuleDefinition(#19949) (Francesco Trotta)e855717chore: switch performance tests to hyperfine (#19919) (Francesco Trotta)2f73a23test: switch to flat config mode inast-utilstests (#19948) (Milos Djermanovic)c565a53chore: excludefurther_reading_links.jsonfrom Prettier formatting (#19943) (Milos Djermanovic)v9.31.0Compare Source
Features
35cf44cfeat: output full actual location in rule tester if different (#19904) (ST-DDT)a6a6325feat: support explicit resource management inno-loop-func(#19895) (Milos Djermanovic)4682cdcfeat: support explicit resource management inno-undef-init(#19894) (Milos Djermanovic)5848216feat: support explicit resource management ininit-declarations(#19893) (Milos Djermanovic)bb370b8feat: support explicit resource management inno-const-assign(#19892) (Milos Djermanovic)Bug Fixes
07fac6cfix: retry on EMFILE when writing autofix results (#19926) (TKDev7)28cc7abfix: Remove incorrect RuleContext types (#19910) (Nicholas C. Zakas)Documentation
664cb44docs: Update README (GitHub Actions Bot)40dbe2adocs: fix mismatch betweenglobalIgnores()code and text (#19914) (MaoShizhong)5a0069ddocs: Update README (GitHub Actions Bot)fef04b5docs: Update working on issues info (#19902) (Nicholas C. Zakas)Chores
3ddd454chore: upgrade to@eslint/js@9.31.0(#19935) (Francesco Trotta)d5054e5chore: package.json update for @eslint/js release (Jenkins)0f4a378chore: update eslint (#19933) (renovate[bot])76c2340chore: bump mocha to v11 (#19917) (루밀LuMir)v9.30.1Compare Source
Bug Fixes
e91bb87fix: allow separate default and named type imports (#19899) (xbinaryx)Documentation
ab7c625docs: Update README (GitHub Actions Bot)dae1e5bdocs: update jsdoc's link (#19896) (JamesVanWaza)Chores
b035f74chore: upgrade to@eslint/js@9.30.1(#19906) (Francesco Trotta)b3dbc16chore: package.json update for @eslint/js release (Jenkins)v9.30.0Compare Source
Features
52a5fcafeat: SupportbasePathproperty in config objects (#19879) (Milos Djermanovic)4ab4482feat: addallowSeparateTypeImportsoption tono-duplicate-imports(#19872) (sethamus)b8a7e7afeat: throw error when column is negative ingetIndexFromLoc(#19831) (루밀LuMir)Bug Fixes
6a0f164fix: handlenulltypelocingetIndexFromLocmethod (#19862) (루밀LuMir)3fbcd70fix: update error message forno-restricted-properties(#19855) (Tanuj Kanti)7ef4cf7fix: remove unnecessary semicolon from fixes (#19857) (Francesco Trotta)7dabc38fix: useprocess.versionin--env-info(#19865) (TKDev7)Documentation
8662ed1docs: adopt eslint-stylistic sub packages related changes (#19887) (ntnyq)20158b0docs: typo in comment for unused variables handling (#19870) (leopardracer)ebfb5b4docs: Fixed Typo in configuration-files.md (#19873) (0-20)4112fd0docs: clarify that boolean is still allowed for rulemeta.deprecated(#19866) (Bryan Mishkin)Chores
2b6491cchore: upgrade to@eslint/js@9.30.0(#19889) (Francesco Trotta)5a5d526chore: package.json update for @eslint/js release (Jenkins)eaf8a41chore: Correct typos in linter tests (#19878) (kilavvy)v9.29.0Compare Source
Features
f686fcbfeat: addecmaVersion: 2026, parsingusingandawait using(#19832) (Milos Djermanovic)19cdd22feat: prune suppressions for non-existent files (#19825) (TKDev7)b3d720ffeat: add ES2025 globals (#19835) (fisker Cheung)677a283feat: add auto-accessor fields support to class-methods-use-this (#19789) (sethamus)dbba058feat: allow global type declaration inno-var(#19714) (Remco Haszing)342bd29feat: ignore type annotations in no-restricted-globals (#19781) (sethamus)786bcd1feat: add allowProperties option to no-restricted-properties (#19772) (sethamus)05b66d0feat: addsourceCode.isGlobalReference(node)method (#19695) (Nitin Kumar)Bug Fixes
85c082cfix: explicit matching behavior with negated patterns and arrays (#19845) (Milos Djermanovic)9bda4a9fix: fixLintOptions.filterCodeBlocktypes (#19837) (ntnyq)7ab77a2fix: correct breaking deprecation of FlatConfig type (#19826) (Logicer)1ba3318fix: addlanguageanddialectstono-use-before-define(#19808) (Francesco Trotta)Documentation
00e3e6adocs: add support for custom name parameter toincludeIgnoreFile(#19795) (루밀LuMir)3aed075docs: Update README (GitHub Actions Bot)a2f888ddocs: enhance documentation with links and fix typos (#19761) (루밀LuMir)53c3235docs: update to clarify prompt usage (#19748) (Jennifer Davis)Chores
5c114c9chore: upgrade @eslint/js@9.29.0 (#19851) (Milos Djermanovic)acf2201chore: package.json update for @eslint/js release (Jenkins)a806994refactor: Remove eslintrc from flat config functionality (#19833) (Nicholas C. Zakas)152ed51test: switch to flat config mode in code path analysis tests (#19824) (Milos Djermanovic)b647239chore: Update first-party dependencies faster with Renovate (#19822) (Nicholas C. Zakas)7abe42erefactor: SafeEmitter -> SourceCodeVisitor (#19708) (Nicholas C. Zakas)e392895perf: improve time complexity ofgetLocFromIndex(#19782) (루밀LuMir)0ed289cchore: remove accidentally committed file (#19807) (Francesco Trotta)v9.28.0Compare Source
Features
b0674befeat: Customization of serialization for languageOptions (#19760) (Nicholas C. Zakas)a95721ffeat: Add--pass-on-unpruned-suppressionsCLI option (#19773) (Milos Djermanovic)bfd0e7afeat: support TypeScript syntax inno-use-before-define(#19566) (Tanuj Kanti)68c61c0feat: support TS syntax inno-shadow(#19565) (Nitin Kumar)0f773effeat: support TS syntax inno-magic-numbers(#19561) (Nitin Kumar)c4a6b60feat: add allowTypeAnnotation to func-style (#19754) (sethamus)b03ad17feat: add TypeScript support toprefer-arrow-callback(#19678) (Tanuj Kanti)bc3c331feat: ignore overloaded function declarations in func-style rule (#19755) (sethamus)Bug Fixes
eea3e7efix: Remove configured global variables fromGlobalScope#implicit(#19779) (Milos Djermanovic)a467de3fix: update context.report types (#19751) (Nitin Kumar)fd467bbfix: remove interopDefault to use jiti's default (#19697) (sethamus)72d16e3fix: avoid false positive inno-unassigned-varsfor declare module (#19746) (Azat S.)81c3c93fix: curly types (#19750) (Eli)Documentation
3ec2082docs: Nested arrays in files config entry (#19799) (Nicholas C. Zakas)89a65b0docs: clarify how config arrays can apply to subsets of files (#19788) (Shais Ch)2ba8a0ddocs: Add description of meta.namespace to plugin docs (#19798) (Nicholas C. Zakas)59dd7e6docs: updatefunc-stylewith examples (#19793) (Tanuj Kanti)e9129e0docs: add global scope'simplicitfield to Scope Manager docs (#19770) (Milos Djermanovic)52f5b7adocs: fix minor typos and add links (#19743) (루밀LuMir)00716a3docs: upfront recommend against using the no-return-await rule (#19727) (Mike DiDomizio)Chores
175b7b8chore: upgrade to@eslint/js@9.28.0(#19802) (Francesco Trotta)844f5a6chore: package.json update for @eslint/js release (Jenkins)62b1c1bchore: update globals to v16 (#19791) (Nitin Kumar)e8a1cb8chore: ignore jiti-v2.0 & jiti-v2.1 for renovate (#19786) (Nitin Kumar)43d3975chore: Add Copilot Instructions file (#19753) (Nicholas C. Zakas)2dfb5ebtest: updateSourceCodeTraversertests (#19763) (Milos Djermanovic)5bc21f9chore: add*.code-workspaceto.gitignore(#19771) (루밀LuMir)f4fa40erefactor: NodeEventGenerator -> SourceCodeTraverser (#19679) (Nicholas C. Zakas)0f49329refactor: use a service to emit warnings (#19725) (Francesco Trotta)20a9e59chore: update dependency shelljs to ^0.10.0 (#19740) (renovate[bot])v9.27.0Compare Source
Features
d71e37ffeat: Allow flags to be set in ESLINT_FLAGS env variable (#19717) (Nicholas C. Zakas)ba456e0feat: Externalize MCP server (#19699) (Nicholas C. Zakas)07c1a7efeat: addallowRegexCharacterstono-useless-escape(#19705) (sethamus)7bc6c71feat: add no-unassigned-vars rule (#19618) (Jacob Bandes-Storch)ee40364feat: convert no-array-constructor suggestions to autofixes (#19621) (sethamus)32957cdfeat: support TS syntax inmax-params(#19557) (Nitin Kumar)Bug Fixes
5687ce7fix: correct mismatched removed rules (#19734) (루밀LuMir)dc5ed33fix: correct types and tighten type definitions inSourceCodeclass (#19731) (루밀LuMir)de1b5defix: correctserviceproperty name inLinter.ESLintParseResulttype (#19713) (Francesco Trotta)60c3e2cfix: sort keys in eslint-suppressions.json to avoid git churn (#19711) (Ron Waldon-Howe)9da90cafix: addallowReservedtoLinter.ParserOptionstype (#19710) (Francesco Trotta)fbb8be9fix: addinfotoESLint.DeprecatedRuleUsetype (#19701) (Francesco Trotta)Documentation
25de550docs: Update description of frozen rules to mention TypeScript (#19736) (Nicholas C. Zakas)bd5def6docs: Clean up configuration files docs (#19735) (Nicholas C. Zakas)4d0c60ddocs: Add Neovim to editor integrations (#19729) (Maria José Solano)71317ebdocs: Update README (GitHub Actions Bot)4c289e6docs: Update README (GitHub Actions Bot)f0f0d46docs: clarify that unused suppressions cause non-zero exit code (#19698) (Milos Djermanovic)8ed3273docs: fix internal usages ofConfigDatatype (#19688) (Francesco Trotta)eb316a8docs: addfmtandchecksections toPackage.json Conventions(#19686) (루밀LuMir)a3a2559docs: fix wording in Combine Configs (#19685) (Milos Djermanovic)c8d17e1docs: Update README (GitHub Actions Bot)Chores
f8f1560chore: upgrade @eslint/js@9.27.0 (#19739) (Milos Djermanovic)ecaef73chore: package.json update for @eslint/js release (Jenkins)596fdc6chore: update dependency @arethetypeswrong/cli to ^0.18.0 (#19732) (renovate[bot])f791da0chore: remove unbalanced curly brace from.editorconfig(#19730) (Maria José Solano)e86edeerefactor: Consolidate Config helpers (#19675) (Nicholas C. Zakas)cf36352chore: remove shared types (#19718) (Francesco Trotta)f60f276refactor: Easier RuleContext creation (#19709) (Nicholas C. Zakas)58a171echore: update dependency @eslint/plugin-kit to ^0.3.1 (#19712) (renovate[bot])3a075a2chore: update dependency @eslint/core to ^0.14.0 (#19715) (renovate[bot])44bac9dci: run tests in Node.js 24 (#19702) (Francesco Trotta)35304ddchore: add missingfundingfield to packages (#19684) (루밀LuMir)f305bebtest: mockprocess.emitWarningto prevent output disruption (#19687) (Francesco Trotta)v9.26.0Compare Source
Features
e9754e7feat: add reportGlobalThis to no-shadow-restricted-names (#19670) (sethamus)0fa2b7afeat: add suggestions foreqeqeqrule (#19640) (Nitin Kumar)dcbdcc9feat: Add MCP server (#19592) (Nicholas C. Zakas)2dfd83efeat: addignoreDirectivesoption inno-unused-expressions(#19645) (sethamus)Bug Fixes
96e84defix: check cache file existence before deletion (#19648) (sethamus)d683aebfix: don't crash on tests with circular references inRuleTester(#19664) (Milos Djermanovic)9736d5dfix: addnamespacetoPlugin.metatype (#19661) (Milos Djermanovic)17bae69fix: updateRuleTester.run()type (#19634) (Nitin Kumar)Documentation
dd98d63docs: Update README (GitHub Actions Bot)c25e858docs: Update README (GitHub Actions Bot)b2397e9docs: Update README (GitHub Actions Bot)addd0a6docs: fix formatting of unordered lists in Markdown (#19660) (Milos Djermanovic)a21b38ddocs: Update README (GitHub Actions Bot)c0721a7docs: fix double space in command (#19657) (CamWass)Chores
5b247c8chore: upgrade to@eslint/js@9.26.0(#19681) (Francesco Trotta)d6fa4acchore: package.json update for @eslint/js release (Jenkins)0958690chore: disambiguate internal typesLanguageOptionsandRule(#19669) (Francesco Trotta)f1c858echore: fix internal type references toPluginandRule(#19665) (Francesco Trotta)40dd299refactor: One-shot ESQuery selector analysis (#19652) (Nicholas C. Zakas)1cfd702chore: update dependency @eslint/json to ^0.12.0 (#19656) (renovate[bot])v9.25.1Compare Source
Bug Fixes
cdc8e8cfix: revert directive detection in no-unused-expressions (#19639) (sethamus)Chores
1f2b057chore: upgrade @eslint/js@9.25.1 (#19642) (Milos Djermanovic)771317fchore: package.json update for @eslint/js release (Jenkins)v9.25.0Compare Source
Features
dcd95aafeat: support TypeScript syntax in no-empty-function rule (#19551) (sethamus)77d6d5bfeat: support TS syntax inno-unused-expressions(#19564) (Sweta Tanwar)90228e5feat: supportJSRuleDefinitiontype (#19604) (루밀LuMir)59ba6b7feat: add allowObjects option to no-restricted-properties (#19607) (sethamus)db650a0feat: support TypeScript syntax inno-invalid-thisrule (#19532) (Tanuj Kanti)9535cfffeat: support TS syntax inno-loop-func(#19559) (Nitin Kumar)Bug Fixes
910bd13fix:nodeTypeKeynot being used inNodeEventGenerator(#19631) (StyleShit)Documentation
ca7a735docs: updateno-undef-initwhen not to use section (#19624) (Tanuj Kanti)1b870c9docs: useeslint-config-xoin the getting started guide (#19629) (Nitin Kumar)5d4af16docs: add types for multiple rule options (#19616) (Tanuj Kanti)e8f8d57docs: Update README (GitHub Actions Bot)a40348fdocs: no-use-before-define tweaks (#19622) (Kirk Waiblinger)0ba3ae3docs: Update README (GitHub Actions Bot)865dbfedocs: ensure "learn more" deprecation links point to useful resource (#19590) (Kirk Waiblinger)f80b746docs: add known limitations for no-self-compare (#19612) (Nitin Kumar)865aed6docs: Update README (GitHub Actions Bot)Chores
88dc196chore: upgrade @eslint/js@9.25.0 (#19636) (Milos Djermanovic)345288dchore: package.json update for @eslint/js release (Jenkins)affe6bechore: upgrade trunk (#19628) (sethamus)dd20cf2test: fixno-loop-functest with duplicate variable reports (#19610) (Milos Djermanovic)bd05397chore: upgrade@eslint/*dependencies (#19606) (Milos Djermanovic)22ea18bchore: replace invalidinttype withnumberinside JSDocs. (#19597) (Arya Emami)v9.24.0Compare Source
Features
556c25bfeat: support loading TS config files using--experimental-strip-types(#19401) (Arya Emami)72650acfeat: support TS syntax ininit-declarations(#19540) (Nitin Kumar)03fb0bcfeat: normalize patterns to handle "./" prefix in files and ignores (#19568) (Pixel998)071dcd3feat: support TS syntax inno-dupe-class-members(#19558) (Nitin Kumar)cd72bccfeat: Introduce a way to suppress violations (#19159) (Iacovos Constantinou)2a81578feat: support TS syntax inno-loss-of-precision(#19560) (Nitin Kumar)30ae4edfeat: add new options to class-methods-use-this (#19527) (sethamus)b79ade6feat: support TypeScript syntax inno-array-constructor(#19493) (Tanuj Kanti)Bug Fixes
b23d1c5fix: deduplicate variable names in no-loop-func error messages (#19595) (Nitin Kumar)fb8cdb8fix: useany[]type forcontext.options(#19584) (Francesco Trotta)Documentation
f857820docs: update documentation for--experimental-strip-types(#19594) (Nikolas Schröter)803e4afdocs: simplify gitignore path handling in includeIgnoreFile section (#19596) (Thomas Broyer)6d979ccdocs: Update README (GitHub Actions Bot)82177e4docs: Update README (GitHub Actions Bot)e849dc0docs: replace existing var with const (#19578) (Sweta Tanwar)0c65c62docs: don't pass filename when linting rule examples (#19571) (Milos Djermanovic)6be36c9docs: Update custom-rules.md code example of fixer (#19555) (Yifan Pan)Build Related
366e369build: re-enable Prettier formatting forpackage.jsonfiles (#19569) (Francesco Trotta)Chores
ef67420chore: upgrade @eslint/js@9.24.0 (#19602) (Milos Djermanovic)4946847chore: package.json update for @eslint/js release (Jenkins)a995acbchore: correct 'flter'/'filter' typo in package script (#19587) (Josh Goldberg ✨)b9a5efatest: skip symlink test on Windows (#19503) (fisker Cheung)46eea6dchore: removeRule&FormatterFunctionfromshared/types.js(#19556) (Nitin Kumar)bdcc91dchore: modify .editorconfig to keep parity with prettier config (#19577) (Sweta Tanwar)7790d83chore: fix some typos in comment (#19576) (todaymoon)76064a6test: ignorepackage-lock.jsonforeslint-webpack-plugin(#19572) (Francesco Trotta)v9.23.0Compare Source
Features
557a0d2feat: support TypeScript syntax in no-useless-constructor (#19535) (Josh Goldberg ✨)8320241feat: support TypeScript syntax indefault-param-last(#19431) (Josh Goldberg ✨)833c4a3feat: defineConfig() supports "flat/" config prefix (#19533) (Nicholas C. Zakas)4a0df16feat: circular autofix/conflicting rules detection (#19514) (Milos Djermanovic)be56a68feat: support TypeScript syntax inclass-methods-use-this(#19498) (Josh Goldberg ✨)Bug Fixes
0e20aa7fix: move deprecatedRuleContextmethods to subtype (#19531) (Francesco Trotta)cc3bd00fix: reporting variable used in catch block inno-useless-assignment(#19423) (Tanuj Kanti)d46ff83fix:no-dupe-keysfalse positive with proto setter (#19508) (Milos Djermanovic)e732773fix: navigation of search results on pressing Enter (#19502) (Tanuj Kanti)f4e9c5ffix: allowRuleTesterto test files insidenode_modules/(#19499) (fisker Cheung)Documentation
5405939docs: show red underlines in TypeScript examples in rules docs (#19547) (Milos Djermanovic)48b53d6docs: replace var with const in examples (#19539) (Nitin Kumar)c39d7dbdocs: Update README (GitHub Actions Bot)a4f8760docs: revert accidental changes (#19542) (Francesco Trotta)280128fdocs: add copy button (#19512) (xbinaryx)cd83eaadocs: replacevarwithconstin examples (#19530) (Nitin Kumar)7ff0cdedocs: Update README (GitHub Actions Bot)996cfb9docs: migrate sass to module system (#19518) (xbinaryx)17cb958docs: replacevarwithletandconstin rule examples (#19515) (Tanuj Kanti)83e24f5docs: Replace var with let or const (#19511) (Jenna Toff)a59d0c0docs: Update docs for defineConfig (#19505) (Nicholas C. Zakas)fe92927docs:require-unicode-regexpadd note foriflag and\w(#19510) (Chaemin-Lim)Build Related
2357eddbuild: exclude autogenerated files from Prettier formatting (#19548) (Francesco Trotta)Chores
0ac8ea4chore: update dependencies for v9.23.0 release (#19554) (Francesco Trotta)20591c4chore: package.json update for @eslint/js release (Jenkins)901344fchore: update dependency @eslint/json to ^0.11.0 (#19552) (renovate[bot])5228383chore: fix update-readme formatting (#19544) (Milos Djermanovic)5439525chore: format JSON files in Trunk (#19541) (Francesco Trotta)75adc99chore: enabled Prettier in Trunk (#19354) (Josh Goldberg ✨)2395168chore: added .git-blame-ignore-revs for Prettier via trunk fmt (#19538) (Josh Goldberg ✨)129882dchore: formatted files with Prettier via trunk fmt (#19355) (Josh Goldberg ✨)1738dbcchore: temporarily disable prettier in trunk (#19537) (Josh Goldberg ✨)dc854fdchore: update dependency shelljs to ^0.9.0 (#19524) (renovate[bot])5d57496chore: fix some comments (#19525) (jimmycathy)9c5c6eetest: fix an assertion failure (#19500) (fisker Cheung)7a699a6chore: remove formatting-related lint rules internally (#19473) (Josh Goldberg ✨)c99db89test: replace WebdriverIO with Cypress (#19465) (Pixel998)v9.22.0Compare Source
Features
7ddb095feat: Export defineConfig, globalIgnores (#19487) (Nicholas C. Zakas)Bug Fixes
19c0127fix: improve message forno-consolesuggestions (#19483) (Francesco Trotta)49e624ffix: improve error message for falsy parsed JS AST (#19458) (Josh Goldberg ✨)Documentation
86c5f37docs: Update README (GitHub Actions Bot)fbdeff0docs: Update README (GitHub Actions Bot)c9e8510docs: generate deprecation notice in TSDoc comments from rule metadata (#19461) (Francesco Trotta)2f386addocs: replacevarwithconstin rule examples (#19469) (Tanuj Kanti)0e688e3docs: Update README (GitHub Actions Bot)06b596ddocs: Restore the carrot to the position where the search input was lost (#19459) (Amaresh S M)Chores
97f788bchore: upgrade @eslint/js@9.22.0 (#19489) (Milos Djermanovic)eed409achore: package.json update for @eslint/js release (Jenkins)f9a56d3chore: upgrade eslint-scope@8.3.0 (#19488) (Milos Djermanovic)v9.21.0Compare Source
Features
418717ffeat: introduce new deprecated types for rules (#19238) (fnx)5c5b802feat: Add--extCLI option (#19405) (Milos Djermanovic)Bug Fixes
db5340dfix: update missing plugin message template (#19445) (Milos Djermanovic)d8ffdd4fix: do not exit process on rule crash (#19436) (Francesco Trotta)Documentation
c5561eadocs: Update README (GitHub Actions Bot)80b0485docs: replacevarwithletandconstin rule example (#19434) (Tanuj Kanti)f67d5e8docs: Update README (GitHub Actions Bot)75afc61docs: Update README (GitHub Actions Bot)0636cabdocs: Update Eleventy from v2 to v3 (#19415) (Amaresh S M)dd7d930docs: Update README (GitHub Actions Bot)Chores
a8c9a9fchore: update@eslint/eslintrcand@eslint/js(#19453) (Francesco Trotta)265e0cfchore: package.json update for @eslint/js release (Jenkins)3401b85test: add test forRule.ReportDescriptortype (#19449) (Francesco Trotta)e497aa7chore: update rewrite dependencies (#19448) (Francesco Trotta)dab5478chore: better error message for missing plugin in config (#19402) (Tanuj Kanti)ebfe2ebchore: set js language for bug report issue config block (#19439) (Josh Goldberg ✨)5fd211dtest: processors can return subpaths (#19425) (Milos Djermanovic)v9.20.1Compare Source
Bug Fixes
274f054fix: fixRuleContexttype (#19417) (Francesco Trotta)Documentation
fe3ccb2docs: allow typing in search box while dropdown is open (#19424) (Amaresh S M)93c78a5docs: Add instructions for pnpm compat (#19422) (Nicholas C. Zakas)b476a93docs: Fix Keyboard Navigation for Search Results (#19416) (Amaresh S M)ccb60c0docs: Update README (GitHub Actions Bot)v9.20.0Compare Source
Features
e89a54afeat: change behavior of inactive flags (#19386) (Milos Djermanovic)Bug Fixes
91d4d9ffix: Bring types in sync with @eslint/core (#19157) (Nicholas C. Zakas)fa25c7afix: Emit warning when empty config file is used (#19399) (Nicholas C. Zakas)31a9fd0fix: Clearer error message for wrong plugin format (#19380) (Nicholas C. Zakas)61d99e3fix: Better error message for unserializable parser (#19384) (Nicholas C. Zakas)db1b9a6fix: Ensure module scope is checked for references inconsistent-this(#19383) (Nicholas C. Zakas)8bcd820fix:arrow-body-stylecrash with single-token body (#19379) (Milos Djermanovic)Documentation
b7012c8docs: rewrite examples with var using let and const (#19407) (Mueez Javaid Hashmi)6406376docs: Update README (GitHub Actions Bot)350f2b9docs: rewrite some examples with var using let and const (#19404) (Mueez Javaid Hashmi)93c325adocs: rewrite examples with var using let and const (#19398) (Mueez Javaid Hashmi)56ff404docs: replace var with let or const in rules docs (#19396) (Daniel Harbrueger)4053226docs: changesourceTypeinno-evalexamples (#19393) (Milos Djermanovic)1324af0docs: replace var with let and const in rules docs (#19392) (Daniel Harbrueger)8b87e00docs: replacevarwithconstandletin rules (#19389) (Tanuj Kanti)758c66bdocs: Explain what frozen rules mean (#19382) (Nicholas C. Zakas)0ef8bb8docs: additional checks for rule examples (#19358) (Milos Djermanovic)58ab2f6docs: fix order of installation steps in getting started (#19326) (Tanuj Kanti)Chores
979097achore: upgrade @eslint/js@9.20.0 (#19412) (Francesco Trotta)031734echore: package.json update for @eslint/js release (Jenkins)d4c47c3test: avoid empty config warning in test output (#19408) (Milos Djermanovic)67dd82achore: update dependency @eslint/json to ^0.10.0 (#19387) (renovate[bot])15ac0e1chore: add permissions: read-all to stale.yml workflow (#19374) (Josh Goldberg ✨)v9.19.0Compare Source
Features
1637b8efeat: add--report-unused-inline-configs(#19201) (Josh Goldberg ✨)Bug Fixes
aae6717fix: sync rule type header comments automatically (#19276) (Francesco Trotta)Documentation
cfea9abdocs: Clarify overrideConfig option (#19370) (Nicholas C. Zakas)2b84f66docs: Update README (#19362) (Nicholas C. Zakas)044f93cdocs: clarify frozen rule description (#19351) (Pavel)797ee7cdocs: fix Bluesky links (#19368) (Milos Djermanovic)81a9c0edocs: Update README (GitHub Actions Bot)093fb3ddocs: replacevarwithletandconstin rule examples (#19365) (Tanuj Kanti)417de32docs: replace var with const in rule examples (#19352) (jj)17f2aaedocs: update getting-started config to match default generated config (#19308) (0xDev)8a0a5a8docs: betterglobal ignoresinstruction (#19297) (Jacopo Marrone)6671a2cdocs: Update README (GitHub Actions Bot)e39d3f2docs: fix divider for rule category (#19264) (Tanuj Kanti)e0cf53fdocs: fix search result box position for small screens (#19328) (Tanuj Kanti)f92a680docs: replace var with let or const in rule examples (#19331) (Ravi Teja Kolla)b04b84bdocs: revert accidental changes in TS config files docs (#19336) (Francesco Trotta)Chores
9b9cb05chore: upgrade @eslint/js@9.19.0 (#19371) (Milos Djermanovic)58560e7chore: package.json update for @eslint/js release (Jenkins)2089707test: fix failing test in Node.js v22.13.0 (#19345) (Francesco Trotta)v9.18.0Compare Source
Features
e84e6e2feat: Report allowed methods forno-consolerule (#19306) (Anna Bocharova)8efc2d0feat: unflag TypeScript config files (#19266) (Francesco Trotta)87a9352feat: check imports and class names inno-shadow-restricted-names(#19272) (Milos Djermanovic)Bug Fixes
da768d4fix: correctoverrideConfigFiletype (#19289) (Francesco Trotta)Documentation
d9c23c5docs: replacevarwithconstin rule examples (#19325) (Tanuj Kanti)8e1a898docs: add tabs to cli code blocks (#18784) (Jay)f3aeefbdocs: rewrite using let and const in rule examples (#19320) (PoloSpark)0b680b3docs: Update README (GitHub Actions Bot)98c86a9docs:Edit this pagebutton link to different branches (#19228) (Tanuj Kanti)6947901docs: remove hardcoded edit link (#19323) (Milos Djermanovic)03f2f44docs: rewrite var with const in rules examples (#19317) (Thiago)26c3003docs: Clarify dangers of eslint:all (#19318) (Nicholas C. Zakas)c038257docs: addeqeqeqin related rules tono-eq-null(#19310) (루밀LuMir)89c8fc5docs: rewrite examples with var using let and const (#19315) (Amaresh S M)db574c4docs: add missing backticks tono-void(#19313) (루밀LuMir)8d943c3docs: add missing backticks todefault-case-last(#19311) (루밀LuMir)36ef8bbdocs: rewrite examples with var using let and const (#19298) (Amaresh S M)1610c9edocs: add missing backticks tono-else-return(#19309) (루밀LuMir)df409d8docs: Update README (GitHub Actions Bot)2e84213docs: Fix Horizontal Scroll Overflow in Rule Description on Mobile View (#19304) (Amaresh S M)6e7361bdocs: replacevarwithletandconstin rule example (#19302) (Tanuj Kanti)069af5edocs: rewritevarusingconstin rule examples (#19303) (Kim GyeonWon)064e35ddocs: remove 'I hope to' comments from scope-manager-interface (#19300) (Josh Goldberg ✨)8e00305docs: replacevarwithconstin rule examples (#19299) (Tanuj Kanti)a559009docs: Add warning about extending core rules (#19295) (Nicholas C. Zakas)0bfdf6cdocs: Update README (GitHub Actions Bot)ce0b9ffdocs: add navigation link forcode explorer(#19285) (Tanuj Kanti)e255cc9docs: add bluesky icon to footer (#19290) (Tanuj Kanti)5d64851docs: remove outdated info about environments (#19296) (Francesco Trotta)eec01f0docs: switch rule examples config format tolanguageOptions(#19277) (Milos Djermanovic)b36ca0adocs: Fixing Focus Order by Rearranging Element Sequence (#19241) (Amaresh S M)d122c8adocs: add missing backticks tosort-imports(#19282) (루밀LuMir)0367a70docs: update custom parser docs (#19288) (Francesco Trotta)8c07ebbdocs: addborder-radiustohX:targetselector styles (#19270) (루밀LuMir)eff7c57docs: add limitation section inno-loop-func(#19287) (Tanuj Kanti)5db226fdocs: add missing backticks in various parts of the documentation (#19269) (루밀LuMir)789edbbdocs: Update README (GitHub Actions Bot)613c06adocs: mark rules that are frozen with ❄️ (#19231) (Amaresh S M)43172ecdocs: Update README (GitHub Actions Bot)ac8b3c4docs: fix description ofoverrideConfigFileoption (#19262) (Milos Djermanovic)bbb9b46docs: Update README (GitHub Actions Bot)995b492docs: fix inconsistent divider in rule categories box (#19249) (Tanuj Kanti)f76d05ddocs: Refactor search result handling with better event listener cleanup (#19252) (Amaresh S M)c5f3d7ddocs: Update README (GitHub Actions Bot)Chores
c52be85chore: upgrade to@eslint/js@9.18.0(#19330) (Francesco Trotta)362099cchore: package.json update for @eslint/js release (Jenkins)495aa49chore: extract packagenamefrompackage.jsonfor public interface (#19314) (루밀LuMir)6fe0e72chore: update dependency @eslint/json to ^0.9.0 (#19263) (renovate[bot])v9.17.0Compare Source
Features
eed91d1feat: add suggestions tono-unused-vars(#18352) (Tanuj Kanti)Bug Fixes
67d683dfix: fix crash whenmessage.fixis nullish (#19168) (ntnyq)c618707fix: ignore vars with non-identifier references in no-useless-assignment (#19200) (YeonJuan)Documentation
3c22d2adocs: updateyodatoYodainyoda.mdfor consistency (#19230) (루밀LuMir)e0a2203docs: add missing backticks tono-sequences(#19233) (루밀LuMir)4cc4881docs: Update README (GitHub Actions Bot)3db6fdfdocs: [no-await-in-loop] expand on benefits and inapplicability (#19211) (Kirk Waiblinger)bf2a4f6docs: add missing backticks tofunc-style(#19227) (루밀LuMir)ba098bddocs: add missing header toprefer-spread(#19224) (루밀LuMir)b607ae6docs: update description ofno-param-reassign(#19220) (루밀LuMir)1eb424ddocs: add missing backticks toprefer-destructuring(#19223) (루밀LuMir)85998d1docs: add missing backticks tono-unneeded-ternary(#19222) (루밀LuMir)b75b32cdocs: add missing backticks tono-new-func(#19219) (루밀LuMir)a7700bcdocs: add missing backticks toid-length(#19217) (루밀LuMir)e2bb429docs: add missing backticks tocomplexity.md(#19214) (루밀LuMir)045d716docs: add missing)toid-denylist(#19213) (루밀LuMir)7fe4114docs: Update README (GitHub Actions Bot)c743ba6docs: add CSS language tono-restricted-syntax(#19208) (Milos Djermanovic)1416d70docs: add missing backticks toeqeqeq(#19207) (루밀LuMir)b950c1bdocs: add missing backticks toprefer-object-spread(#19206) (루밀LuMir)8a941cbdocs: update docs anddescriptionofrequire-unicode-regexp(#19205) (루밀LuMir)cbab228docs: Update README (GitHub Actions Bot)f2257cedocs: update comments anddescriptionofno-script-url(#19203) (루밀LuMir)365f0f4docs: add missing backtick todefault-case-last(#19202) (루밀LuMir)e6b84f5docs: add missing punctuation in document (#19161) (루밀LuMir)c88708edocs: replace quote with backtick indescriptionoffor-direction(#19199) (루밀LuMir)a76f233docs: use higher contrast color tokens for code comments (#19187) (Josh Goldberg ✨)db19502docs: Update README (GitHub Actions Bot)Chores
cc243c9chore: upgrade to@eslint/js@9.17.0(#19242) (Francesco Trotta)84c5787chore: package.json update for @eslint/js release (Jenkins)4c4f53bchore: add missing backticks toflags.js(#19226) (루밀LuMir)4b3132cchore: update dependency eslint-plugin-expect-type to ^0.6.0 (#19221) (renovate[bot])9bf2204chore: add type definitions for theeslint-config-eslintpackage (#19050) (Arya Emami)ee8c220chore: fix incorrectnameproperty inintegration-tutorial-code(#19218) (루밀LuMir)cca801dchore: Upgrade cross-spawn to 7.0.6 (#19185) (folortin)v9.16.0Compare Source
Features
8f70eb1feat: AddignoreComputedKeysoption insort-keysrule (#19162) (Milos Djermanovic)Documentation
9eefc8fdocs: fix typos inuse-isnan(#19190) (루밀LuMir)0c8cea8docs: switch the order of words inno-unreachable(#19189) (루밀LuMir)0c19417docs: add missing backtick tono-async-promise-executor(#19188) (루밀LuMir)8df9276docs: add backtick in-0indescriptionofno-compare-neg-zero(#19186) (루밀LuMir)7e16e3fdocs: fixcaseSensitiveoption's title ofsort-keys(#19183) (Tanuj Kanti)0c6b842docs: fix typos inmigration-guide.md(#19180) (루밀LuMir)353266edocs: fix a typo indebug.md(#19179) (루밀LuMir)5ff318adocs: delete unnecessary horizontal rule(---) innodejs-api(#19175) (루밀LuMir)576bcc5docs: mark more rules as handled by TypeScript (#19164) (Tanuj Kanti)742d054docs: note thatno-restricted-syntaxcan be used with any language (#19148) (Milos Djermanovic)Chores
feb703bchore: upgrade to@eslint/js@9.16.0(#19195) (Francesco Trotta)df9bf95chore: package.json update for @eslint/js release (Jenkins)f831893chore: add type forignoreComputedKeysoption ofsort-keys(#19184) (Tanuj Kanti)3afb8a1chore: update dependency @eslint/json to ^0.8.0 (#19177) (Milos Djermanovic)1f77c53chore: addrepository.directoryproperty topackage.json(#19165) (루밀LuMir)d460594chore: update dependency @arethetypeswrong/cli to ^0.17.0 (#19147) (renovate[bot])45cd4earefactor: update default options in rules (#19136) (Milos Djermanovic)v9.15.0Compare Source
Features
01557cefeat: Implement Language#normalizeLanguageOptions() (#19104) (Nicholas C. Zakas)2edc0e2feat: add meta.defaultOptions (#17656) (Josh Goldberg ✨)bdec50efeat: fixno-useless-computed-keyfalse negative with__proto__(#19123) (Milos Djermanovic)3087c9efeat: addmetaobject to@eslint/jsplugin (#19095) (Francesco Trotta)Bug Fixes
fd33f13fix: update types forno-restricted-importsrule (#19060) (Nitin Kumar)bd35098fix: switch away from Node.js node:assert and AssertionError (#19082) (Josh Goldberg ✨)9db5b15fix: unsafe report forno-lonely-if(#19087) (Abraham Guo)68fa497fix: ignore files on a different drive on Windows (#19069) (Francesco Trotta)4ce625afix: upgrade @humanwhocodes/retry@0.4.1 to avoid debug logs (#19102) (Milos Djermanovic)Documentation
d927920docs: fix styles in no-js mode (#18916) (Tanuj Kanti)09bc2a8docs: Update README (GitHub Actions Bot)39089c8docs: addno-useless-computed-keyexamples with object patterns (#19109) (Milos Djermanovic)895c60fdocs: add missing messageId property and suggestion properties (#19122) (fnx)298625edocs: Change CLI -c to use flat config (#19103) (Nicholas C. Zakas)522d8a3docs: add deprecation onindent,quotesandsemirule types (#19090) (Marco Pasqualetti)Chores
2967d91chore: upgrade @eslint/js@9.15.0 (#19133) (Milos Djermanovic)b441beechore: package.json update for @eslint/js release (Jenkins)7d6bf4achore: upgrade @eslint/core@0.9.0 (#19131) (Milos Djermanovic)902e707chore: upgrade @eslint/plugin-kit@0.2.3 (#19130) (Milos Djermanovic)5ff6c1dchore: bump cross-spawn (#19125) (Ian Bobinac)cceccc7chore: update dependency @eslint/json to ^0.6.0 (#19117) (renovate[bot])0da3f73chore: update algolia referrer (#19114) (Strek)4f08332ci: unpintrunk-io/trunk-action(#19108) (Francesco Trotta)6b75683perf: optimizetext-tableby replacing regex withtrimEnd(#19061) (Nitin Kumar)v9.14.0Compare Source
Features
3fa009ffeat: add support for Import Attributes and RegExp Modifiers (#19076) (Milos Djermanovic)b0faee3feat: add types for the@eslint/jspackage (#19010) (Nitin Kumar)Bug Fixes
24d0172fix: enable retry concurrency limit for readFile() (#19077) (Nicholas C. Zakas)b442067fix: Don't crash when directory is deleted during traversal. (#19067) (Nicholas C. Zakas)d474443fix: avoid call stack overflow while processing globs (#19035) (Livia Medeiros)Documentation
151c965docs: updatecontext.languageOptions.parserdescription (#19084) (Nitin Kumar)dc34f94docs: Update README (GitHub Actions Bot)f16e846docs: Update README (GitHub Actions Bot)ee0a77edocs: change link from @types/eslint to lib/types (#19049) (Karl Horky)50f03a1docs: Clarify global ignores in config migration guide (#19032) (Milos Djermanovic)Build Related
37c9177build: update@wdio/*dependencies (#19068) (Francesco Trotta)35a8858build: exclude flawed dendency versions (#19065) (Francesco Trotta)Chores
f36cb16chore: upgrade @eslint/js@9.14.0 (#19086) (Milos Djermanovic)28be447chore: package.json update for @eslint/js release (Jenkins)f48a2a0test: addno-invalid-regexptests with RegExp Modifiers (#19075) (Milos Djermanovic)425202eperf: Fix caching in config loaders (#19042) (Milos Djermanovic)3d44b3cci: run tests in Node.js 23 (#19055) (Francesco Trotta)7259627test: ensure tmp directory cleanup incheck-emfile-handling.js(#19036) (Livia Medeiros)v9.13.0Compare Source
Features
381c32bfeat: Allow languages to providedefaultLanguageOptions(#19003) (Milos Djermanovic)bf723bdfeat: Improve eslintrc warning message (#19023) (Milos Djermanovic)1def4cdfeat: drop support for jiti v1.21 (#18996) (Francesco Trotta)f879be2feat: exportESLint.defaultConfig(#18983) (Nitin Kumar)Bug Fixes
78836d4fix: update thecomplexityrule type (#19027) (Nitin Kumar)064c8b6fix: update rule types (#18925) (Nitin Kumar)Documentation
abdbfa8docs: markLintMessage#nodeTypeas deprecated (#19019) (Nitin Kumar)19e68d3docs: update deprecated rules type definitions (#19018) (Nitin Kumar)7dd402ddocs: Update examples of passing multiple values to a CLI option (#19006) (Milos Djermanovic)5dcbc51docs: Add example with side-effect imports to no-restricted-imports (#18997) (Milos Djermanovic)1ee87cadocs: Update README (GitHub Actions Bot)2c3dbdcdocs: Use prerendered sponsors for README (#18988) (Milos Djermanovic)Chores
68d2d9dchore: upgrade to@eslint/js@9.13.0and@eslint/core@^0.7.0(#19034) (Francesco Trotta)2211f0achore: package.json update for @eslint/js release (Jenkins)c7abaefperf: using Node.js compile cache (#19012) (唯然)1d7c077chore: add pkg.type "commonjs" (#19011) (唯然)468e3bdtest: fixESLinttests (#19021) (Francesco Trotta)ed4635fci: upgrade knip@5.32.0 (#18992) (Milos Djermanovic)efad767chore: remove unused ignore dependency (#18993) (Amaresh S M)v9.12.0Compare Source
Features
5a6a053feat: update tojitiv2 (#18954) (Arya Emami)17a07fbfeat: Hooks for test cases (RuleTester) (#18771) (Anna Bocharova)2ff0e51feat: Implement alternate config lookup (#18742) (Nicholas C. Zakas)2d17453feat: Implement modified cyclomatic complexity (#18896) (Dmitry Pashkevich)Bug Fixes
ea380cafix: Upgrade retry to avoid EMFILE errors (#18986) (Nicholas C. Zakas)fdd6319fix: Issues with type definitions (#18940) (Arya Emami)Documentation
ecbd522docs: Mention code explorer (#18978) (Nicholas C. Zakas)7ea4eccdocs: Clarifying the Use of Meta Objects (#18697) (Amaresh S M)d3e4b2edocs: Clarify how to exclude.jsfiles (#18976) (Milos Djermanovic)57232ffdocs: Mention plugin-kit in language docs (#18973) (Nicholas C. Zakas)b80ed00docs: Update README (GitHub Actions Bot)cb69ab3docs: Update README (GitHub Actions Bot)7fb0d95docs: Update README (GitHub Actions Bot)493348adocs: Update README (GitHub Actions Bot)87a582cdocs: fix typo inid-matchrule (#18944) (Jay)Chores
555aafdchore: upgrade to@eslint/js@9.12.0(#18987) (Francesco Trotta)873ae60chore: package.json update for @eslint/js release (Jenkins)d0a5414refactor: replace strip-ansi with native module (#18982) (Cristopher)b827029chore: Enable JSON5 linting (#18979) (Milos Djermanovic)8f55ca2chore: Upgrade espree, eslint-visitor-keys, eslint-scope (#18962) (Nicholas C. Zakas)c1a2725chore: update dependency mocha to ^10.7.3 (#18945) (Milos Djermanovic)v9.11.1Compare Source
Bug Fixes
20fd916fix: add@eslint/core,@types/estree, &@types/json-schemadeps (#18938) (Nitin Kumar)2738322fix: add missing types forrequire-atomic-updatesrule (#18937) (Kristóf Poduszló)d71ff30fix: add missing types forobject-shorthandrule (#18935) (Kristóf Poduszló)561cadcfix: add missing types forno-unsafe-negationrule (#18932) (Kristóf Poduszló)8843656fix: add missing types forno-underscore-danglerule (#18931) (Kristóf Poduszló)92cde5cfix: add missing types forno-shadowrule (#18930) (Kristóf Poduszló)b3cbe11fix: add missing types forno-sequencesrule (#18929) (Kristóf Poduszló)976f77ffix: add missing types forno-unused-expressionsrule (#18933) (Kristóf Poduszló)Documentation
3eff709docs: replace deprecatedLinter.FlatConfigtype withLinter.Config(#18941) (Carlos Meira)Chores
df4a859chore: upgrade @eslint/js@9.11.1 (#18943) (Milos Djermanovic)36d8095chore: package.json update for @eslint/js release (Jenkins)v9.11.0Compare Source
Features
ec30c73feat: add "eslint/universal" to exportLinter(#18883) (唯然)c591da6feat: Add language to types (#18917) (Nicholas C. Zakas)492eb8ffeat: limit the name given toImportSpecifierinid-length(#18861) (Tanuj Kanti)19c6856feat: Addno-useless-constructorsuggestion (#18799) (Jordan Thomson)a48f8c2feat: add typeFormatterFunction, updateLoadedFormatter(#18872) (Francesco Trotta)Bug Fixes
5e5f39bfix: add missing types forno-restricted-exportsrule (#18914) (Kristóf Poduszló)8f630ebfix: add missing types forno-param-reassignoptions (#18906) (Kristóf Poduszló)d715781fix: add missing types forno-extra-boolean-castoptions (#18902) (Kristóf Poduszló)2de5742fix: add missing types forno-misleading-character-classoptions (#18905) (Kristóf Poduszló)c153084fix: add missing types forno-implicit-coercionoptions (#18903) (Kristóf Poduszló)fa11b2efix: add missing types forno-empty-functionoptions (#18901) (Kristóf Poduszló)a0deed1fix: add missing types forcamelcaseoptions (#18897) (Kristóf Poduszló)Documentation
e4e5709docs: correctprefer-object-has-owntype definition comment (#18924) (Nitin Kumar)91cbd18docs: add unicode abbreviations in no-irregular-whitespace rule (#18894) (Alix Royere)59cfc0fdocs: clarifyresultsMetainLoadedFormattertype (#18881) (Milos Djermanovic)adcc50ddocs: Update README (GitHub Actions Bot)4edac1adocs: Update README (GitHub Actions Bot)Build Related
959d360build: Support updates to previous major versions (#18871) (Milos Djermanovic)Chores
ca21a64chore: upgrade @eslint/js@9.11.0 (#18927) (Milos Djermanovic)a10f90achore: package.json update for @eslint/js release (Jenkins)e4e02ccrefactor: Extract processor logic into ProcessorService (#18818) (Nicholas C. Zakas)6d4484dchore: updates for v8.57.1 release (Jenkins)71f37c5refactor: use optional chaining when validating config rules (#18893) (lucasrmendonca)2c2805fchore: Add PR note to all templates (#18892) (Nicholas C. Zakas)7b852cerefactor: useDirectiveclass from@eslint/plugin-kit(#18884) (Milos Djermanovic)d594dddchore: update dependency @eslint/core to ^0.6.0 (#18863) (renovate[bot])78b2421chore: Update change.yml (#18882) (Nicholas C. Zakas)a416f0achore: enable$ExpectTypecomments in .ts files (#18869) (Francesco Trotta)v9.10.0Compare Source
Features
301b90dfeat: Add types (#18854) (Nicholas C. Zakas)bcf0df5feat: limit namespace import identifier in id-length rule (#18849) (ChaedongIm)45c18e1feat: addrequireFlagoption torequire-unicode-regexprule (#18836) (Brett Zamir)183b459feat: add error message for duplicate flags inno-invalid-regexp(#18837) (Tanuj Kanti)c69b406feat: report duplicate allowed flags inno-invalid-regexp(#18754) (Tanuj Kanti)Documentation
bee0e7adocs: update README (#18865) (Milos Djermanovic)5d80b59docs: specify thatruleIdcan benullin custom formatter docs (#18857) (Milos Djermanovic)156b1c3docs: Update README (GitHub Actions Bot)f6fdef9docs: Update README (GitHub Actions Bot)a20c870docs: Update README (GitHub Actions Bot)90e699bdocs: Update README (GitHub Actions Bot)Chores
24c3ff7chore: upgrade to @eslint/js@9.10.0 (#18866) (Francesco Trotta)1ebdde1chore: package.json update for @eslint/js release (Jenkins)e8fc5bdchore: update dependency @eslint/core to ^0.5.0 (#18848) (renovate[bot])343f992refactor: don't usenode.valuewhen removing unused directives (#18835) (Milos Djermanovic)3db18b0refactor: Extract FileContext into class (#18831) (Nicholas C. Zakas)931d650refactor: Use @eslint/plugin-kit (#18822) (Nicholas C. Zakas)ed5cf0cchore: update dependency @eslint/json to ^0.4.0 (#18829) (Milos Djermanovic)d1f0831chore: added missing ids (#18817) (Strek)ec92813refactor: Config class (#18763) (Nicholas C. Zakas)v9.9.1Compare Source
Bug Fixes
9bde90cfix: add logic to handlefixTypesinlintText()(#18736) (Amaresh S M)Documentation
4840930docs: Update README with version support and clean up content (#18804) (Nicholas C. Zakas)f61f40ddocs: Update globals examples (#18805) (Nicholas C. Zakas)241fceadocs: Use and define languages (#18795) (Nicholas C. Zakas)5dbdd63docs: eslint-plugin-markdown -> @eslint/markdown (#18797) (Nicholas C. Zakas)c6c8ddddocs: update links to eslint-visitor-keys repo (#18796) (Francesco Trotta)f981d05docs: Update README (GitHub Actions Bot)b516974docs: update links toeslint/jsrepo (#18781) (Francesco Trotta)fb7a3f5docs: update note for package managers (#18779) (Jay)Chores
b0c34d0chore: upgrade to @eslint/js@9.9.1 (#18809) (Francesco Trotta)cd5a0dachore: package.json update for @eslint/js release (Jenkins)e112642refactor: Extract parsing logic from Linter (#18790) (Nicholas C. Zakas)0f68a85chore: use eslint-plugin-yml on yaml files only (#18801) (Milos Djermanovic)f8d1b3cchore: update dependencies for browser tests (#18794) (Christian Bromann)aed2624chore: update dependency @eslint/config-array to ^0.18.0 (#18788) (renovate[bot])5c29128chore: update dependency @eslint/core to ^0.4.0 (#18789) (renovate[bot])5d66fb2chore: migrate linting workflow to use trunk check meta-linter (#18643) (Chris Clearwater)bf96855chore: add ids to github issue templates (#18775) (Strek)v9.9.0Compare Source
Features
41d0206feat: Add support for TS config files (#18134) (Arya Emami)3a4eaf9feat: add suggestion torequire-awaitto removeasynckeyword (#18716) (Dave)Documentation
9fe068cdocs: how to author plugins with configs that extend other configs (#18753) (Alec Gibson)48117b2docs: add version support page in the side navbar (#18738) (Amaresh S M)fec2951docs: add version support page to the dropdown (#18730) (Amaresh S M)38a0661docs: Fix typo (#18735) (Zaina Al Habash)3c32a9edocs: Update yarn command for creating ESLint config (#18739) (Temitope Ogunleye)f9ac978docs: Update README (GitHub Actions Bot)Chores
461b2c3chore: upgrade to@eslint/js@9.9.0(#18765) (Francesco Trotta)59dba1bchore: package.json update for @eslint/js release (Jenkins)fea8563chore: update dependency @eslint/core to ^0.3.0 (#18724) (renovate[bot])aac191echore: update dependency @eslint/json to ^0.3.0 (#18760) (renovate[bot])b97fa05chore: update wdio dependencies for more stable tests (#18759) (Christian Bromann)v9.8.0Compare Source
Features
13d0bd3feat: Add and use SourceCode#getLoc/getRange (#18703) (Nicholas C. Zakas)Bug Fixes
ab0ff27fix: Throw error when invalid flags passed (#18705) (Nicholas C. Zakas)70dc803fix:basePathdirectory can never be ignored (#18711) (Milos Djermanovic)Documentation
282df1adocs: Add system theme option (#18617) (Amaresh S M)53b1ff0docs: Debug config docs (#18698) (Nicholas C. Zakas)a7016a5docs: fix search input stylings (#18682) (Amaresh S M)Build Related
4514424build: Enable JSON linting (#18681) (Nicholas C. Zakas)Chores
deee448chore: upgrade to@eslint/js@9.8.0(#18720) (Francesco Trotta)4aaf2b3chore: package.json update for @eslint/js release (Jenkins)8e1a627chore: update dependency @eslint/core to ^0.2.0 (#18700) (renovate[bot])v9.7.0Compare Source
Features
7bd9839feat: add support for es2025 duplicate named capturing groups (#18630) (Yosuke Ota)1381394feat: addregexoption inno-restricted-imports(#18622) (Nitin Kumar)Bug Fixes
14e9f81fix: destructuring in catch clause inno-unused-vars(#18636) (Francesco Trotta)Documentation
9f416dbdocs: Add Powered by Algolia label to the search. (#18633) (Amaresh S M)c8d26cbdocs: Open JS Foundation -> OpenJS Foundation (#18649) (Milos Djermanovic)6e79ac7docs:loadESLintdoes not support optioncwd(#18641) (Francesco Trotta)Chores
793b718chore: upgrade @eslint/js@9.7.0 (#18680) (Francesco Trotta)7ed6f9achore: package.json update for @eslint/js release (Jenkins)7bcda76refactor: Add type references (#18652) (Nicholas C. Zakas)51bf57cchore: add tech sponsors through actions (#18624) (Strek)6320732refactor: don't useparentproperty inNodeEventGenerator(#18653) (Milos Djermanovic)9e6d640refactor: move "Parsing error" prefix adding to Linter (#18650) (Milos Djermanovic)v9.6.0Compare Source
Features
e2b16e2feat: Implement feature flags (#18516) (Nicholas C. Zakas)8824aa1feat: addecmaVersion: 2025, parsing duplicate named capturing groups (#18596) (Milos Djermanovic)Bug Fixes
1613e2efix: Allow escaping characters in config patterns on Windows (#18628) (Milos Djermanovic)21d3766fix:no-unused-varsinclude caught errors pattern in report message (#18609) (Kirk Waiblinger)d7a7736fix: improveno-unused-varsmessage on unused caught errors (#18608) (Kirk Waiblinger)f9e95d2fix: correct locations of invalid/* eslint */comments (#18593) (Milos Djermanovic)Documentation
13dbecddocs: Limit search to just docs (#18627) (Nicholas C. Zakas)375227fdocs: Update getting-started.md - add pnpm to init eslint config (#18599) (Kostiantyn Ochenash)44915bbdocs: Update README (GitHub Actions Bot)d50db7bdocs: Update vscode-eslint info (#18595) (Nicholas C. Zakas)Chores
b15ee30chore: upgrade @eslint/js@9.6.0 (#18632) (Milos Djermanovic)d655503chore: package.json update for @eslint/js release (Jenkins)7c78ad9refactor: Use language.visitorKeys and check for non-JS SourceCode (#18625) (Nicholas C. Zakas)69ff64erefactor: Return value of applyInlineConfig() (#18623) (Nicholas C. Zakas)d2d06f7refactor: use/separator when adjustingignorePatternson Windows (#18613) (Milos Djermanovic)6421973refactor: fix disable directives for languages with 0-based lines (#18605) (Milos Djermanovic)0a13539refactor: Allow optional methods for languages (#18604) (Nicholas C. Zakas)c7ddee0chore: make internal-rules not being a package (#18601) (Milos Djermanovic)3379164chore: remove.eslintrc.js(#18011) (唯然)d0c3a32chore: update knip (with webdriver-io plugin) (#18594) (Lars Kappert)v9.5.0Compare Source
Features
b2d256cfeat:no-sparse-arraysreport on "comma" instead of the whole array (#18579) (fisker Cheung)Bug Fixes
6880286fix: treat*as a universal pattern (#18586) (Milos Djermanovic)7fbe211fix: message template for all files ignored (#18564) (Milos Djermanovic)469cb36fix: Don't lint the same file multiple times (#18552) (Milos Djermanovic)5cff638fix: improve message for ignored files without a matching config (#18404) (Francesco Trotta)Documentation
455f7fddocs: add section about including.gitignorefiles (#18590) (Milos Djermanovic)721eafedocs: update info about universalfilespatterns (#18587) (Francesco Trotta)8127127docs: Update README (GitHub Actions Bot)55c2a66docs: Update README (GitHub Actions Bot)eb76282docs: Update README (GitHub Actions Bot)ff6e96edocs:baseConfigandoverrideConfigcan be arrays (#18571) (Milos Djermanovic)d2d83e0docs: Add mention of eslint-transforms to v9 migration guide (#18566) (Nicholas C. Zakas)9ce6832docs: add callout box for unintuitive behavior (#18567) (Ben McCann)b8db99cdocs: Add VS Code info to config migration guide (#18555) (Nicholas C. Zakas)518a35cdocs: Mention config migrator (#18561) (Nicholas C. Zakas)eb440fcdocs: specifying files with arbitrary or no extension (#18539) (Francesco Trotta)38c159edocs: Provide example of reading package.json for plugins meta (#18530) (Nicholas C. Zakas)d16a659docs: add link to migration guide for--extCLI option (#18537) (Milos Djermanovic)73408dedocs: add link to configuration file docs before examples (#18535) (Milos Djermanovic)Chores
f588160chore: upgrade @eslint/js@9.5.0 (#18591) (Milos Djermanovic)5890841chore: package.json update for @eslint/js release (Jenkins)e9f4ccdchore: remove unused eslint-disable directive (#18589) (Milos Djermanovic)4b23ffdrefactor: Move JS parsing logic into JS language (#18448) (Nicholas C. Zakas)1495b93chore: update WebdriverIO packages (#18558) (Christian Bromann)cea7edechore: add website donate link instead of opencollective (#18582) (Strek)ec94880chore: package.json update for eslint-config-eslint release (Jenkins)6912586chore: extract formatting rules into separate config (#18560) (Milos Djermanovic)9738f7eci: fix CLI flags for c8, raise thresholds (#18554) (Francesco Trotta)c6de7bbchore: update dependency markdownlint-cli to ^0.41.0 (#18538) (renovate[bot])2c8fd34ci: pin @wdio/browser-runner v8.36.0 (#18540) (唯然)v9.4.0Compare Source
Features
89a4a0afeat: ignore IIFE's in theno-loop-funcrule (#17528) (Nitin Kumar)Bug Fixes
f6534d1fix: skip processor code blocks that match only universal patterns (#18507) (Milos Djermanovic)7226ebdfix: allow implicit undefined return inno-constructor-return(#18515) (Ali Rezvani)389744bfix: use@eslint/config-inspector@latest(#18483) (唯然)70118a5fix:func-stylefalse positive with arrow functions andsuper(#18473) (Milos Djermanovic)Documentation
d7ab6f5docs: update theme when whenprefers-color-schemechanges (#18510) (Nitin Kumar)525fdffdocs: fix components files (#18519) (Tanuj Kanti)80747d2docs: refactorprefer-destructuringrule (#18472) (Tanuj Kanti)f06e0b5docs: clarify func-style (#18477) (Cameron Steffen)Chores
010dd2echore: upgrade to@eslint/js@9.4.0(#18534) (Francesco Trotta)5e1b5dcchore: package.json update for @eslint/js release (Jenkins)594145frefactor: switch to@eslint/config-array(#18527) (Francesco Trotta)v9.3.0Compare Source
Features
b32153cfeat: addoverrides.namedExportstofunc-stylerule (#18444) (Percy Ma)b67eba4feat: addrestrictedNamedExportsPatterntono-restricted-exports(#18431) (Akul Srivastava)069aa68feat: add optionallowEscapetono-misleading-character-classrule (#18208) (Francesco Trotta)05ef92dfeat: deprecatemultiline-comment-style&line-comment-position(#18435) (唯然)db0b174feat: addenforceForInnerExpressionsoption tono-extra-boolean-cast(#18222) (Kirk Waiblinger)Bug Fixes
8db0efffix: Improve config error messages (#18457) (Nicholas C. Zakas)5c28d9afix: don't remove comments between key and value in object-shorthand (#18442) (Kuba Jastrzębski)39fb0eefix: object-shorthand loses type parameters when auto-fixing (#18438) (dalaoshu)37eba48fix: don't crash whenfs.readFilereturns promise from another realm (#18416) (Milos Djermanovic)Documentation
ceada8cdocs: explain how to use "tsc waiting" label (#18466) (Francesco Trotta)62e686cdocs: Add troubleshooting info for plugin compatibility (#18451) (Nicholas C. Zakas)e17e1c0docs: Update README (GitHub Actions Bot)2465a1edocs: Update README (GitHub Actions Bot)d23574cdocs: Clarify usage ofno-unreachablewith TypeScript (#18445) (benj-dobs)1db9baedocs: Fix typos (#18443) (Frieder Bluemle)7065196docs: Update README (GitHub Actions Bot)04e7c6edocs: update deprecation notice ofno-return-await(#18433) (Tanuj Kanti)e763512docs: Link global ignores section in config object property list (#18430) (MaoShizhong)ac7f718docs: reflect release of v9 in config migration guide (#18412) (Peter Briggs)0de0909docs: fix grammar in configuration file resolution (#18419) (Mike McCready)Chores
58e2719chore: update dependencies for v9.3.0 release (#18469) (Francesco Trotta)b681ecbchore: package.json update for @eslint/js release (Jenkins)06f1d1cchore: update dependency @humanwhocodes/retry to ^0.3.0 (#18463) (renovate[bot])a63ed72refactor: Usenode:protocol for built-in Node.js modules (#18434) (Milos Djermanovic)040700achore: update dependency markdownlint-cli to ^0.40.0 (#18425) (renovate[bot])f47847cchore: update actions/stale action to v9 (#18426) (renovate[bot])c18ad25chore: update actions/upload-artifact action to v4 (#18427) (renovate[bot])27e3060chore: Disable documentation label (#18423) (Nicholas C. Zakas)v9.2.0Compare Source
Features
8485d76feat:no-case-declarationsadd suggestions (#18388) (Josh Goldberg ✨)a498f35feat: update Unicode letter detection in capitalized-comments rule (#18375) (Francesco Trotta)Bug Fixes
eeec413fix: do not throw when defining a global named defineSetter (#18364) (唯然)Documentation
0f5df50docs: Update README (GitHub Actions Bot)1579ce0docs: update wording regarding indirect eval (#18394) (Kirk Waiblinger)f12a02cdocs: update to eslint v9 in custom-rule-tutorial (#18383) (唯然)Chores
b346605chore: upgrade @eslint/js@9.2.0 (#18413) (Milos Djermanovic)c4c18e0chore: package.json update for @eslint/js release (Jenkins)284722cchore: package.json update for eslint-config-eslint release (Jenkins)347d44fchore: remove eslintrc export from eslint-config-eslint (#18400) (Milos Djermanovic)f316e20ci: run tests in Node.js 22 (#18393) (Francesco Trotta)v9.1.1Compare Source
Bug Fixes
a26b402fix: use @eslint/create-config latest (#18373) (唯然)v9.1.0Compare Source
Features
03068f1feat: Provide helpful error message for nullish configs (#18357) (Nicholas C. Zakas)751b518feat: replace dependency graphemer withIntl.Segmenter(#18110) (Francesco Trotta)4d11e56feat: addnameto eslint configs (#18289) (唯然)1cbe1f6feat: allowwhile(true)inno-constant-condition(#18286) (Tanuj Kanti)0db676ffeat: addIntlin es6 globals (#18318) (唯然)Bug Fixes
8d18958fix: Remove name from eslint/js packages (#18368) (Nicholas C. Zakas)594eb0efix: do not crash on error infs.walkfilter (#18295) (Francesco Trotta)0d8cf63fix: EMFILE errors (#18313) (Nicholas C. Zakas)e1ac0b5fix: --inspect-config only for flat config and respect -c (#18306) (Nicholas C. Zakas)09675e1fix:--no-ignoreshould not apply to non-global ignores (#18334) (Milos Djermanovic)Documentation
fb50077docs: include notes about globals in migration-guide (#18356) (Gabriel Rohden)71c771fdocs: Fix missing accessible name for scroll-to-top link (#18329) (Germán Freixinós)200fd4edocs: indicate eslintrc mode for.eslintignore(#18285) (Francesco Trotta)16b6a8bdocs: Update README (GitHub Actions Bot)df5f8a9docs:pathsandpatternsdifference inno-restricted-imports(#18273) (Tanuj Kanti)c537d76docs: updatenpm init @​eslint/configgenerated file names (#18298) (唯然)e1e305ddocs: fixlinebreak-styleexamples (#18262) (Francesco Trotta)113f51edocs: Mention package.json config support dropped (#18305) (Nicholas C. Zakas)5c35321docs: add eslintrc-only note to--rulesdir(#18281) (Adam Lui 刘展鹏)Build Related
1fa6622build: do not use--forceflag to install dependencies (#18284) (Francesco Trotta)Chores
d9a2983chore: upgrade @eslint/js to v9.1.1 (#18367) (Francesco Trotta)50d406dchore: package.json update for @eslint/js release (Jenkins)155c71cchore: package.json update for @eslint/js release (Jenkins)0588fc5refactor: Move directive gathering to SourceCode (#18328) (Nicholas C. Zakas)9048e21chore: lintdocs/src/_datajs files (#18335) (Milos Djermanovic)4820790chore: upgrade globals@15.0.0 dev dependency (#18332) (Milos Djermanovic)698d9ffchore: upgrade jsdoc & unicorn plugins in eslint-config-eslint (#18333) (Milos Djermanovic)32c08cfchore: drop Node < 18 and use @eslint/js v9 in eslint-config-eslint (#18323) (Milos Djermanovic)a76fb55chore: @eslint-community/eslint-plugin-eslint-comments v4.3.0 (#18319) (Milos Djermanovic)78e45b1chore: eslint-plugin-eslint-plugin v6.0.0 (#18316) (唯然)36103a5chore: eslint-plugin-n v17.0.0 (#18315) (唯然)v9.0.0Compare Source
Breaking Changes
b7cf3bdfix!: correctcamelcaserule schema forallowoption (#18232) (eMerzh)09bd7fefeat!: move AST traversal into SourceCode (#18167) (Nicholas C. Zakas)79a95ebfeat!: disallow multiple configuration comments for same rule (#18157) (Milos Djermanovic)9163646feat!: Rule Tester checks for missing placeholder data in the message (#18073) (fnx)3c4d51dfeat!: default forenforceForClassMembersinno-useless-computed-key(#18054) (Francesco Trotta)47e60f8feat!: Stricter rule test validations (#17654) (fnx)1a94589feat!:no-unused-varsdefault caughtErrors to 'all' (#18043) (Josh Goldberg ✨)57089cbfeat!: no-restricted-imports allow multiple config entries for same path (#18021) (Milos Djermanovic)2e1d549feat!: detect duplicate test cases (#17955) (Bryan Mishkin)701f1affeat!: no-inner-declaration new default behaviour and option (#17885) (Tanuj Kanti)bde5105fix!: handle--output-filefor empty output when saving to disk (#17957) (Nitin Kumar)07107a5fix!: upgrade eslint-scope@8.0.0 (#17942) (Milos Djermanovic)3ee0f6cfix!: no-unused-varsvarsIgnorePatternbehavior with catch arguments (#17932) (Tanuj Kanti)51f8bc8fix!: configuration comments with just severity should retain options (#17945) (Milos Djermanovic)d191bddfeat!: Remove CodePath#currentSegments (#17936) (Milos Djermanovic)946ae00feat!: FlatRuleTester -> RuleTester (#17922) (Nicholas C. Zakas)baff28cfeat!: removeno-inner-declarationsfromeslint:recommended(#17920) (Milos Djermanovic)cadfbcdfeat!: Rename FlatESLint to ESLint (#17914) (Nicholas C. Zakas)d1018fcfeat!: skip running warnings in --quiet mode (#17274) (Maddy Miller)fb81b1cfeat!: Set defaultschema: [], drop support for function-style rules (#17792) (Milos Djermanovic)0b21e1ffeat!: add two more cases tono-implicit-coercion(#17832) (Gürgün Dayıoğlu)2916c63feat!: Switch Linter to flat config by default (#17851) (Nicholas C. Zakas)200518efix!: Parsing 'exported' comment using parseListConfig (#17675) (amondev)bdd6ba1feat!: Remove valid-jsdoc and require-jsdoc (#17694) (Nicholas C. Zakas)12be307fix!: Behavior of CLI when no arguments are passed (#17644) (Nicholas C. Zakas)8fe8c56feat!: Update shouldUseFlatConfig and CLI so flat config is default (#17748) (Nicholas C. Zakas)60dea3efeat!: deprecate no-new-symbol, recommend no-new-native-nonconstructor (#17710) (Francesco Trotta)5aa9c49feat!: check for parsing errors in suggestion fixes (#16639) (Bryan Mishkin)b3e0bb0feat!: assert suggestion messages are unique in rule testers (#17532) (Josh Goldberg ✨)e563c52feat!:no-invalid-regexpmake allowConstructorFlags case-sensitive (#17533) (Josh Goldberg ✨)e5f02c7fix!: no-sequences rule schema correction (#17878) (MHO)6ee3e9efeat!: Updateeslint:recommendedconfiguration (#17716) (Milos Djermanovic)c2cf85afeat!: drop support for string configurations in flat config array (#17717) (Milos Djermanovic)c314fd6feat!: RemoveSourceCode#getComments()(#17715) (Milos Djermanovic)ae78ff1feat!: Remove deprecated context methods (#17698) (Nicholas C. Zakas)f71c328feat!: Swap FlatESLint-ESLint, FlatRuleTester-RuleTester in API (#17823) (Nicholas C. Zakas)5304da0feat!: remove formatters except html, json(-with-metadata), and stylish (#17531) (Josh Goldberg ✨)e1e827ffeat!: Require Node.js^18.18.0 || ^20.9.0 || >=21.1.0(#17725) (Milos Djermanovic)Features
d54a412feat: Add --inspect-config CLI flag (#18270) (Nicholas C. Zakas)97ce45bfeat: AddreportUsedIgnorePatternoption tono-unused-varsrule (#17662) (Pearce Ropion)3e9fceafeat: Show config names in error messages (#18256) (Nicholas C. Zakas)de40874feat: Rule Performance Statistics for flat ESLint (#17850) (Mara Kiefer)d85c436feat: use-isnan report NaN inindexOfandlastIndexOfwith fromIndex (#18225) (Tanuj Kanti)b8fb572feat: addreportUnusedFallthroughCommentoption to no-fallthrough rule (#18188) (Kirk Waiblinger)1c173dcfeat: addignoreClassWithStaticInitBlockoption tono-unused-vars(#18170) (Tanuj Kanti)a451b32feat: makeno-misleading-character-classreport more granular errors (#18082) (Francesco Trotta)c49ed63feat: update complexity rule for optional chaining & default values (#18152) (Mathias Schreck)11144a2feat:no-restricted-importsoption addedallowImportNames(#16196) (M Pater)74124c2feat: add suggestions touse-isnaninindexOf&lastIndexOfcalls (#18063) (StyleShit)53f0f47feat: Add loadESLint() API method for v9 (#18097) (Nicholas C. Zakas)2d11d46feat: add suggestions touse-isnanin binary expressions (#17996) (StyleShit)26093c7feat: fix false negatives inno-this-before-super(#17762) (Yosuke Ota)5471e43feat: convert unsafe autofixes to suggestions inno-implicit-coercion(#17985) (Gürgün Dayıoğlu)e3051befeat: emit warning when.eslintignorefile is detected (#17952) (Nitin Kumar)a630eddfeat: maintain latest ecma version in ESLint (#17958) (Milos Djermanovic)b4e0503feat: addno-useless-assignmentrule (#17625) (Yosuke Ota)287c4b7feat:no-misleading-character-classgranular errors (#17515) (Josh Goldberg ✨)8792464feat: Enable eslint.config.mjs and eslint.config.cjs (#17909) (Nicholas C. Zakas)24ce927feat: warn by default for unused disable directives (#17879) (Bryan Mishkin)Bug Fixes
610c148fix: Supportusingdeclarations in no-lone-blocks (#18269) (Kirk Waiblinger)e508800fix: rule tester ignore irrelevant test case properties (#18235) (fnx)a129acbfix: flat config name on ignores object (#18258) (Nicholas C. Zakas)dadc5bffix:constructor-superfalse positives with loops (#18226) (Milos Djermanovic)ae8103dfix: load plugins in the CLI in flat config mode (#18185) (Francesco Trotta)e37153ffix: improve error message for invalid rule config (#18147) (Nitin Kumar)af6e170fix: stop linting files after an error (#18155) (Francesco Trotta)0cb4914fix: validate options when comment with just severity enables rule (#18133) (Milos Djermanovic)c4d26fdfix:use-isnandoesn't report onSequenceExpressions (#18059) (StyleShit)39076fbfix: handle absolute file paths inRuleTester(#17989) (Nitin Kumar)6d11f3dfix: Ensure config keys are printed for config errors (#17980) (Nicholas C. Zakas)806f708fix:no-misleading-character-classedge cases with granular errors (#17970) (Milos Djermanovic)f182114fix: deep merge behavior in flat config (#17906) (Francesco Trotta)b577e8afix: allow circular references in config (#17752) (Francesco Trotta)Documentation
e151050docs: update get-started to the new@eslint/create-config(#18217) (唯然)94178addocs: mention aboutnamefield in flat config (#18252) (Anthony Fu)1765c24docs: add Troubleshooting page (#18181) (Josh Goldberg ✨)96607d0docs: version selectors synchronization (#18260) (Milos Djermanovic)651ec91docs: remove/* eslint-env */comments from rule examples (#18249) (Milos Djermanovic)950c4f1docs: Update README (GitHub Actions Bot)12f5746docs: add info about dot files and dir in flat config (#18239) (Tanuj Kanti)b93f408docs: update shared settings example (#18251) (Tanuj Kanti)26384d3docs: fixecmaVersionin one example, add checks (#18241) (Milos Djermanovic)7747097docs: Update PR review process (#18233) (Nicholas C. Zakas)b07d427docs: fix typo (#18246) (Kirill Gavrilov)778082ddocs: add Glossary page (#18187) (Josh Goldberg ✨)239a7e2docs: Clarify the description ofsort-importsoptions (#18198) (gyeongwoo park)4769c86docs: fix incorrect example inno-lone-blocks(#18215) (Tanuj Kanti)5251327docs: Update README (GitHub Actions Bot)1dc8618docs: Update README (GitHub Actions Bot)ba1c1bbdocs: Update README (GitHub Actions Bot)337cdf9docs: Explain limitations of RuleTester fix testing (#18175) (Nicholas C. Zakas)c7abd89docs: Explain Node.js version support (#18176) (Nicholas C. Zakas)d961eebdocs: show red underlines in examples in rules docs (#18041) (Yosuke Ota)558274adocs: Update README (GitHub Actions Bot)2908b9bdocs: Update release documentation (#18174) (Nicholas C. Zakas)1f1260edocs: replace HackerOne link with GitHub advisory (#18165) (Francesco Trotta)e5ef3cddocs: add inline cases condition inno-fallthrough(#18158) (Tanuj Kanti)450d0f0docs: fixignoreoption docs (#18154) (Francesco Trotta)5fe095cdocs: show v8.57.0 as latest version in dropdown (#18142) (Milos Djermanovic)7db5bb2docs: Show prerelease version in dropdown (#18135) (Nicholas C. Zakas)73a5f06docs: Update README (GitHub Actions Bot)f95cd27docs: Disallow multiple rule configuration comments in the same example (#18116) (Milos Djermanovic)d8068ecdocs: Update link for schema examples (#18112) (Svetlana)f1c7e6fdocs: Switch to Ethical Ads (#18090) (Strek)15c143fdocs: JS Foundation -> OpenJS Foundation in PR template (#18092) (Nicholas C. Zakas)6ea339edocs: add stricter rule test validations to v9 migration guide (#18085) (Milos Djermanovic)3c816f1docs: use relative link from CLI to core concepts (#18083) (Milos Djermanovic)9458735docs: fix malformedeslintconfig comments in rule examples (#18078) (Francesco Trotta)07a1adadocs: link from--fixCLI doc to the relevant core concept (#18080) (Bryan Mishkin)b844324docs: Update team responsibilities (#18048) (Nicholas C. Zakas)aadfb60docs: document languageOptions and other v9 changes for context (#18074) (fnx)857e242docs: tweak explanation for meta.docs rule properties (#18057) (Bryan Mishkin)10485e8docs: recommend messageId over message for reporting rule violations (#18050) (Bryan Mishkin)98b5ab4docs: Update README (GitHub Actions Bot)505fbf4docs: updateno-restricted-importsrule (#18015) (Tanuj Kanti)c25b4afdocs: Update README (GitHub Actions Bot)33d1ab0docs: add more examples to flat config ignores docs (#18020) (Milos Djermanovic)e6eebcadocs: Update sort-keys options properties count (#18025) (LB (Ben Johnston))1fedfd2docs: Improve flat config ignores docs (#17997) (Nicholas C. Zakas)38b9b06docs: update valid-typeof rule (#18001) (Tanuj Kanti)b4abfeadocs: Update note about ECMAScript support (#17991) (Francesco Trotta)6788873docs: Update release blog post template (#17994) (Nicholas C. Zakas)1f37442docs: Add sections on non-npm plugin configuration (#17984) (Nicholas C. Zakas)96307dadocs: migration guide entry forno-inner-declarations(#17977) (Tanuj Kanti)40be60edocs: Update README (GitHub Actions Bot)d31c180docs: fix number of code-path events on custom rules page (#17969) (Richard Hunter)1529ab2docs: reorder entries in v9 migration guide (#17967) (Milos Djermanovic)9507525docs: Explain how to combine configs (#17947) (Nicholas C. Zakas)7c78576docs: Add more removedcontextmethods to migrate to v9 guide (#17951) (Milos Djermanovic)3a877d6docs: Update removed CLI flags migration (#17939) (Nicholas C. Zakas)4a9cd1edocs: Update Linter API for v9 (#17937) (Milos Djermanovic)2a8eea8docs: update docs for v9.0.0-alpha.0 (#17929) (Milos Djermanovic)7f0ba51docs: showNEXTin version selectors (#17911) (Milos Djermanovic)0a7911edocs: add flat config default to v9 migration guide (#17927) (Milos Djermanovic)94f8065docs: Add CLI updates to migrate to v9 guide (#17924) (Nicholas C. Zakas)16187f2docs: Add exported and string config notes to migrate to v9 guide (#17926) (Nicholas C. Zakas)3ae50ccdocs: Add RuleTester changes to migrate to v9 guide (#17923) (Nicholas C. Zakas)0831b58docs: add rule changes to v9 migration guide (#17925) (Milos Djermanovic)037abfcdocs: update API docs (#17919) (Milos Djermanovic)afc3c03docs: add function-style andmeta.schemachanges to v9 migration guide (#17912) (Milos Djermanovic)1da0723docs: updateeslint:recommendedsection in Migrate to v9.x (#17908) (Milos Djermanovic)f55881fdocs: remove configuration-files-new.md (#17907) (Milos Djermanovic)63ae191docs: Migrate to v9.0.0 (#17905) (Nicholas C. Zakas)e708496docs: Switch to flat config by default (#17840) (Nicholas C. Zakas)fdf0424docs: Update Create a Plugin for flat config (#17826) (Nicholas C. Zakas)e6a91bddocs: Switch shareable config docs to use flat config (#17827) (Nicholas C. Zakas)3831fb7docs: updated examples ofmax-linesrule (#17898) (Tanuj Kanti)cd1ac20docs: Update README (GitHub Actions Bot)Build Related
26010c2Build: changelog update for 9.0.0-rc.0 (Jenkins)b91f9dcbuild: fix TypeError in prism-eslint-hooks.js (#18209) (Francesco Trotta)d7ec0d1Build: changelog update for 9.0.0-beta.2 (Jenkins)fd9c0a9Build: changelog update for 9.0.0-beta.1 (Jenkins)c9f2f33build: changelog update for 8.57.0 (#18144) (Milos Djermanovic)1bbc495Build: changelog update for 9.0.0-beta.0 (Jenkins)96f8877Build: changelog update for 9.0.0-alpha.2 (Jenkins)52d5e7aBuild: changelog update for 9.0.0-alpha.1 (Jenkins)c2bf27dbuild: update docs files when publishing prereleases (#17940) (Milos Djermanovic)e91d85dBuild: changelog update for 9.0.0-alpha.0 (Jenkins)Chores
19f9a89chore: Update dependencies for v9.0.0 (#18275) (Nicholas C. Zakas)7c957f2chore: package.json update for @eslint/js release (Jenkins)d73a33cchore: ignore/docs/v8.xin link checker (#18274) (Milos Djermanovic)44a81c6chore: upgrade knip (#18272) (Lars Kappert)e80b60cchore: remove code for testing version selectors (#18266) (Milos Djermanovic)a98babcchore: add npm script to run WebdriverIO test (#18238) (Francesco Trotta)9b7bd3bchore: update dependency markdownlint to ^0.34.0 (#18237) (renovate[bot])297416dchore: package.json update for eslint-9.0.0-rc.0 (#18223) (Francesco Trotta)d363c51chore: package.json update for @eslint/js release (Jenkins)1b841bbchore: fix some comments (#18213) (avoidaway)29c3595chore: remove repetitive words (#18193) (cuithon)acc2e06chore: Introduce Knip (#18005) (Lars Kappert)7509276chore: upgrade @eslint/js@9.0.0-beta.2 (#18180) (Milos Djermanovic)96087b3chore: package.json update for @eslint/js release (Jenkins)925afa2chore: Remove some uses oflodash.merge(#18179) (Milos Djermanovic)972ef15chore: remove invalid type in @eslint/js (#18164) (Nitin Kumar)32ffdd1chore: upgrade @eslint/js@9.0.0-beta.1 (#18146) (Milos Djermanovic)e41425bchore: package.json update for @eslint/js release (Jenkins)bb3b9c6chore: upgrade @eslint/eslintrc@3.0.2 (#18145) (Milos Djermanovic)e462524chore: upgrade eslint-release@3.2.2 (#18138) (Milos Djermanovic)8e13a6bchore: fix spelling mistake in README.md (#18128) (Will Eastcott)66f52e2chore: remove unused tools rule-types.json, update-rule-types.js (#18125) (Josh Goldberg ✨)bf0c7efci: fix sync-labels value of pr-labeler (#18124) (Tanuj Kanti)cace6d0ci: add PR labeler action (#18109) (Nitin Kumar)1a65d3echore: exportbaseconfig fromeslint-config-eslint(#18119) (Milos Djermanovic)9aa4df3refactor: removeglobalsdependency (#18115) (Milos Djermanovic)e40d1d7chore: upgrade @eslint/js@9.0.0-beta.0 (#18108) (Milos Djermanovic)9870f93chore: package.json update for @eslint/js release (Jenkins)2c62e79chore: upgrade @eslint/eslintrc@3.0.1 (#18107) (Milos Djermanovic)81f0294chore: upgrade espree@10.0.1 (#18106) (Milos Djermanovic)5e2b292chore: upgrade eslint-visitor-keys@4.0.0 (#18105) (Milos Djermanovic)ce838adchore: replace dependency npm-run-all with npm-run-all2 ^5.0.0 (#18045) (renovate[bot])54df731chore: update dependency markdownlint-cli to ^0.39.0 (#18084) (renovate[bot])8f06a60chore: update dependency shelljs to ^0.8.5 (#18079) (Francesco Trotta)93ffe30chore: update dependency file-entry-cache to v8 (#17903) (renovate[bot])6ffdcbbchore: upgrade @eslint/js@9.0.0-alpha.2 (#18038) (Milos Djermanovic)2c12715chore: package.json update for @eslint/js release (Jenkins)cc74c4dchore: upgrade espree@10.0.0 (#18037) (Milos Djermanovic)dfb68b6chore: use Node.js 20 for docs sites (#18026) (Milos Djermanovic)8c1b8ddtest: add more tests for ignoring files and directories (#18018) (Milos Djermanovic)60b966bchore: update dependency @eslint/js to v9.0.0-alpha.1 (#18014) (renovate[bot])c893bc0chore: updatemarkdownlinttov0.33.0(#17995) (Nitin Kumar)c5e50eechore: package.json update for @eslint/js release (Jenkins)1bf2520chore: Split Docs CI from core CI (#17897) (Nicholas C. Zakas)320787echore: delete relative-module-resolver.js (#17981) (Francesco Trotta)4926f33refactor: useObject.hasOwn()(#17948) (Milos Djermanovic)df200e1refactor: useArray.prototype.at()to get last elements (#17949) (Milos Djermanovic)750b8dfchore: update dependency glob to v10 (#17917) (renovate[bot])74794f5chore: removed unused eslintrc modules (#17938) (Milos Djermanovic)10ed29cchore: remove unused dependency rimraf (#17934) (Francesco Trotta)903ee60ci: use--forceflag when installing eslint (#17921) (Milos Djermanovic)17fedc1chore: upgrade @eslint/js@9.0.0-alpha.0 (#17928) (Milos Djermanovic)cb89ef3chore: package.json update for @eslint/js release (Jenkins)f6f4a45chore: drop structuredClone polyfill for v9 (#17915) (Kevin Gibbons)412dcbbchore: upgrade eslint-plugin-n@16.6.0 (#17916) (Milos Djermanovic)02a8bafchore: Rename files with underscores (#17910) (Nicholas C. Zakas)c0f5d91chore: remove creating an unused instance of Linter in tests (#17902) (Milos Djermanovic)3826cdfchore: use jsdoc/no-multi-asterisks with allowWhitespace: true (#17900) (Percy Ma)a9a17b3chore: fix getting scope in tests (#17899) (Milos Djermanovic)595a1f6test: ensure that CLI tests run with FlatESLint (#17884) (Francesco Trotta)c7eca43chore: update dependency markdownlint-cli to ^0.38.0 (#17865) (renovate[bot])cc0c9f7ci: bump github/codeql-action from 2 to 3 (#17873) (dependabot[bot])v8.57.1Compare Source
Bug Fixes
a19072ffix: add logic to handle fixTypes in the lintText() method (#18900) (Francesco Trotta)04c7188fix: Don't lint same file multiple times (#18899) (Francesco Trotta)87ec3c4fix: do not throw when defining a global named__defineSetter__(#18898) (Francesco Trotta)60a1267fix: Provide helpful error message for nullish configs (#18889) (Milos Djermanovic)a0dea8efix: allownamein global ignores, fix--no-ignorefor non-global (#18875) (Milos Djermanovic)3836bb4fix: do not crash on error infs.walkfilter (#18886) (Milos Djermanovic)2dec349fix: skip processor code blocks that match only universal patterns (#18880) (Milos Djermanovic)Documentation
6a5add4docs: v8.x Add EOL banner (#18744) (Amaresh S M)b034575docs: v8.x add version support page to the dropdown (#18731) (Amaresh S M)760ef7ddocs: v8.x add version support page in the side navbar (#18740) (Amaresh S M)428b7eadocs: Add Powered by Algolia label to the search (#18658) (Amaresh S M)c68c07fdocs: version selectors synchronization (#18265) (Milos Djermanovic)Build Related
35d366abuild: Support updates to previous major versions (#18870) (Milos Djermanovic)Chores
140ec45chore: upgrade @eslint/js@8.57.1 (#18913) (Milos Djermanovic)bcdfc04chore: package.json update for @eslint/js release (Jenkins)3f6ce8dchore: pin vite-plugin-commonjs@0.10.1 (#18910) (Milos Djermanovic)9f07549chore: ignore/docs/v8.xin link checker (#18660) (Milos Djermanovic)v8.57.0Compare Source
Features
1120b9bfeat: Add loadESLint() API method for v8 (#18098) (Nicholas C. Zakas)dca7d0ffeat: Enableeslint.config.mjsandeslint.config.cjs(#18066) (Nitin Kumar)Bug Fixes
2196d97fix: handle absolute file paths inFlatRuleTester(#18064) (Nitin Kumar)69dd1d1fix: Ensure config keys are printed for config errors (#18067) (Nitin Kumar)9852a31fix: deep merge behavior in flat config (#18065) (Nitin Kumar)4c7e9b0fix: allow circular references in config (#18056) (Milos Djermanovic)Documentation
84922d0docs: Show prerelease version in dropdown (#18139) (Nicholas C. Zakas)5b8c363docs: Switch to Ethical Ads (#18117) (Milos Djermanovic)77dbfd9docs: show NEXT in version selectors (#18052) (Milos Djermanovic)Chores
1813aecchore: upgrade @eslint/js@8.57.0 (#18143) (Milos Djermanovic)5c356bbchore: package.json update for @eslint/js release (Jenkins)f4a1fe2test: add more tests for ignoring files and directories (#18068) (Nitin Kumar)42c0aefci: Enable CI forv8.xbranch (#18047) (Milos Djermanovic)v8.56.0Compare Source
Features
0dd9704feat: Support custom severity when reporting unused disable directives (#17212) (Bryan Mishkin)31a7e3ffeat: fix no-restricted-properties false negatives with unknown objects (#17818) (Arka Pratim Chaudhuri)Bug Fixes
7d5e5f6fix:TypeError: fs.exists is not a functionon read-only file system (#17846) (Francesco Trotta)74739c8fix: suggestion with invalid syntax in no-promise-executor-return rule (#17812) (Bryan Mishkin)Documentation
9007719docs: update link in ways-to-extend.md (#17839) (Amel SELMANE)3a22236docs: Update README (GitHub Actions Bot)54c3ca6docs: fix migration-guide example (#17829) (Tanuj Kanti)4391b71docs: check config comments in rule examples (#17815) (Francesco Trotta)fd28363docs: remove mention about ESLint stylistic rules in readme (#17810) (Zwyx)48ed5a6docs: Update README (GitHub Actions Bot)Chores
ba6af85chore: upgrade @eslint/js@8.56.0 (#17864) (Milos Djermanovic)60a531achore: package.json update for @eslint/js release (Jenkins)ba87a06chore: update dependency markdownlint to ^0.32.0 (#17783) (renovate[bot])9271d10chore: add GitHub issue template for docs issues (#17845) (Josh Goldberg ✨)70a686bchore: Convert rule tests to FlatRuleTester (#17819) (Nicholas C. Zakas)f3a599dchore: upgrade eslint-plugin-unicorn to v49.0.0 (#17837) (唯然)905d4b7chore: upgrade eslint-plugin-eslint-plugin v5.2.1 (#17838) (唯然)4d7c3cechore: update eslint-plugin-n v16.4.0 (#17836) (唯然)fd0c60cci: unpin Node.js 21.2.0 (#17821) (Francesco Trotta)v8.55.0Compare Source
Features
8c9e6c1feat: importNamePattern option in no-restricted-imports (#17721) (Tanuj Kanti)Documentation
83ece2adocs: fix typo--rules->--rule(#17806) (OKURA Masafumi)fffca5cdocs: remove "Open in Playground" buttons for removed rules (#17791) (Francesco Trotta)a6d9442docs: fix correct/incorrect examples of rules (#17789) (Tanuj Kanti)383e999docs: update and fix examples forno-unused-vars(#17788) (Tanuj Kanti)5a8efd5docs: add specific stylistic rule for each deprecated rule (#17778) (Etienne)Chores
eb8950cchore: upgrade @eslint/js@8.55.0 (#17811) (Milos Djermanovic)93df384chore: package.json update for @eslint/js release (Jenkins)fe4b954chore: upgrade @eslint/eslintrc@2.1.4 (#17799) (Milos Djermanovic)bd8911dci: pin Node.js 21.2.0 (#17809) (Milos Djermanovic)b29a16bchore: fix severalclitests to run in the intended flat config mode (#17797) (Milos Djermanovic)de165c1chore: remove unused config-extends fixtures (#17781) (Milos Djermanovic)d4304b8chore: remove formatting/stylistic rules from new rule templates (#17780) (Francesco Trotta)21024fechore: check rule examples for syntax errors (#17718) (Francesco Trotta)v8.54.0Compare Source
Features
a7a883bfeat: for-direction rule add check for condition in reverse order (#17755) (Angelo Annunziata)1452dc9feat: Add suggestions to no-console (#17680) (Joel Mathew Koshy)21ebf8afeat: updateno-array-constructorrule (#17711) (Francesco Trotta)Bug Fixes
98926e6fix: Ensure that extra data is not accidentally stored in the cache file (#17760) (Milos Djermanovic)e8cf9f6fix: Make dark scroll bar in dark theme (#17753) (Pavel)3cbeaadfix: Usecwdconstructor option as configbasePathin Linter (#17705) (Milos Djermanovic)Documentation
becfdd3docs: Make clear when rules are removed (#17728) (Nicholas C. Zakas)05d6e99docs: update "Submit a Pull Request" page (#17712) (Francesco Trotta)eb2279edocs: display info about deprecated rules (#17749) (Percy Ma)d245326docs: Correct working in migrating plugin docs (#17722) (Filip Tammergård)Chores
d644de9chore: upgrade @eslint/js@8.54.0 (#17773) (Milos Djermanovic)1e6e314chore: package.json update for @eslint/js release (Jenkins)6fb8805chore: Fixed grammar in issue_templates/rule_change (#17770) (Joel Mathew Koshy)85db724chore: upgrademarkdownlintto 0.31.1 (#17754) (Nitin Kumar)6d470d2chore: update dependency recast to ^0.23.0 (#17736) (renovate[bot])b7121b5chore: update dependency markdownlint-cli to ^0.37.0 (#17735) (renovate[bot])633b9a1chore: update dependency regenerator-runtime to ^0.14.0 (#17739) (renovate[bot])acac16fchore: update dependency vite-plugin-commonjs to ^0.10.0 (#17740) (renovate[bot])ba8ca7echore: add .github/renovate.json5 (#17567) (Josh Goldberg ✨)v8.53.0Compare Source
Features
528e1c0feat: Deprecate formatting rules (#17696) (Nicholas C. Zakas)c0b11ddfeat: Add suggestions for no-prototype-builtins (#17677) (Yonathan Randolph)Bug Fixes
1ad6257fix: ensure that exit code for fatal errors is not overwritten (#17683) (Milos Djermanovic)b329ea7fix: add;after JSX nodes inno-object-constructorautofix (#17672) (Francesco Trotta)Documentation
ab8c60ddocs: change position of return to top button (#17688) (Tanuj Kanti)4fc44c0docs: update twitter icon to new X icon (#17687) (Tanuj Kanti)4164b2cdocs: Update README (GitHub Actions Bot)8651895docs: Fix tabs in rule examples (#17653) (Francesco Trotta)3aec1c5docs: explained rule fixers and suggestions (#17657) (Josh Goldberg ✨)Chores
ba4d4d5chore: remove metascraper (#17707) (Milos Djermanovic)0d07338chore: Update dependencies (#17706) (Milos Djermanovic)93256a3chore: package.json update for @eslint/js release (ESLint Jenkins)485ec7dtest: fix ESLint tests for caching (#17699) (Milos Djermanovic)db06a7fci: bump actions/setup-node from 3 to 4 (#17676) (dependabot[bot])994596bci: run tests in Node.js 21 (#17673) (Francesco Trotta)v8.52.0Compare Source
Features
70648eefeat: report-unused-disable-directive to report unused eslint-enable (#17611) (Yosuke Ota)Bug Fixes
5de9637fix: Ensure shared references in rule configs are separated (#17666) (Nicholas C. Zakas)dcfe573fix: add preceding semicolon in suggestions ofno-object-constructor(#17649) (Francesco Trotta)Documentation
476d58adocs: Add note about invalid CLI flags when using flat config. (#17664) (Nicholas C. Zakas)660ed3adocs: Plugin flat config migration guide (#17640) (Nicholas C. Zakas)a58aa20docs: fix examples for several rules (#17645) (Milos Djermanovic)179929bdocs: Remove trailing newline from the code of Playground links (#17641) (Francesco Trotta)f8e5c30docs: Update README (GitHub Actions Bot)b7ef2f3docs: Enable pretty code formatter output (#17635) (Nicholas C. Zakas)0bcb9a8docs: Fix syntax errors in rule examples (#17633) (Francesco Trotta)61b9083docs: Make no-continue example code work (#17643) (Zhongyuan Zhou)9fafe45docs: upgrade to 11ty 2.0 (#17632) (Percy Ma)ff8e4bfdocs: Update README (GitHub Actions Bot)fab249adocs: Update README (GitHub Actions Bot)392305bdocs: Updateno-irregular-whitespaceand fix examples (#17626) (Francesco Trotta)6b8acfbdocs: Add real whitespace tono-trailing-spacesexamples (#17630) (Francesco Trotta)1000187docs: Fix examples inunicode-bom(#17631) (Francesco Trotta)000290cdocs: Update README (GitHub Actions Bot)Chores
6d1f0c2chore: upgrade @eslint/js@8.52.0 (#17671) (Milos Djermanovic)d63d4fechore: package.json update for @eslint/js release (ESLint Jenkins)f30cefetest: fix FlatESLint tests for caching (#17658) (Milos Djermanovic)ef650cbtest: update tests for no-promise-executor-return (#17661) (Milos Djermanovic)v8.51.0Compare Source
Features
0a9c433feat: Add--no-warn-ignoredCLI option for flat config (#17569) (Domantas Petrauskas)977e67efeat: logical-assignment-operators to report expressions with 3 operands (#17600) (Yosuke Ota)Bug Fixes
f976b2ffix: make rule severity case-sensitive in flat config (#17619) (Milos Djermanovic)0edfe36fix: Ensure crash error messages are not duplicated (#17584) (Nicholas C. Zakas)dd79abcfix:eslint-disableto be able to parse quoted rule names (#17612) (Yosuke Ota)d2f6801fix: Ensure correct code path for && followed by ?? (#17618) (Nicholas C. Zakas)Documentation
ee5be81docs: default tosourceType: "module"in rule examples (#17615) (Francesco Trotta)1aa26dfdocs: Add more examples for multiline-ternary (#17610) (George Ashiotis)47d0b44docs: Update README (GitHub Actions Bot)dbf831edocs: use generated og image (#17601) (Percy Ma)1866da5docs: Update README (GitHub Actions Bot)Chores
1ef39eachore: upgrade @eslint/js@8.51.0 (#17624) (Milos Djermanovic)f8c7403chore: package.json update for @eslint/js release (ESLint Jenkins)2665552test: fix flat config linter tests to use Linter in flat config mode (#17616) (Milos Djermanovic)7b77bccchore: Refactor CodePathState (#17510) (Nicholas C. Zakas)bc77c9achore: Document and refactor ForkContext (#17566) (Nicholas C. Zakas)24e1f14chore: Refactor and document CodePath (#17558) (Nicholas C. Zakas)v8.50.0Compare Source
Features
27d5a9efeat: add suggestions to array-callback-return (#17590) (Tanuj Kanti)f9082fffeat: flat-rule-tester make sure default config always matches (#17585) (fnx)83914adfeat: Implement SourceCode#applyInlineConfig() (#17351) (Nicholas C. Zakas)22a5582feat: add ruleno-object-constructor, deprecateno-new-object(#17576) (Francesco Trotta)85a3d9efeat: allowVoid option in array-callback-return (#17564) (Tanuj Kanti)Bug Fixes
cc4d26bfix: Ensure deprecated context.parserServices warns (#17593) (Nicholas C. Zakas)1ea4cfbfix: Ensure all RuleTester tests all deprecated context methods (#17587) (Nicholas C. Zakas)aa1b657fix: wrong suggestion and message inno-misleading-character-class(#17571) (Yosuke Ota)Documentation
1800537docs: Fix and standardize JSX code examples (#17591) (Francesco Trotta)48a44a7docs: Add correct/incorrect tags toprefer-arrow-callback(#17589) (Francesco Trotta)20893d4docs: fix incorrect tag's place (#17575) (Tanuj Kanti)bd7a71fdocs: Update README (GitHub Actions Bot)Chores
f8a8a2dchore: upgrade @eslint/js@8.50.0 (#17599) (Milos Djermanovic)38ada6dchore: package.json update for @eslint/js release (ESLint Jenkins)v8.49.0Compare Source
Features
da09f4efeat: Implement onUnreachableCodePathStart/End (#17511) (Nicholas C. Zakas)32b2327feat: Emit deprecation warnings in RuleTester (#17527) (Nicholas C. Zakas)acb7df3feat: add newenforceoption tolines-between-class-members(#17462) (Nitin Kumar)Documentation
ecfb54fdocs: Update README (GitHub Actions Bot)de86b3bdocs: updateno-promise-executor-returnexamples (#17529) (Nitin Kumar)032c4b1docs: add typescript template (#17500) (James)cd7da5cdocs: Update README (GitHub Actions Bot)Chores
b7621c3chore: remove browser test fromnpm test(#17550) (Milos Djermanovic)cac45d0chore: upgrade @eslint/js@8.49.0 (#17549) (Milos Djermanovic)cd39508chore: package.json update for @eslint/js release (ESLint Jenkins)203a971ci: bump actions/checkout from 3 to 4 (#17530) (dependabot[bot])a40fa50chore: use eslint-plugin-jsdoc's flat config (#17516) (Milos Djermanovic)926a286test: replace Karma with Webdriver.IO (#17126) (Christian Bromann)f591d2cchore: Upgrade config-array (#17512) (Nicholas C. Zakas)v8.48.0Compare Source
Features
1fbb3b0feat: correct update direction infor-direction(#17483) (Francesco Trotta)d73fbf2feat: rule tester do not create empty valid or invalid test suites (#17475) (fnx)ee2f718feat: Allowvoidin ruleno-promise-executor-return(#17282) (nopeless)Bug Fixes
7234f6afix: update RuleTester JSDoc and deprecations (#17496) (Jonas Berlin)Documentation
7a51d77docs: no-param-reassign mention strict mode (#17494) (Stephen Hardy)9cd7ac2docs: addfetchscript to package.json conventions (#17459) (Nitin Kumar)cab21e6docs: advice for inline disabling of rules (#17458) (Ashish Yadav)056499ddocs: fix example of flat config from plugin (#17482) (Francesco Trotta)9e9edf9docs: update documentation URL in error message (#17465) (Nitin Kumar)Chores
8dd3cecchore: upgrade @eslint/js@8.48.0 (#17501) (Milos Djermanovic)6d0496echore: package.json update for @eslint/js release (ESLint Jenkins)9d4216dchore: Refactor and document CodePathSegment (#17474) (Nicholas C. Zakas)v8.47.0Compare Source
Features
53d7508feat: update regex for methods withthisArg(#17439) (Francesco Trotta)Bug Fixes
631648efix: do not report on shadowed constructors inno-new-wrappers(#17447) (Francesco Trotta)Documentation
a766a48docs: document lack of config file names (#17442) (James)a1635d6docs: Update README (GitHub Actions Bot)47a0859docs: updaterequire-unicode-regexp.mdas following up #17402 (#17441) (SUZUKI Sosuke)fcdc85ddocs: Update README (GitHub Actions Bot)2a92b6cdocs: update with "Specifying Parser Options" (#17435) (Cheol-Won)d743ed3docs: add metadata for parser/processor (#17438) (Huáng Jùnliàng)224376cdocs: Update README (GitHub Actions Bot)a41a8e4docs: update script names in README (#17432) (Nitin Kumar)Chores
bf69aa6chore: Update dependencies (#17456) (Nicholas C. Zakas)0e45760chore: package.json update for @eslint/js release (ESLint Jenkins)757bfe1chore: Remove add-to-triage (#17450) (Nicholas C. Zakas)b066640chore: standardize npm script names (#17431) (Nitin Kumar)6b2410fchore: Update add-to-triage.yml (#17444) (Nicholas C. Zakas)v8.46.0Compare Source
Features
8a93438feat:require-unicode-regexpsupportvflag (#17402) (SUZUKI Sosuke)1a2f966feat:no-useless-escapesupportvflag (#17420) (Yosuke Ota)ee68d1dfeat:no-empty-character-classsupportvflag (#17419) (Milos Djermanovic)853d32bfeat: deprecate no-return-await (#17417) (Carlos Lopez)d4f02e4feat:no-control-regexsupportvflag (#17405) (Yosuke Ota)2a35f3efeat:prefer-named-capture-groupsupportvflag (#17409) (Yosuke Ota)8ca8b50feat: Better error message for flat config plugins (#17399) (Nicholas C. Zakas)509f753feat:no-misleading-character-classsupportvflag (#17406) (Yosuke Ota)3caf514feat:no-regex-spacessupportvflag (#17407) (Yosuke Ota)b7fad2bfeat:prefer-regex-literalssupportvflag (#17410) (Yosuke Ota)a6a3ad4feat:no-useless-backreferencesupportvflag (#17408) (Yosuke Ota)94954a7feat:no-invalid-regexpsupportvflag (#17404) (Yosuke Ota)1af6eacfeat: adds option for allowing empty object patterns as parameter (#17365) (Tanuj Kanti)cf03104feat: Improve config error messages (#17385) (Nicholas C. Zakas)Bug Fixes
9803c7cfix: FlatESLint#getRulesMetaForResults shouldn't throw on unknown rules (#17393) (Milos Djermanovic)42faa17fix: Update no-loop-func to not overlap with no-undef (#17358) (Matt Wilkinson)Documentation
4d474e3docs: update with TypeScript info (#17423) (James)091f44edocs: File extension named processor deprecation (#17362) (Matt Wilkinson)9254a6cdocs: Update README (GitHub Actions Bot)6d6dc51docs: fix overlapping ofopen in playgroundbutton (#17403) (Tanuj Kanti)7fc3a2cdocs: Add private class features info to no-underscore-dangle (#17386) (Matt Wilkinson)da73e58docs: Migratingeslint-envconfiguration comments (#17390) (Francesco Trotta)80dffeddocs: fix Ignoring Files section in config migration guide (#17392) (Milos Djermanovic)8a9abb7docs: Update README (GitHub Actions Bot)7e9be4bdocs: Update README (GitHub Actions Bot)0b0bbe0docs: Update README (GitHub Actions Bot)Chores
d1eb7e4chore: Update ecosystem dependencies (#17427) (Nicholas C. Zakas)fab9e97chore: package.json update for eslint-config-eslint release (ESLint Jenkins)6246711chore: package.json update for @eslint/js release (ESLint Jenkins)0aa0bc3chore: Add PRs to triage project (#17421) (Nicholas C. Zakas)v8.45.0Compare Source
Features
cdd063cfeat: Expose LegacyESLint in unsupported API (#17341) (Nicholas C. Zakas)d34abe5feat: fix indent rule for else-if (#17318) (Milos Djermanovic)Bug Fixes
b79b6fbfix: Fix suggestion message inno-useless-escape(#17339) (Francesco Trotta)c667055fix: provide uniquefixandfix.rangeobjects in lint messages (#17332) (Milos Djermanovic)Documentation
89f3225docs: add playground links to correct and incorrect code blocks (#17306) (Josh Goldberg ✨)f8892b5docs: Expand rule option schema docs (#17198) (Matt Wilkinson)8bcbf11docs: Config Migration Guide (#17230) (Ben Perlmutter)bb30908docs: Update README (GitHub Actions Bot)84d243bdocs: Update README (GitHub Actions Bot)b762632docs: Update README (GitHub Actions Bot)138c096docs: add more prefer-destructuring examples with array destructuring (#17330) (Milos Djermanovic)1fc50a8docs:max-lenrulecodeandtabWidthas positional arguments (#17331) (Jesús Leganés-Combarro)Chores
68f63d7chore: package.json update for @eslint/js release (ESLint Jenkins)5ca9b4dchore: update eslint-config-eslint exports (#17336) (Milos Djermanovic)7bf2e86chore: remove unused dependencies (#17352) (Percy Ma)c6f8cd0chore: RemovedefaultIgnoresfrom FlatESLint private members (#17349) (Francesco Trotta)0052374chore: move jsdoc settings to eslint-config-eslint (#17338) (唯然)v8.44.0Compare Source
Features
1766771feat: addes2023andes2024environments (#17328) (Milos Djermanovic)4c50400feat: addecmaVersion: 2024, regexpvflag parsing (#17324) (Milos Djermanovic)4d411e4feat: add ternaryOperandBinaryExpressions option to no-extra-parens rule (#17270) (Percy Ma)c8b1f4dfeat: MoveparserServicestoSourceCode(#17311) (Milos Djermanovic)ef6e24efeat: treat unknown nodes as having the lowest precedence (#17302) (Brad Zacher)1866e1dfeat: allow flat config files to export a Promise (#17301) (Milos Djermanovic)Bug Fixes
a36bcb6fix: no-unused-vars false positive with logical assignment operators (#17320) (Gweesin Chan)7620b89fix: Removeno-unused-labelsautofix before potential directives (#17314) (Francesco Trotta)391ed38fix: Removeno-extra-semiautofix before potential directives (#17297) (Francesco Trotta)Documentation
526e911docs: resubmit pr 17115 doc changes (#17291) (唯然)e1314bfdocs: Integration section and tutorial (#17132) (Ben Perlmutter)19a8c5ddocs: Update README (GitHub Actions Bot)Chores
49e46edchore: upgrade @eslint/js@8.44.0 (#17329) (Milos Djermanovic)a1cb642chore: package.json update for @eslint/js release (ESLint Jenkins)840a264test: More test cases for no-case-declarations (#17315) (Elian Cordoba)e6e74f9chore: package.json update for eslint-config-eslint release (ESLint Jenkins)eb3d794chore: upgrade semver@7.5.3 (#17323) (Ziyad El Abid)cf88439chore: upgrade optionator@0.9.3 (#17319) (Milos Djermanovic)9718a97refactor: remove unnecessary code inflat-eslint.js(#17308) (Milos Djermanovic)f82e56eperf: various performance improvements (#17135) (moonlightaria)da81e66chore: update eslint-plugin-jsdoc to 46.2.5 (#17245) (唯然)b991640chore: switch eslint-config-eslint to the flat format (#17247) (唯然)v8.43.0Compare Source
Features
14581fffeat: directive prologue detection and autofix condition inquotes(#17284) (Francesco Trotta)e50fac3feat: add declaration loc to message in block-scoped-var (#17252) (Milos Djermanovic)1b7faf0feat: addskipJSXTextoption tono-irregular-whitespacerule (#17182) (Azat S)Bug Fixes
5338b56fix: normalizecwdpassed toESLint/FlatESLintconstructor (#17277) (Milos Djermanovic)54383e6fix: Removeno-extra-parensautofix for potential directives (#17022) (Francesco Trotta)Documentation
8b855eadocs: resubmit pr17061 doc changes (#17292) (唯然)372722edocs: resubmit pr17012 doc changes (#17293) (唯然)67e7af3docs: resubmit custom-rules doc changes (#17294) (唯然)9e3d77cdocs: Resubmit Fix formatting in Custom Rules docs (#17281) (Milos Djermanovic)503647adocs: Resubmit markVariableAsUsed docs (#17280) (Nicholas C. Zakas)e0cf0d8docs: Custom rule & plugin tutorial (#17024) (Ben Perlmutter)8e51ea9docs: resubmitno-newrule documentation (#17264) (Nitin Kumar)1b217f8docs: resubmitCustom Processorsdocumentation (#17265) (Nitin Kumar)428fc76docs: resubmitCreate Pluginsdocumentation (#17268) (Nitin Kumar)bdca88cdocs: resubmitConfiguration Filesdocumentation (#17267) (Nitin Kumar)f5c01f2docs: resubmitManage Issuesdocumentation (#17266) (Nitin Kumar)b199295docs: Resubmit custom rules update docs (#17273) (Ben Perlmutter)0e9980cdocs: add newomitLastInOneLineClassBodyoption to thesemirule (#17263) (Nitin Kumar)cb2560fdocs: Resubmit getScope/getDeclaredVariables docs (#17262) (Nicholas C. Zakas)85d2b30docs: explain how to include predefined globals (#17261) (Marcus Wyatt)de4d3c1docs: update flat config default ignore patterns (#17258) (Milos Djermanovic)3912f3adocs: Improveignoresdocumentation (#17239) (Francesco Trotta)35e11d3docs: fix typos and missing info (#17257) (Ed Lucas)0bc257cdocs: Clarifyno-div-regexrule docs (#17051) (#17255) (Francesco Trotta)788d836docs: add references to MIT License (#17248) (Milos Djermanovic)58aab6bdocs: Update README (GitHub Actions Bot)3ef5814docs: Revert all changes after the license change (#17227) (Milos Djermanovic)03fc4aadocs: Update README (GitHub Actions Bot)Chores
78350f6chore: upgrade @eslint/js@8.43.0 (#17295) (Milos Djermanovic)62bf759chore: package.json update for @eslint/js release (ESLint Jenkins)e0a2448chore: docs package.license ISC => MIT (#17254) (唯然)6a0196cchore: use eslint-plugin-eslint-plugin flat configs (#17204) (Milos Djermanovic)v8.42.0Compare Source
Features
b8448fffeat: correct no-useless-return behaviour in try statements (#16996) (Nitin Kumar)Bug Fixes
a589636fix: Config withignoresand withoutfilesshould not always apply (#17181) (Milos Djermanovic)c4fad17fix: Correct ignore message for "node_modules" subfolders (#17217) (Francesco Trotta)Documentation
01d7142docs: Update README (GitHub Actions Bot)e5182b7docs: Update README (GitHub Actions Bot)Chores
6ca5b7cchore: upgrade @eslint/js@8.42.0 (#17236) (Milos Djermanovic)67fc5e7chore: package.json update for @eslint/js release (ESLint Jenkins)0892412refactor: removeIdentifierlistener in no-irregular-whitespace (#17235) (Milos Djermanovic)f67d298test: AddFlatESLinttests with missing config files (#17164) (Milos Djermanovic)5b68d51chore: Fixfixedsizeattribute in code path analysis DOT debug output (#17202) (Milos Djermanovic)37432f2chore: update descriptions in key-spacing tests (#17195) (Milos Djermanovic)v8.41.0Compare Source
Features
880a431feat: change default ignore pattern to**/node_modules/in flat config (#17184) (Milos Djermanovic)8bf5505feat: exposeshouldUseFlatConfig(#17169) (Connor Prussin)Bug Fixes
4f5440dfix: incorrect warning message for ignored dotfiles (#17196) (Milos Djermanovic)94da96cfix: unifyLintMessagetype (#17076) (Brandon Mills)0c415cdfix: validateignorePatternsconstructor option inFlatESLintclass (#17139) (Milos Djermanovic)9682d66fix: switchgrapheme-splittertographemer(#17160) (fisker Cheung)Documentation
7709b14docs: Update README (GitHub Actions Bot)7f183e0docs: Update triage process description (#17157) (Nicholas C. Zakas)b68346bdocs: fix license to reflect relicensing of jshint (#17165) (Stefan Bischof)Chores
f43216achore: upgrade @eslint/js@8.41.0 (#17200) (Milos Djermanovic)95c3007chore: package.json update for @eslint/js release (ESLint Jenkins)ddc5291chore: don't use deprecatedcontextmethods inast-utilstests (#17194) (Milos Djermanovic)b1516dbchore: Fix return type offindFlatConfigFile(#17161) (Milos Djermanovic)918b0fdperf: Store indent descriptors in a plain array (#17148) (Francesco Trotta)4caa344refactor: locateConfigFileToUse returns an Error object (#17159) (唯然)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.
fab53963a8to89a412528589a4125285to42b47b210a42b47b210ato00f15a5bd300f15a5bd3to747032c6f2747032c6f2tof7ba2f473ef7ba2f473eto8523f923b18523f923b1to8c535e502b8c535e502btob37d061e29b37d061e29to7eced4f2ba7eced4f2batod23e7fa0bad23e7fa0batoaa4584e2d3aa4584e2d3tob579c8bbd4b579c8bbd4to12528030ed12528030edto01388dace601388dace6toca94347008ca94347008to41b4c1b63d41b4c1b63dtofdc8aa47ecfdc8aa47ecto93414fa23393414fa233to028493cbdc028493cbdctoe5c3ae9a83e5c3ae9a83tof03dc04765f03dc04765to507b775309507b775309to899513d66f899513d66fto4bd793550d4bd793550dtoc7cd1c6315c7cd1c6315to21821dc85221821dc852to62c38de69c62c38de69ctocee16c4a65