Update dependency eslint to v9 #9
Reference in New Issue
Block a user
No description provided.
Delete Branch "renovate/eslint-9.x"
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.13.0->^9.0.0Release Notes
eslint/eslint (eslint)
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) (唯然)v8.40.0Compare Source
Features
5db7808feat: improve flat config errors for invalid rule options and severities (#17140) (Josh Goldberg ✨)f5574dcfeat: Add findConfigFile() method to FlatESLint (#17142) (Nicholas C. Zakas)e52b98bfeat: addsourceCodeproperty to the rule context (#17107) (Nitin Kumar)1468f5bfeat: addphysicalFilenameproperty to the rule context (#17111) (Nitin Kumar)0df4d4ffeat: addcwdto rule context (#17106) (Nitin Kumar)52018f2feat: addfilenameproperty to the rule context (#17108) (Nitin Kumar)559ff4efeat: add newomitLastInOneLineClassBodyoption to thesemirule (#17105) (Nitin Kumar)Bug Fixes
f076e54fix: Ensure FlatESLint#findConfigFile() doesn't throw. (#17151) (Nicholas C. Zakas)Documentation
e980bf3docs: Update README (GitHub Actions Bot)e92a6fcdocs: Update README (GitHub Actions Bot)af5fe64docs: Fix custom rule schema docs (#17115) (Adam Jones)4a352a9docs: explain how to include predefined globals (#17114) (Marcus Wyatt)5ea15d9docs: add mastodon link in readme (#17110) (唯然)Chores
4053004chore: upgrade @eslint/js@8.40.0 (#17156) (Milos Djermanovic)50fed1dchore: package.json update for @eslint/js release (ESLint Jenkins)4c7a170chore: upgrade @eslint/eslintrc@2.0.3 (#17155) (Milos Djermanovic)e80b7ccchore: upgrade espree@9.5.2 (#17154) (Milos Djermanovic)ce3ac91chore: upgrade eslint-visitor-keys@3.4.1 (#17153) (Milos Djermanovic)9094d79chore: addlatest/tometa.docs.urlin all core rules (#17136) (Milos Djermanovic)d85efadperf: don't usegrapheme-splitteron ASCII strings in key-spacing rule (#17122) (Milos Djermanovic)v8.39.0Compare Source
Features
3f7af9ffeat: ImplementSourceCode#markVariableAsUsed()(#17086) (Nicholas C. Zakas)Documentation
6987dc5docs: Fix formatting in Custom Rules docs (#17097) (Milos Djermanovic)4ee92e5docs: Update README (GitHub Actions Bot)d8e9887docs: Custom Rules cleanup/expansion (#16906) (Ben Perlmutter)1fea279docs: Clarify how to add to tsc agenda (#17084) (Nicholas C. Zakas)970ef1cdocs: Update triage board location (Nicholas C. Zakas)6d8bffddocs: Update README (GitHub Actions Bot)Chores
60a6f26chore: upgrade @eslint/js@8.39.0 (#17102) (Milos Djermanovic)d5ba5c0chore: package.json update for @eslint/js release (ESLint Jenkins)f57eff2ci: run tests on Node.js v20 (#17093) (Nitin Kumar)9d1b8fcperf: Binary search in token storeutils.search(#17066) (Francesco Trotta)07a4435chore: Add request for minimal repro to bug report (#17081) (Nicholas C. Zakas)eac4943refactor: remove unnecessary use ofSourceCode#getAncestorsin rules (#17075) (Milos Djermanovic)0a7b60achore: update description ofSourceCode#getDeclaredVariables(#17072) (Milos Djermanovic)6e2df71chore: remove unnecessary references to the LICENSE file (#17071) (Milos Djermanovic)v8.38.0Compare Source
Features
a1d561dfeat: Move getDeclaredVariables and getAncestors to SourceCode (#17059) (Nicholas C. Zakas)Bug Fixes
1c1ece2fix: do not report onRegExp(...args)inrequire-unicode-regexp(#17037) (Francesco Trotta)Documentation
7162d34docs: Mention new config system is complete (#17068) (Nicholas C. Zakas)0fd6bb2docs: Update README (GitHub Actions Bot)c83531cdocs: Update/remove external links, eg. point toeslint-community(#17061) (Pelle Wessman)a3aa6f5docs: Clarifyno-div-regexrule docs (#17051) (Francesco Trotta)b0f11cfdocs: Update README (GitHub Actions Bot)da8d52adocs: Update the second object instance for the "no-new" rule (#17020) (Ahmadou Waly NDIAYE)518130adocs: switch language based on current path (#16687) (Percy Ma)24206c4docs: Update README (GitHub Actions Bot)Chores
59ed060chore: upgrade @eslint/js@8.38.0 (#17069) (Milos Djermanovic)88c0898chore: package.json update for @eslint/js release (ESLint Jenkins)cf682d2refactor: simplify new-parens rule schema (#17060) (MHO)0dde022ci: bump actions/add-to-project from 0.4.1 to 0.5.0 (#17055) (dependabot[bot])v8.37.0Compare Source
Features
b6ab8b2feat:require-unicode-regexpadd suggestions (#17007) (Josh Goldberg)10022b1feat: Copy getScope() to SourceCode (#17004) (Nicholas C. Zakas)1665c02feat: Use plugin metadata for flat config serialization (#16992) (Nicholas C. Zakas)b3634f6feat: docs license (#17010) (Samuel Roldan)892e6e5feat: languageOptions.parser must be an object. (#16985) (Nicholas C. Zakas)Bug Fixes
619f3fdfix: correctly handlenulldefault config inRuleTester(#17023) (Brad Zacher)1fbf118fix:getFirstToken/getLastTokenon comment-only node (#16889) (Francesco Trotta)129e252fix: Fix typo inlogical-assignment-operatorsrule description (#17000) (Francesco Trotta)Documentation
75339dfdocs: fix typos and missing info in id-match docs (#17029) (Ed Lucas)ec2d830docs: Fix typos in thesemirule docs (#17012) (Andrii Lundiak)e39f28ddocs: add back to top button (#16979) (Tanuj Kanti)721c717docs: Custom Processors cleanup and expansion (#16838) (Ben Perlmutter)d049f97docs: 'How ESLint is Maintained' page (#16961) (Ben Perlmutter)5251a92docs: Describe guard options for guard-for-in (#16986) (alope107)6157d81docs: Add example to guard-for-in docs. (#16983) (alope107)fd47998docs: updateArray.prototype.toSortedspecification link (#16982) (Milos Djermanovic)3e1cf6bdocs: Copy edits on Maintain ESLint docs (#16939) (Ben Perlmutter)Chores
c67f299chore: upgrade @eslint/js@8.37.0 (#17033) (Milos Djermanovic)ee9ddbdchore: package.json update for @eslint/js release (ESLint Jenkins)dddb475chore: upgrade @eslint/eslintrc@2.0.2 (#17032) (Milos Djermanovic)522431echore: upgrade espree@9.5.1 (#17031) (Milos Djermanovic)f5f9a88chore: upgrade eslint-visitor-keys@3.4.0 (#17030) (Milos Djermanovic)4dd8d52ci: bump actions/stale from 7 to 8 (#17026) (dependabot[bot])ad9dd6achore: remove duplicate scss, (#17005) (Strek)ada6a3eci: unpin Node 19 (#16993) (Milos Djermanovic)c3da975chore: Remove triage label from template (#16990) (Nicholas C. Zakas)69bc0e2ci: pin Node 19 to 19.7.0 (#16987) (Milos Djermanovic)v8.36.0Compare Source
Features
c89a485feat: AddcheckJSDocoption to multiline-comment-style (#16807) (Laurent Cozic)f5f5e11feat: Serialize parsers/processors in flat config (#16944) (Nicholas C. Zakas)4799297feat: use @eslint-community dependencies (#16784) (Michaël De Boey)Bug Fixes
92c1943fix: correctly iterate files matched by glob patterns (#16831) (Nitin Kumar)Documentation
b98fdd4docs: Update README (GitHub Actions Bot)caf08cedocs: fix estree link in custom formatters docs (#16967) (Milos Djermanovic)3398431docs: Custom Parsers cleanup/expansion (#16887) (Ben Perlmutter)19d3531docs: Update README (GitHub Actions Bot)b09a512docs: detect and fix broken links (#16837) (Nitin Kumar)Chores
602b111chore: upgrade @eslint/js@8.36.0 (#16978) (Milos Djermanovic)43c2345chore: package.json update for @eslint/js release (ESLint Jenkins)00afb84chore: upgrade @eslint/eslintrc@2.0.1 (#16977) (Milos Djermanovic)698c5aachore: upgrade espree@9.5.0 (#16976) (Milos Djermanovic)75acdd2chore: lint more js files in docs (#16964) (Milos Djermanovic)89d9844ci: bump actions/add-to-project from 0.4.0 to 0.4.1 (#16943) (dependabot[bot])v8.35.0Compare Source
Features
8e34a04feat: addafterHashbangCommentoption tolines-around-commentrule (#16920) (SUZUKI Sosuke)c8c0c71feat: Move all and recommended configs into package. (#16844) (Nicholas C. Zakas)71f6f0dfeat: report more cases with??in no-constant-binary-expression (#16826) (Daiki Nishikawa)Bug Fixes
9698bc5fix: pin esquery v1.4.0 (fixes #16896) (#16897) (唯然)Documentation
f9f195edocs: Plugin docs cleanup & expansion (#16862) (Ben Perlmutter)df809fddocs: Custom Formatters page cleanup/expansion (#16886) (Ben Perlmutter)0700d1bdocs: Add PostCSS/Autoprefixer/CSSNano (#16502) (Nick Schonning)7b9e9bfdocs: support unicode anchors (#16782) (Percy Ma)5fbc0bfdocs: Update README (GitHub Actions Bot)67865a0docs: Remove mention of mailing list (#16869) (Amaresh S M)43af24adocs: Add explanation of when to use 'warn' severity (#16882) (Nicholas C. Zakas)ed2999bdocs: Shareable configs page edits and expansion (#16824) (Ben Perlmutter)2780635docs: fix typos (#16884) (Lioness100)5bdaae2docs: Ways to Extend ESLint page (#16861) (Ben Perlmutter)Chores
cdcbe12chore: upgrade @eslint/js@8.35.0 (#16935) (Brandon Mills)c954c34chore: package.json update for @eslint/js release (ESLint Jenkins)5a517dachore: package.json update for @eslint/js release (ESLint Jenkins)9f10926chore: upgrade @eslint/eslintrc@2.0.0 (#16928) (Milos Djermanovic)da728faci: use LTS node version in workflows (#16907) (Nitin Kumar)c57b4f3perf: upgrade to esquery@1.4.2 (#16901) (Milos Djermanovic)9122f07chore: Update stale bot settings (#16870) (Nicholas C. Zakas)v8.34.0Compare Source
Features
9b2fcf7feat:array-callback-returnsupportsArray.prototype.toSorted(#16845) (SUZUKI Sosuke)Bug Fixes
923f61dfix: false positive with assignment inno-extra-parens(#16872) (Francesco Trotta)Documentation
f0a9883docs: split rules documentation (#16797) (Ben Perlmutter)67aa37bdocs: fix typo in command-line-interface.md (#16871) (Kevin Rouchut)337f7eddocs: fix width of language input (#16849) (Tanuj Kanti)71349a1docs: Configure a Parser page (#16803) (Ben Perlmutter)de7e925docs: remove extra line numbers in example (#16848) (jonz94)ad38d77docs: Update README (GitHub Actions Bot)Chores
9dbe06dchore: addtypeproperty to array-element-newline schema (#16877) (MHO)a061527chore: Remove unused functions (#16868) (Nicholas C. Zakas)v8.33.0Compare Source
Features
2cc7954feat: addrestrictDefaultExportsoption to no-restricted-exports rule (#16785) (Nitin Kumar)Documentation
17f4be2docs: Fix examples in no-multiple-empty-lines rule (#16835) (jonz94)9c7cfe3docs: 'Source Code' content in 'Set up Development Environment' page (#16780) (Ben Perlmutter)ede5c64docs: Custom processors page (#16802) (Ben Perlmutter)2620614docs: Code of Conduct page (#16781) (Ben Perlmutter)50a8efddocs: report a sec vulnerability page (#16808) (Ben Perlmutter)ed60afddocs: Update page titles, section landing pages, and side TOC (#16760) (Ben Perlmutter)333c712docs: add background to code-path-diagrams for dark-mode (#16822) (Tanuj Kanti)f5f7b9bdocs: Update README (GitHub Actions Bot)2aa4f5fdocs: no-constant-condition: Add multi-comparison example (#16776) (Sebastian Simon)40287dbdocs: Remove Google Group icon (#16779) (Nicholas C. Zakas)ea10ca5docs: 'a .eslint' -> 'an .eslint' for consistency (#16809) (Ben Perlmutter)3be0748docs: add example for nodejs lintText api (#16789) (Siva K)ce4f5ffdocs: Replace removed related rules with a valid rule (#16800) (Ville Saalo)v8.32.0Compare Source
Features
fc20f24feat: add suggestions for redundant wrapping in prefer-regex-literals (#16658) (YeonJuan)Bug Fixes
b4f8329fix: ignore directives for no-fallthrough (#16757) (gfyoung)Documentation
17b65addocs: IA Update page URL move (#16665) (Ben Perlmutter)5981296docs: fix theme switcher button (#16752) (Sam Chen)6669413docs: deploy prerelease docs under the/docs/next/path (#16541) (Nitin Kumar)78ecfe0docs: use inline code for rule options name (#16768) (Percy Ma)fc2ea59docs: Update README (GitHub Actions Bot)762a872docs: Update README (GitHub Actions Bot)Chores
2952d6echore: sync templates/*.md files with issue templates (#16758) (gfyoung)3e34418chore: Add new issues to triage project (#16740) (Nicholas C. Zakas)v8.31.0Compare Source
Features
52c7c73feat: check assignment patterns in no-underscore-dangle (#16693) (Milos Djermanovic)b401cdefeat: add options to check destructuring in no-underscore-dangle (#16006) (Morten Kaltoft)30d0daffeat: group properties with values in parentheses inkey-spacing(#16677) (Francesco Trotta)Bug Fixes
35439f1fix: correct syntax error inprefer-arrow-callbackautofix (#16722) (Francesco Trotta)87b2470fix: new instance of FlatESLint should load latest config file version (#16608) (Milos Djermanovic)Documentation
4339dc4docs: Update README (GitHub Actions Bot)4e4049cdocs: optimize code block structure (#16669) (Sam Chen)54a7adedocs: do not escape code blocks of formatters examples (#16719) (Sam Chen)e5ecfefdocs: Add function call example for no-undefined (#16712) (Elliot Huffman)a3262f0docs: Add mastodon link (#16638) (Amaresh S M)a14ccf9docs: clarify files property (#16709) (Sam Chen)3b29eb1docs: fix npm link (#16710) (Abdullah Osama)a638673docs: fix search bar focus onEsc(#16700) (Shanmughapriyan S)f62b722docs: country flag missing in windows (#16698) (Shanmughapriyan S)4d27ec6docs: display zh-hans in the docs language switcher (#16686) (Percy Ma)8bda20edocs: remove manually maintained anchors (#16685) (Percy Ma)b68440fdocs: User Guide Getting Started expansion (#16596) (Ben Perlmutter)Chores
65d4e24chore: Upgrade @eslint/eslintrc@1.4.1 (#16729) (Brandon Mills)8d93081chore: fix CI failure (#16721) (Sam Chen)8f17247chore: Set up automatic updating of README (#16717) (Nicholas C. Zakas)4cd87cbci: bump actions/stale from 6 to 7 (#16713) (dependabot[bot])fd20c75chore: sort package.json scripts in alphabetical order (#16705) (Darius Dzien)10a5c78chore: update ignore patterns ineslint.config.js(#16678) (Milos Djermanovic)v8.30.0Compare Source
Features
075ef2cfeat: add suggestion for no-return-await (#16637) (Daniel Bartholomae)7190d98feat: update globals (#16654) (Sébastien Règne)Bug Fixes
1a327aafix: Ensure flat config unignores work consistently like eslintrc (#16579) (Nicholas C. Zakas)9b8bb72fix: autofix recursive functions in no-var (#16611) (Milos Djermanovic)Documentation
6a8cd94docs: Clarify Discord info in issue template config (#16663) (Nicholas C. Zakas)ad44344docs: CLI documentation standardization (#16563) (Ben Perlmutter)293573edocs: fix broken line numbers (#16606) (Sam Chen)fa2c64bdocs: use relative links for internal links (#16631) (Percy Ma)75276c9docs: reorder options in no-unused-vars (#16625) (Milos Djermanovic)7276fe5docs: Fix anchor in URL (#16628) (Karl Horky)6bef135docs: don't apply layouts to html formatter example (#16591) (Tanuj Kanti)dfc7ec1docs: Formatters page updates (#16566) (Ben Perlmutter)8ba124cdocs: update theprefer-constexample (#16607) (Pavel)e6cb05adocs: fix css leaking (#16603) (Sam Chen)Chores
f2c4737chore: upgrade @eslint/eslintrc@1.4.0 (#16675) (Milos Djermanovic)ba74253chore: standardize npm script names per #14827 (#16315) (Patrick McElhaney)0d9af4cci: fix npm v9 problem withfile:(#16664) (Milos Djermanovic)90c9219refactor: migrate off deprecated function-style rules in all tests (#16618) (Bryan Mishkin)v8.29.0Compare Source
Features
49a07c5feat: addallowParensAfterCommentPatternoption to no-extra-parens (#16561) (Nitin Kumar)e6a865dfeat:prefer-named-capture-groupadd suggestions (#16544) (Josh Goldberg)a91332bfeat: In no-invalid-regexp validate flags also for non-literal patterns (#16583) (trosos)Documentation
0311d81docs: Configuring Plugins page intro, page tweaks, and rename (#16534) (Ben Perlmutter)57089b1docs: add a property assignment example for camelcase rule (#16605) (Milos Djermanovic)b6ab030docs: add docs codeowners (#16601) (Strek)6380c87docs: fix sitemap and feed (#16592) (Milos Djermanovic)ade621ddocs: perf debounce the search query (#16586) (Shanmughapriyan S)fbcf3abdocs: fix searchbar clear button (#16585) (Shanmughapriyan S)f894035docs: HTTPS link to yeoman.io (#16582) (Christian Oliff)de12b26docs: Update configuration file pages (#16509) (Ben Perlmutter)1ae9f20docs: update correct code examples forno-extra-parensrule (#16560) (Nitin Kumar)Chores
7628403chore: add discord channel link (#16590) (Amaresh S M)f5808cbchore: fix rule doc headers check (#16564) (Milos Djermanovic)v8.28.0Compare Source
Features
63bce44feat: addignoreClassFieldInitialValuesoption to no-magic-numbers (#16539) (Milos Djermanovic)8385ecdfeat: multiline properties in rulekey-spacingwith optionalign(#16532) (Francesco Trotta)a4e89dbfeat:no-obj-callssupportIntl(#16543) (Sosuke Suzuki)Bug Fixes
c50ae4ffix: Ensure that dot files are found with globs. (#16550) (Nicholas C. Zakas)9432b67fix: throw error for first unmatched pattern (#16533) (Milos Djermanovic)e76c382fix: allow* 1when followed by/in no-implicit-coercion (#16522) (Milos Djermanovic)Documentation
34c05a7docs: Language Options page intro and tweaks (#16511) (Ben Perlmutter)3e66387docs: add intro and edit ignoring files page (#16510) (Ben Perlmutter)436f712docs: fix Header UI inconsistency (#16464) (Tanuj Kanti)f743816docs: switch to wrench emoji for auto-fixable rules (#16545) (Bryan Mishkin)bc0547edocs: improve styles for versions and languages page (#16553) (Nitin Kumar)6070f58docs: clarify esquery issue workaround (#16556) (Milos Djermanovic)b48e4f8docs: Command Line Interface intro and tweaks (#16535) (Ben Perlmutter)b92b30fdocs: Add Rules page intro and content tweaks (#16523) (Ben Perlmutter)1769b42docs: Integrations page introduction (#16548) (Ben Perlmutter)a8d0a57docs: make table of contents sticky on desktop (#16506) (Sam Chen)a01315adocs: fix route of japanese translation site (#16542) (Tanuj Kanti)0515628docs: use emoji instead of svg for deprecated rule (#16536) (Bryan Mishkin)68f1288docs: set default layouts (#16484) (Percy Ma)776827adocs: init config about specifying shared configs (#16483) (Percy Ma)5c39425docs: fix broken link to plugins (#16520) (Ádám T. Nagy)c97c789docs: Add missing no-new-native-nonconstructor docs code fence (#16503) (Brandon Mills)Chores
e94a4a9chore: Add tests to verify #16038 is fixed (#16538) (Nicholas C. Zakas)e13f194chore: stricter validation ofmeta.docs.descriptionin core rules (#16529) (Milos Djermanovic)72dbfbcchore: usepkgparameter ingetNpmPackageVersion(#16525) (webxmsj)v8.27.0Compare Source
Features
f14587cfeat: newno-new-native-nonconstructorrule (#16368) (Sosuke Suzuki)978799bfeat: add new ruleno-empty-static-block(#16325) (Sosuke Suzuki)69216eefeat: no-empty suggest to add comment in empty BlockStatement (#16470) (Nitin Kumar)319f0a5feat: usecontext.languageOptions.ecmaVersionin core rules (#16458) (Milos Djermanovic)Bug Fixes
c3ce521fix: Ensure unmatched glob patterns throw an error (#16462) (Nicholas C. Zakas)886a038fix: handle files with unspecified path ingetRulesMetaForResults(#16437) (Francesco Trotta)Documentation
ce93b42docs: Stylelint property-no-unknown (#16497) (Nick Schonning)d2cecb4docs: Stylelint declaration-block-no-shorthand-property-overrides (#16498) (Nick Schonning)0a92805docs: stylelint color-hex-case (#16496) (Nick Schonning)74a5af4docs: fix stylelint error (#16491) (Milos Djermanovic)324db1adocs: explicit stylelint color related rules (#16465) (Nick Schonning)94dc4f1docs: use Stylelint for HTML files (#16468) (Nick Schonning)cc6128ddocs: enable stylelint declaration-block-no-duplicate-properties (#16466) (Nick Schonning)d03a8bfdocs: Add heading to justification explanation (#16430) (Maritaria)8a15968docs: add Stylelint configuration and cleanup (#16379) (Nick Schonning)9b0a469docs: note commit messages don't support scope (#16435) (Andy Edwards)1581405docs: improve context.getScope() docs (#16417) (Ben Perlmutter)b797149docs: update formatters template (#16454) (Milos Djermanovic)5ac4de9docs: fix link to formatters on the Core Concepts page (#16455) (Vladislav)33313efdocs: core-concepts: fix link to semi rule (#16453) (coderaiser)v8.26.0Compare Source
Features
4715787feat: checkObject.create()in getter-return (#16420) (Yuki Hirasawa)28d1902feat:no-implicit-globalssupportsexportedblock comment (#16343) (Sosuke Suzuki)e940be7feat: Use ESLINT_USE_FLAT_CONFIG environment variable for flat config (#16356) (Tomer Aberbach)dd0c58ffeat: Swap out Globby for custom globbing solution. (#16369) (Nicholas C. Zakas)Bug Fixes
df77409fix: usebaseConfigconstructor option in FlatESLint (#16432) (Milos Djermanovic)33668eefix: Ensure that glob patterns are matched correctly. (#16449) (Nicholas C. Zakas)740b208fix: ignore messages without aruleIdingetRulesMetaForResults(#16409) (Francesco Trotta)8f9759efix:--ignore-patternin flat config mode should be relative tocwd(#16425) (Milos Djermanovic)325ad37fix: makegetRulesMetaForResultsreturn a plain object in trivial case (#16438) (Francesco Trotta)a2810bcfix: Ensure that directories can be unignored. (#16436) (Nicholas C. Zakas)35916adfix: Ensure unignore and reignore work correctly in flat config. (#16422) (Nicholas C. Zakas)Documentation
651649bdocs: Core concepts page (#16399) (Ben Perlmutter)631cf72docs: note --ignore-path not supported with flat config (#16434) (Andy Edwards)1692840docs: fix syntax in examples for new config files (#16427) (Milos Djermanovic)d336cfcdocs: Document extending plugin with new config (#16394) (Ben Perlmutter)Chores
e917a9aci: add node v19 (#16443) (Koichi ITO)4b70b91chore: Add VS Code issues link (#16423) (Nicholas C. Zakas)232d291chore: suppress a Node.js deprecation warning (#16398) (Koichi ITO)v8.25.0Compare Source
Features
173e820feat: Pass --max-warnings value to formatters (#16348) (Brandon Mills)6964cb1feat: remove support for ignore files in FlatESLint (#16355) (Milos Djermanovic)1cc4b3afeat:id-lengthcounts graphemes instead of code units (#16321) (Sosuke Suzuki)Documentation
90c6028docs: Conflicting fixes (#16366) (Ben Perlmutter)5a3fe70docs: Add VS to integrations page (#16381) (Maria José Solano)49bd1e5docs: remove unused link definitions (#16376) (Nick Schonning)3bd380ddocs: typo cleanups for docs (#16374) (Nick Schonning)b3a0837docs: remove duplicate words (#16378) (Nick Schonning)a682562docs: addBigInttonew-capdocs (#16362) (Sosuke Suzuki)f6d57fbdocs: Update docs README (#16352) (Ben Perlmutter)7214347docs: fix logical-assignment-operators option typo (#16346) (Jonathan Wilsson)Chores
1f78594chore: upgrade @eslint/eslintrc@1.3.3 (#16397) (Milos Djermanovic)8476a9bchore: Remove CODEOWNERS (#16375) (Nick Schonning)720ff75chore: use "ci" for Dependabot commit message (#16377) (Nick Schonning)42f5479chore: bump actions/stale from 5 to 6 (#16350) (dependabot[bot])e5e9e27chore: removejsdocdev dependency (#16344) (Milos Djermanovic)v8.24.0Compare Source
Features
1729f9efeat: account forsourceType: "commonjs"in the strict rule (#16308) (Milos Djermanovic)b0d72c9feat: add rule logical-assignment-operators (#16102) (fnx)f02bcd9feat:array-callback-returnsupportfindLastandfindLastIndex(#16314) (Sosuke Suzuki)Documentation
2c152ffdocs: note false positiveObject.getOwnPropertyNamesin prefer-reflect (#16317) (AnnAngela)bf7bd88docs: fix warn severity description for new config files (#16324) (Nitin Kumar)8cc0bbedocs: use more clean link syntax (#16309) (Percy Ma)6ba269edocs: fix typo (#16288) (jjangga0214)Chores
131e646chore: Upgrade @humanwhocodes/config-array for perf (#16339) (Nicholas C. Zakas)504fe59perf: switch from object spread toObject.assignwhen merging globals (#16311) (Milos Djermanovic)v8.23.1Compare Source
Bug Fixes
b719893fix: Upgrade eslintrc to stop redefining plugins (#16297) (Brandon Mills)734b54efix: improve autofix for theprefer-construle (#16292) (Nitin Kumar)6a923fffix: Ensure that glob patterns are normalized (#16287) (Nicholas C. Zakas)c6900f8fix: Ensure globbing doesn't include subdirectories (#16272) (Nicholas C. Zakas)Documentation
16cba3fdocs: fix mobile double tap issue (#16293) (Sam Chen)e098b5fdocs: keyboard control to search results (#16222) (Shanmughapriyan S)1b5b2a7docs: add Consolas font and prioritize resource loading (#16225) (Amaresh S M)1ae8236docs: copy & use main package version in docs on release (#16252) (Jugal Thakkar)279f0afdocs: Improve id-denylist documentation (#16223) (Mert Ciflikli)Chores
38e8171perf: migrate rbTree to js-sdsl (#16267) (Zilong Yao)1c388fbchore: switch nyc to c8 (#16263) (唯然)67db10cchore: enable linting.eleventy.jsagain (#16274) (Milos Djermanovic)42bfbd7chore: fixnpm run perfcrashes (#16258) (唯然)v8.23.0Compare Source
Features
3e5839efeat: Enable eslint.config.js lookup from CLI (#16235) (Nicholas C. Zakas)30b1a2dfeat: addallowEmptyCaseoption to no-fallthrough rule (#15887) (Amaresh S M)43f03aafeat: no-warning-comments support comments with decoration (#16120) (Lachlan Hunt)Documentation
b1918dadocs: package.json conventions (#16206) (Patrick McElhaney)0e03c33docs: remove word immediately (#16217) (Strek)c6790dbdocs: add anchor link for "migrating from jscs" (#16207) (Percy Ma)7137344docs: auto-generation edit link (#16213) (Percy Ma)Chores
2e004abchore: upgrade @eslint/eslintrc@1.3.1 (#16249) (Milos Djermanovic)d35fbbechore: Upgrade to espree@9.4.0 (#16243) (Milos Djermanovic)ed26229test: add no-extra-parens tests with rest properties (#16236) (Milos Djermanovic)deaf69fchore: fix off-by-onemin-width: 1023pxmedia queries (#15974) (Milos Djermanovic)63dec9frefactor: simplifyparseListConfig(#16241) (Milos Djermanovic)v8.22.0Compare Source
Features
2b97607feat: Implement caching for FlatESLint (#16190) (Nicholas C. Zakas)fd5d3d3feat: addmethodsIgnorePatternoption to object-shorthand rule (#16185) (Milos Djermanovic)Documentation
9f5a752docs: optimize image assets (#16170) (Sam Chen)61b2948docs: add svgo command to pre commit hook (#16178) (Amaresh S M)784096ddocs: improve search result UI (#16187) (Sam Chen)d0f4cb4docs: use shorthand property name in example (#16180) (Kevin Elliott)Chores
10a6e0echore: remove deploy workflow for playground (#16186) (Milos Djermanovic)v8.21.0Compare Source
Features
7b43ea1feat: Implement FlatESLint (#16149) (Nicholas C. Zakas)92bf49afeat: improve the key width calculation inkey-spacingrule (#16154) (Nitin Kumar)c461542feat: add newallowLineSeparatedGroupsoption to thesort-keysrule (#16138) (Nitin Kumar)1cdcbcafeat: add deprecation warnings for legacy API inRuleTester(#16063) (Nitin Kumar)Bug Fixes
0396775fix: lines-around-comment applyallowBlockStartfor switch statements (#16153) (Nitin Kumar)Documentation
2aadc93docs: add anchors to headings inside docs content (#16134) (Strek)Chores
8892511chore: Upgrade to Espree 9.3.3 (#16173) (Brandon Mills)1233beechore: switch to eslint-plugin-node's maintained fork (#16150) (唯然)97b95c0chore: upgrade puppeteer v13 (#16151) (唯然)v8.20.0Compare Source
Features
ca83178feat: catch preprocess errors (#16105) (JounQin)Bug Fixes
30be0edfix: no-warning-comments rule escapes special RegEx characters in terms (#16090) (Lachlan Hunt)bfe5e88fix: ignore spacing before]and}in comma-spacing (#16113) (Milos Djermanovic)Documentation
845c4f4docs: Add website team details (#16115) (Nicholas C. Zakas)5a0dfdbdocs: Link to blog post in no-constant-binary-expression (#16112) (Jordan Eldredge)bc692a9docs: remove install command (#16084) (Strek)49ca3f0docs: don't show toc when content not found (#16095) (Amaresh S M)ba19e3fdocs: enhance 404 page UI (#16097) (Amaresh S M)a75d3b4docs: remove unused meta.docs.category field in working-with-rules page (#16109) (Brandon Scott)cdc0206docs: add formatters page edit link (#16094) (Amaresh S M)4d1ed22docs: preselect default theme (#16098) (Strek)4b79612docs: add missing correct/incorrect containers (#16087) (Milos Djermanovic)09f6acbdocs: fix UI bug on rules index and details pages (#16082) (Deepshika S)f5db264docs: remove remaining duplicate rule descriptions (#16093) (Milos Djermanovic)32a6b2adocs: Add scroll behaviour smooth (#16056) (Amaresh S M)Chores
bbf8df4chore: Mark autogenerated release blog post as draft (#16130) (Nicholas C. Zakas)eee4306chore: update internal lint dependencies (#16088) (Bryan Mishkin)9615a42chore: update formatter examples template to avoid markdown lint error (#16085) (Milos Djermanovic)62541edchore: fix markdown linting error (#16083) (唯然)v8.19.0Compare Source
Features
7023628feat: add importNames support for patterns in no-restricted-imports (#16059) (Brandon Scott)472c368feat: fix handling of blocklesswithstatements in indent rule (#16068) (Milos Djermanovic)Bug Fixes
fc81848fix: throw helpful exception when rule has wrong return type (#16075) (Bryan Mishkin)Documentation
3ae0574docs: Remove duplicate rule descriptions (#16052) (Amaresh S M)f50cf43docs: Add base href to each page to fix relative URLs (#16046) (Nicholas C. Zakas)ae4b449docs: make logo link clickable on small width screens (#16058) (Milos Djermanovic)280f898docs: use only fenced code blocks (#16044) (Milos Djermanovic)f5d63b9docs: add listener only if element exists (#16045) (Amaresh S M)8b639ccdocs: add missing migrating-to-8.0.0 in the user guide (#16048) (唯然)b8e68c1docs: Update release process (#16036) (Nicholas C. Zakas)6d0cb11docs: remove table of contents from markdown text (#15999) (Nitin Kumar)Chores
e884933chore: usegithub-sluggerfor markdown anchors (#16067) (Strek)02e9cb0chore: revamp carbon ad style (#16078) (Amaresh S M)b6aee95chore: remove unwanted comments from rules markdown (#16054) (Strek)6840940chore: correctly use .markdownlintignore in Makefile (#16060) (Bryan Mishkin)48904fbchore: add missing images (#16017) (Amaresh S M)910f741chore: add architecture to nav (#16039) (Strek)9bb24c1chore: add correct incorrect in all rules doc (#16021) (Deepshika S)5a96af8chore: prepare versions data file (#16035) (Nicholas C. Zakas)50afe6fchore: Included githubactions in the dependabot config (#15985) (Naveen)473411echore: add deploy workflow for playground (#16034) (Milos Djermanovic)a30b66cchore: fix print style (#16025) (Amaresh S M)f4dad59chore: add noindex meta tag (#16016) (Milos Djermanovic)db387a8chore: fix sitemap (#16026) (Milos Djermanovic)285fbc5chore: remove TOC from printable (#16020) (Strek)8e84c21chore: remove ligatures from fonts (#16019) (Strek)v8.18.0Compare Source
Features
a6273b8feat: account for rule creation time in performance reports (#15982) (Nitin Kumar)Bug Fixes
f364d47fix: Make no-unused-vars treat for..of loops same as for..in loops (#15868) (Alex Bass)Documentation
4871047docs: Update analytics, canonical URL, ads (#15996) (Nicholas C. Zakas)cddad14docs: Add correct/incorrect containers (#15998) (Nicholas C. Zakas)b04bc6fdocs: Add rules meta info to rule pages (#15902) (Nicholas C. Zakas)1324f10docs: unify the wording referring to optional exception (#15893) (Abdelrahman Elkady)ad54d02docs: add missing trailing slash to some internal links (#15991) (Milos Djermanovic)df7768edocs: Switch to version-relative URLs (#15978) (Nicholas C. Zakas)21d6479docs: change some absolute links to relative (#15970) (Milos Djermanovic)f31216adocs: Update README team and sponsors (ESLint Jenkins)Build Related
ed49f15build: remove unwanted parallel and image-min for dev server (#15986) (Strek)Chores
f6e2e63chore: fix 'replaced by' rule list (#16007) (Milos Djermanovic)d94dc84chore: remove unused deprecation warnings (#15994) (Francesco Trotta)cdcf11echore: fix versions link (#15995) (Milos Djermanovic)d2a8715chore: add trailing slash topathPrefix(#15993) (Milos Djermanovic)58a1bf0chore: tweak URL rewriting for local previews (#15992) (Milos Djermanovic)80404d2chore: remove docs deploy workflow (#15984) (Nicholas C. Zakas)71bc750chore: Set permissions for GitHub actions (#15971) (Naveen)90ff647chore: avoid generating subdirectories for each page on new docs site (#15967) (Milos Djermanovic)v8.17.0Compare Source
Features
55319e1feat: fix indent bug with semicolon-first style (#15951) (Milos Djermanovic)f6d7920feat: addallowNamedExportsoption to no-use-before-define (#15953) (Milos Djermanovic)Bug Fixes
54c0953fix: cleanup typos (#15939) (Nick Schonning)845a7affix: typo ocatal -> octal (#15940) (Nick Schonning)Documentation
b915018docs: Update website UI to latest (#15944) (Nicholas C. Zakas)f0bb609docs: Update Exponentiation operator MDN link (#15960) (Pranjal Jain)baa0153docs: Use correct past tense "left" instead of "leaved" (#15950) (Frederik Braun)1351a9bdocs: Add Resources section to rule pages (#15901) (Nicholas C. Zakas)68cf0fbdocs: cleanup typos (#15936) (Nick Schonning)13b62aedocs: use-dart-sass instead of node-sass (#15912) (Deepshika S)c81c5d6docs: add social media links (#15920) (Deepshika S)0d6a50bdocs: fix openjs link (#15917) (Amaresh S M)54910f5docs: display version in mobile view (#15909) (Amaresh S M)Chores
da694b9chore: avoid theme flashes (#15927) (Strek)f836743chore: Use build hook for docs deploy (#15945) (Nicholas C. Zakas)ce035e5test: cleanup typos (#15937) (Nick Schonning)10249adchore: use addEventListener instead of addListener (#15923) (Amaresh S M)5f5c1fbchore: lint eleventy config file (#15904) (Milos Djermanovic)8513d37chore: update Rule typedefs (#15915) (Milos Djermanovic)55534f1test: ensure no-restricted-imports works with NodeJS imports (#15907) (Nick Mazuk)v8.16.0Compare Source
Features
cab0c22feat: add Unicode flag suggestion in no-misleading-character-class (#15867) (Milos Djermanovic)38ae956feat: check Unicode code point escapes in no-control-regex (#15862) (Milos Djermanovic)ee69cd3feat: Update global variables (#15871) (Sébastien Règne)Bug Fixes
3f09aabfix: function-paren-newline crash on "new new Foo();" (#15850) (coderaiser)Documentation
050d5f4docs: Static further reading links (#15890) (Nicholas C. Zakas)36287c0docs: fix absolute paths in related rules shortcode to work from /docs (#15892) (Milos Djermanovic)90b6990docs: fix absolute links in rule macro to work from /docs (#15891) (Milos Djermanovic)f437249docs: Adjust docs site path prefix (#15889) (Nicholas C. Zakas)6e16025docs: update 'Related Rules' and 'Further Reading' in remaining rules (#15884) (Milos Djermanovic)1d39f69docs: remove confusing examples for no-mixed-operators (#15875) (Milos Djermanovic)3071d76docs: Fix some grammar issues (#15837) (byodian)Chores
1768d0dchore: upgrade @eslint/eslintrc@1.3.0 (#15903) (Milos Djermanovic)c686e4cchore: Add deploy workflow for docs site (#15894) (Nicholas C. Zakas)c7894cdchore: enable some rules from eslint-plugin-unicorn internally (#15878) (Bryan Mishkin)ea65cb5chore: upgrade eslint-plugin-eslint-plugin@^4.2.0 (#15882) (唯然)cc29c69chore: Upgrade official GitHub actions to latest versions (#15880) (Darius Dzien)5891c75chore: Refactor rule docs format (#15869) (Nicholas C. Zakas)v8.15.0Compare Source
Features
ab37d3bfeat: addenforceInClassFieldsoption to no-underscore-dangle (#15818) (Roberto Cestari)Bug Fixes
8bf9440fix: "use strict" should not trigger strict mode in ES3 (#15846) (Milos Djermanovic)Documentation
28116ccdocs: update AST node names link in no-restricted-syntax (#15843) (Milos Djermanovic)272965fdocs: fix h1 heading on formatters page (#15834) (Milos Djermanovic)a798166docs: update example for running individual rule tests (#15833) (Milos Djermanovic)57e732bdocs: markSourceCode#getJSDocCommentdeprecated in working-with-rules (#15829) (Milos Djermanovic)9a90abfdocs: update docs directory in working-with-rules (#15830) (Milos Djermanovic)810addadocs: add more examples for prefer-object-spread (#15831) (coderaiser)06b1edbdocs: clarify no-control-regex rule (#15808) (Milos Djermanovic)9ecd42fdocs: Fixed typo in code comment (#15812) (Addison G)de992b7docs: remove links to 2fa document (#15804) (Milos Djermanovic)5222659docs: fix 'Related Rules' heading in no-constant-binary-expression (#15799) (Milos Djermanovic)e70ae81docs: Update README team and sponsors (ESLint Jenkins)Chores
1ba6a92chore: upgrade @eslint/eslintrc@1.2.3 (#15847) (Milos Djermanovic)8167aa7chore: bump version of minimatch due to security issue PRISMA-2022-0039 (#15774) (Jan Opravil)b8995a4chore: Implement docs site (#15815) (Nicholas C. Zakas)6494e3echore: update link incodeql-analysis.yml(#15817) (Milos Djermanovic)36503ecchore: enable no-constant-binary-expression in eslint-config-eslint (#15807) (唯然)v8.14.0Compare Source
Features
ab6363dfeat: Add rule no-constant-binary-expression (#15296) (Jordan Eldredge)Bug Fixes
35fa1ddfix: allow project paths to have URL-encoded characters (#15795) (Milos Djermanovic)413f1d5fix: updateastUtils.isDirectiveCommentwithglobalsandexported(#15775) (Milos Djermanovic)Build Related
c2407e8build: add node v18 (#15791) (唯然)Chores
735458cchore: add static frontmatter to no-constant-binary-expression docs (#15798) (Milos Djermanovic)db28f2cchore: Add static frontmatter to docs (#15782) (Nicholas C. Zakas)3bca59echore: markdownlint autofix on commit (#15783) (Nicholas C. Zakas)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.
⚠️ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
The artifact failure details are included below:
File name: package-lock.json
Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠️ Warning: custom changes will be lost.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.