Releases: eslint/eslint
Releases · eslint/eslint
v10.0.0-alpha.1
Immutable
release. Only release title and notes can be modified.
Breaking Changes
fa31a60feat!: addnameto configs (#20015) (Kirk Waiblinger)3383e7efix!: remove deprecatedSourceCodemethods (#20137) (Pixel998)501abd0feat!: update dependency minimatch to v10 (#20246) (renovate[bot])ca4d3b4fix!: stricter rule tester assertions for valid test cases (#20125) (唯然)
Features
Documentation
0f5a94adocs: [class-methods-use-this] explain purpose of rule (#20008) (Kirk Waiblinger)df5566fdocs: add Options section to all rule docs (#20296) (sethamus)adf7a2bdocs: no-unsafe-finally note for generator functions (#20330) (Tom Pereira)ef7028cdocs: Update README (GitHub Actions Bot)fbae5d1docs: consistently use "v10.0.0" in migration guide (#20328) (Pixel998)778aa2ddocs: ignoring default file patterns (#20312) (Tanuj Kanti)
Chores
0b14059chore: package.json update for @eslint/js release (Jenkins)d6e7bf3ci: bump actions/checkout from 5 to 6 (#20350) (dependabot[bot])139d456chore: require mandatory headers in rule docs (#20347) (Milos Djermanovic)3b0289cchore: remove unused.eslintignoreand test fixtures (#20316) (Pixel998)a463e7bchore: update dependency js-yaml to v4 [security] (#20319) (renovate[bot])ebfe905chore: remove redundant rules from eslint-config-eslint (#20327) (Milos Djermanovic)88dfdb2test: add regression tests for message placeholder interpolation (#20318) (fnx)6ed0f75chore: skip type checking ineslint-config-eslint(#20323) (Francesco Trotta)
v10.0.0-alpha.0
Immutable
release. Only release title and notes can be modified.
Breaking Changes
96512a6fix!: Remove deprecated rule context methods (#20086) (Nicholas C. Zakas)c69fdacfeat!: remove eslintrc support (#20037) (Francesco Trotta)208b5ccfeat!: UseScopeManager#addGlobals()(#20132) (Milos Djermanovic)a2ee188fix!: adduniqueItems: trueinno-invalid-regexpoption (#20155) (Tanuj Kanti)a89059dfeat!: Program range span entire source text (#20133) (Pixel998)39a6424fix!: assert 'text' is a string across all RuleFixer methods (#20082) (Pixel998)f28fbf8fix!: Deprecate"always"and"as-needed"options of theradixrule (#20223) (Milos Djermanovic)aa3fb2bfix!: tightenfunc-namesschema (#20119) (Pixel998)f6c0ed0feat!: reporteslint-envcomments as errors (#20128) (Francesco Trotta)4bf739ffix!: remove deprecatedLintMessage#nodeTypeandTestCaseError#type(#20096) (Pixel998)523c076feat!: drop support for jiti < 2.2.0 (#20016) (michael faith)454a292feat!: updateeslint:recommendedconfiguration (#20210) (Pixel998)4f880eefeat!: removev10_*and inactiveunstable_*flags (#20225) (sethamus)f18115cfeat!:no-shadow-restricted-namesreportglobalThisby default (#20027) (sethamus)c6358c3feat!: Require Node.js^20.19.0 || ^22.13.0 || >=24(#20160) (Milos Djermanovic)
Documentation
4b5dbcddocs: reorder v10 migration guide (#20315) (Milos Djermanovic)5d84a73docs: Update README (GitHub Actions Bot)37c8863docs: fix incorrect anchor link in v10 migration guide (#20299) (Pixel998)077ff02docs: add migrate-to-10.0.0 doc (#20143) (唯然)3822e1bdocs: Update README (GitHub Actions Bot)
Chores
1e2cad5chore: package.json update for @eslint/js release (Jenkins)9da2679chore: update@eslint/*dependencies (#20321) (Milos Djermanovic)0439794refactor: use types from @eslint/core (#20235) (jaymarvelz)cb51ec2test: cleanupSourceCode#traversetests (#20289) (Milos Djermanovic)897a347chore: remove restriction fortypein rule tests (#20305) (Pixel998)d972098chore: ignore prettier updates in renovate to keep in sync with trunk (#20304) (Pixel998)a086359chore: remove redundantfast-globdev-dependency (#20301) (루밀LuMir)564b302chore: installprettieras a dev dependency (#20302) (michael faith)8257b57refactor: correct regex foreslint-plugin/report-message-format(#20300) (루밀LuMir)e251671refactor: extract assertions in RuleTester (#20135) (唯然)2e7f25echore: addlegacy-peer-depsto.npmrc(#20281) (Milos Djermanovic)39c638achore: update eslint-config-eslint dependencies for v10 prereleases (#20278) (Milos Djermanovic)8533b3fchore: update dependency @eslint/json to ^0.14.0 (#20288) (renovate[bot])796ddf6chore: update dependency @eslint/js to ^9.39.1 (#20285) (renovate[bot])
v9.39.1
Immutable
release. Only release title and notes can be modified.
Bug Fixes
Documentation
51b51f4docs: add a section on when to use extends vs cascading (#20268) (Tanuj Kanti)b44d426docs: Update README (GitHub Actions Bot)
Chores
92db329chore: update@eslint/jsversion to 9.39.1 (#20284) (Francesco Trotta)c7ebefcchore: package.json update for @eslint/js release (Jenkins)61778f6chore: update eslint-config-eslint dependency @eslint/js to ^9.39.0 (#20275) (renovate[bot])d9ca2fcci: Add rangeStrategy to eslint group in renovate config (#20266) (唯然)009e507test: fix version tests for ESLint v10 (#20274) (Milos Djermanovic)
v9.39.0
Immutable
release. Only release title and notes can be modified.
Features
cc57d87feat: update error loc to key inno-dupe-class-members(#20259) (Tanuj Kanti)126552ffeat: update error location infor-directionandno-dupe-args(#20258) (Tanuj Kanti)167d097feat: updatecomplexityrule to highlight only static block header (#20245) (jaymarvelz)
Bug Fixes
15f5c7cfix: forward traversalstep.argsto visitors (#20253) (jaymarvelz)5a1a534fix: allow JSDoc comments in object-shorthand rule (#20167) (Nitin Kumar)e86b813fix: Use more types from @eslint/core (#20257) (Nicholas C. Zakas)927272dfix: correctScopetypings (#20198) (jaymarvelz)37f76d9fix: useAST.Programtype for Program node (#20244) (Francesco Trotta)ae07f0bfix: unify timing report for concurrent linting (#20188) (jaymarvelz)b165d47fix: correctRuletypings (#20199) (jaymarvelz)fb97cdafix: improve error message for missing fix function in suggestions (#20218) (jaymarvelz)
Documentation
d3e81e3docs: Always recommend to include a files property (#20158) (Percy Ma)0f0385fdocs: use consistent naming recommendation (#20250) (Alex M. Spieslechner)a3b1456docs: Update README (GitHub Actions Bot)cf5f2dddocs: fix correct tag ofno-useless-constructor(#20255) (Tanuj Kanti)10b995cdocs: add TS options and examples fornofuncinno-use-before-define(#20249) (Tanuj Kanti)2584187docs: remove repetitive word in comment (#20242) (reddaisyy)637216bdocs: update CLI flags migration instructions (#20238) (jaymarvelz)e7cda3bdocs: Update README (GitHub Actions Bot)7b9446fdocs: handle empty flags sections on the feature flags page (#20222) (sethamus)
Chores
dfe3c1bchore: update@eslint/jsversion to 9.39.0 (#20270) (Francesco Trotta)2375a6dchore: package.json update for @eslint/js release (Jenkins)a1f4e52chore: update@eslintdependencies (#20265) (Francesco Trotta)c7d3229chore: update dependency @eslint/core to ^0.17.0 (#20256) (renovate[bot])27549bcchore: update fuzz testing to not error if code sample minimizer fails (#20252) (Milos Djermanovic)a1370eeci: bump actions/setup-node from 5 to 6 (#20230) (dependabot[bot])9e7fad4chore: add script to auto-generate eslint:recommended configuration (#20208) (唯然)
v9.38.0
Immutable
release. Only release title and notes can be modified.
Features
ce40f74feat: updatecomplexityrule to only highlight function header (#20048) (Atul Nair)e37e590feat: correctno-loss-of-precisionfalse positives withenotation (#20187) (Francesco Trotta)
Bug Fixes
50c3dfdfix: improve type support for isolated dependencies in pnpm (#20201) (Francesco Trotta)a1f06a3fix: correct SourceCode typings (#20114) (Pixel998)
Documentation
462675adocs: improve web accessibility by hiding non-semantic character (#20205) (루밀LuMir)c070e65docs: correct formatting inno-irregular-whitespacerule documentation (#20203) (루밀LuMir)b39e71adocs: Update README (GitHub Actions Bot)cd39983docs: movecustom-formatterstype descriptions tonodejs-api(#20190) (Percy Ma)
Chores
d17c795chore: upgrade @eslint/[email protected] (#20221) (Milos Djermanovic)25d0e33chore: package.json update for @eslint/js release (Jenkins)c82b5efrefactor: Use types from @eslint/core (#20168) (Nicholas C. Zakas)ff31609ci: add Node.js 25 toci.yml(#20220) (루밀LuMir)004577eci: bump github/codeql-action from 3 to 4 (#20211) (dependabot[bot])eac71fbtest: remove use ofnodejsScopeoption of eslint-scope from tests (#20206) (Milos Djermanovic)4168a18chore: fix typo in legacy-eslint.js (#20202) (Sweta Tanwar)205dbd2chore: fix typos (#20200) (ntnyq)dbb200echore: use team member's username when name is not available in data (#20194) (Milos Djermanovic)8962089chore: mark deprecated rules as available until v11.0.0 (#20184) (Pixel998)
v9.37.0
Features
39f7fb4feat:preserve-caught-errorshould recognize all static "cause" keys (#20163) (Pixel998)f81eabcfeat: support TS syntax inno-restricted-imports(#19562) (Nitin Kumar)
Bug Fixes
a129ccefix: correctno-loss-of-precisionfalse positives for leading zeros (#20164) (Francesco Trotta)09e04fcfix: add missing AST token types (#20172) (Pixel998)861c6dafix: correctESLinttypings (#20122) (Pixel998)
Documentation
b950359docs: fix typos across the docs (#20182) (루밀LuMir)42498a2docs: improve ToC accessibility by hiding non-semantic character (#20181) (Percy Ma)29ea092docs: Update README (GitHub Actions Bot)5c97a04docs: showavailableUntilin deprecated rule banner (#20170) (Pixel998)90a71bfdocs: updateREADMEfiles to add badge and instructions (#20115) (루밀LuMir)1603ae1docs: update references frommastertomain(#20153) (루밀LuMir)
Chores
afe8a13chore: update@eslint/jsdependency to version 9.37.0 (#20183) (Francesco Trotta)abee4cachore: package.json update for @eslint/js release (Jenkins)fc9381fchore: fix typos in comments (#20175) (overlookmotel)e1574a2chore: unpin jiti (#20173) (renovate[bot])e1ac05erefactor: markESLint.findConfigFile()asasync, add missing docs (#20157) (Pixel998)347906dchore: update eslint (#20149) (renovate[bot])0cb5897test: remove tmp dir created for circular fixes in multithread mode test (#20146) (Milos Djermanovic)bb99566ci: pinjitito version 2.5.1 (#20151) (Pixel998)177f669perf: improve worker count calculation for"auto"concurrency (#20067) (Francesco Trotta)448b57bchore: Mark deprecated formatting rules as available until v11.0.0 (#20144) (Milos Djermanovic)
v9.36.0
Features
Bug Fixes
75b74d8fix: add missing rule option types (#20127) (ntnyq)1c0d850fix: updateeslint-all.jsto useObject.freezeforrulesobject (#20116) (루밀LuMir)7d61b7ffix: add missing scope types toScope.type(#20110) (Pixel998)7a670c3fix: correct rule option typings inrules.d.ts(#20084) (Pixel998)
Documentation
b73ab12docs: update examples to usedefineConfig(#20131) (sethamus)31d9392docs: fix typos (#20118) (Pixel998)c7f861bdocs: Update README (GitHub Actions Bot)6b0c08bdocs: Update README (GitHub Actions Bot)91f97c5docs: Update README (GitHub Actions Bot)
Chores
12411e8chore: upgrade @eslint/[email protected] (#20139) (Milos Djermanovic)488cba6chore: package.json update for @eslint/js release (Jenkins)bac82a2ci: simplify renovate configuration (#19907) (唯然)c00bb37ci: bump actions/labeler from 5 to 6 (#20090) (dependabot[bot])fee751drefactor: usedefaultOptionsin rules (#20121) (Pixel998)1ace67dchore: update example to usedefineConfig(#20111) (루밀LuMir)4821963test: add missing loc information to error objects in rule tests (#20112) (루밀LuMir)b42c42echore: disallow use of deprecatedtypeproperty in core rule tests (#20094) (Milos Djermanovic)7bb498dtest: remove deprecatedtypeproperty from core rule tests (#20093) (Pixel998)e10cf2aci: bump actions/setup-node from 4 to 5 (#20089) (dependabot[bot])5cb0ce4refactor: usemeta.defaultOptionsinpreserve-caught-error(#20080) (Pixel998)f9f7cb5chore: package.json update for eslint-config-eslint release (Jenkins)81764b2chore: updateeslintpeer dependency ineslint-config-eslint(#20079) (Milos Djermanovic)
v9.35.0
Features
42761fafeat: implement suggestions for no-empty-function (#20057) (jaymarvelz)102f444feat: implement suggestions for no-empty-static-block (#20056) (jaymarvelz)e51fffffeat: addpreserve-caught-errorrule (#19913) (Amnish Singh Arora)
Bug Fixes
10e7ae2fix: update uncloneable options error message (#20059) (soda-sorcery)bfa4601fix: ignore empty switch statements with comments in no-empty rule (#20045) (jaymarvelz)dfd11defix: addbeforeandafterto test case types (#20049) (Francesco Trotta)dabbe95fix: correct types forno-restricted-importsrule (#20034) (Milos Djermanovic)ea789c7fix: no-loss-of-precision false positive with uppercase exponent (#20032) (sethamus)
Documentation
d265515docs: improve phrasing - "if" → "even if" from getting-started section (#20074) (jjangga0214)a355a0edocs: invert comparison logic for example inno-vardoc page (#20064) (OTonGitHub)5082fc2docs: Update README (GitHub Actions Bot)99cfd7edocs: add missing "the" in rule deprecation docs (#20050) (Josh Goldberg ✨)6ad8973docs: update--no-ignoreand--ignore-patterndocumentation (#20036) (Francesco Trotta)8033b19docs: add documentation for--no-config-lookup(#20033) (Francesco Trotta)
Chores
da87f2fchore: upgrade @eslint/[email protected] (#20077) (Milos Djermanovic)af2a087chore: package.json update for @eslint/js release (Jenkins)7055764test: removetests/lib/eslint/eslint.config.js(#20065) (Milos Djermanovic)84ffb96chore: update@eslint-community/eslint-utils(#20069) (Francesco Trotta)d5ef939refactor: remove deprecatedcontext.parserOptionsusage across rules (#20060) (sethamus)1b3881dchore: remove redundant word (#20058) (pxwanglu)
v9.34.0
Features
0bb777afeat: multithread linting (#19794) (Francesco Trotta)43a5f9efeat: add eslint-plugin-regexp to eslint-config-eslint base config (#19951) (Pixel998)
Bug Fixes
9b89903fix: default value of accessor-pairs option in rule.d.ts file (#20024) (Tanuj Kanti)6c07420fix: fix spurious failure in neostandard integration test (#20023) (Kirk Waiblinger)676f4acfix: allow scientific notation with trailing zeros matching exponent (#20002) (Sweta Tanwar)
Documentation
0b4a590docs: make rulesdir deprecation clearer (#20018) (Domenico Gemoli)327c672docs: Update README (GitHub Actions Bot)bf26229docs: Fix typo in core-concepts/index.md (#20009) (Tobias Hernstig)2309327docs: fix typo in the "Configuring Rules" section (#20001) (ghazi-git)2b87e21docs: [no-else-return] clarify sample code. (#19991) (Yuki Takada (Yukinosuke Takada))c36570cdocs: Update README (GitHub Actions Bot)
Chores
f19ad94chore: upgrade to@eslint/[email protected](#20030) (Francesco Trotta)b48fa20chore: package.json update for @eslint/js release (Jenkins)4bce8a2chore: package.json update for eslint-config-eslint release (Jenkins)0c9999crefactor: prefer default options ingrouped-accessor-pairs(#20028) (루밀LuMir)d503f19ci: fixstale.yml(#20010) (루밀LuMir)e2dc67dci: centralizestale.yml(#19994) (루밀LuMir)7093cb8ci: bump actions/checkout from 4 to 5 (#20005) (dependabot[bot])
v9.33.0
Features
e07820efeat: add global object access detection to no-restricted-globals (#19939) (sethamus)90b050efeat: support explicit resource management inone-var(#19941) (Sweta Tanwar)
Bug Fixes
732433cfix: allow any type formeta.docs.recommendedin custom rules (#19995) (Francesco Trotta)e8a6914fix: Fixed potential bug in check-emfile-handling.js (#19975) (諏訪原慶斗)
Documentation
34f0723docs: playground button for TypeScript code example (#19671) (Tanuj Kanti)dc942a4docs: Update README (GitHub Actions Bot)5a4b6f7docs: Update no-multi-assign.md (#19979) (Yuki Takada (Yukinosuke Takada))247e156docs: add missing let declarations inno-plusplus(#19980) (Yuki Takada (Yukinosuke Takada))0d17242docs: Update README (GitHub Actions Bot)fa20b9ddocs: Clarify when to open an issue for a PR (#19974) (Nicholas C. Zakas)
Build Related
Chores
4258046chore: update dependency @eslint/js to v9.33.0 (#19998) (renovate[bot])ad28371chore: package.json update for @eslint/js release (Jenkins)06a22f1test: resolve flakiness in --mcp flag test (#19993) (Pixel998)54920edtest: switch toLinter.ConfiginESLintRulestype tests (#19977) (Francesco Trotta)