Releases: eslint/eslint
Releases Β· eslint/eslint
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: useΒdefaultOptionsΒ inΒ 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)
v9.32.0
Features
1245000feat: support explicit resource management in core rules (#19828) (fnx)0e957a7feat: support typescript types in accessor rules (#19882) (fnx)
Bug Fixes
960fd40fix: Upgrade @eslint/js (#19971) (Nicholas C. Zakas)bbf23fafix: Refactor reporting into FileReport (#19877) (Nicholas C. Zakas)d498887fix: bump @eslint/plugin-kit to 0.3.4 to resolve vulnerability (#19965) (Milos Djermanovic)f46fc6cfix: report only global references in no-implied-eval (#19932) (Nitin Kumar)7863d26fix: remove outdated types inParserOptions.ecmaFeatures(#19944) (ntnyq)3173305fix: update execScript message in no-implied-eval rule (#19937) (TKDev7)
Documentation
86e7426docs: Update README (GitHub Actions Bot)
Chores
50de1cechore: package.json update for @eslint/js release (Jenkins)74f01a3ci: unpinjitito version^2.5.1(#19970) (루λ°LuMir)2ab1381ci: pinjitito version 2.4.2 (#19964) (Francesco Trotta)b7f7545test: switch to flat config mode inSourceCodetests (#19953) (Milos Djermanovic)f5a35e3test: switch to flat config mode in eslint-fuzzer (#19960) (Milos Djermanovic)e22af8crefactor: useCustomRuleDefinitionTypeinJSRuleDefinition(#19949) (Francesco Trotta)e855717chore: switch performance tests to hyperfine (#19919) (Francesco Trotta)2f73a23test: switch to flat config mode inast-utilstests (#19948) (Milos Djermanovic)c565a53chore: excludefurther_reading_links.jsonfrom Prettier formatting (#19943) (Milos Djermanovic)
v9.31.0
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)