Releases: eslint/eslint
Releases Β· eslint/eslint
v9.4.0
Features
Bug Fixes
f6534d1
fix: skip processor code blocks that match only universal patterns (#18507) (Milos Djermanovic)7226ebd
fix: allow implicit undefined return inno-constructor-return
(#18515) (Ali Rezvani)389744b
fix: use@eslint/config-inspector@latest
(#18483) (ε―ηΆ)70118a5
fix:func-style
false positive with arrow functions andsuper
(#18473) (Milos Djermanovic)
Documentation
d7ab6f5
docs: update theme when whenprefers-color-scheme
changes (#18510) (Nitin Kumar)525fdff
docs: fix components files (#18519) (Tanuj Kanti)80747d2
docs: refactorprefer-destructuring
rule (#18472) (Tanuj Kanti)f06e0b5
docs: clarify func-style (#18477) (Cameron Steffen)
Chores
v9.3.0
Features
b32153c
feat: addoverrides.namedExports
tofunc-style
rule (#18444) (Percy Ma)b67eba4
feat: addrestrictedNamedExportsPattern
tono-restricted-exports
(#18431) (Akul Srivastava)069aa68
feat: add optionallowEscape
tono-misleading-character-class
rule (#18208) (Francesco Trotta)05ef92d
feat: deprecatemultiline-comment-style
&line-comment-position
(#18435) (ε―ηΆ)db0b174
feat: addenforceForInnerExpressions
option tono-extra-boolean-cast
(#18222) (Kirk Waiblinger)
Bug Fixes
8db0eff
fix: Improve config error messages (#18457) (Nicholas C. Zakas)5c28d9a
fix: don't remove comments between key and value in object-shorthand (#18442) (Kuba JastrzΔbski)39fb0ee
fix: object-shorthand loses type parameters when auto-fixing (#18438) (dalaoshu)37eba48
fix: don't crash whenfs.readFile
returns promise from another realm (#18416) (Milos Djermanovic)
Documentation
ceada8c
docs: explain how to use "tsc waiting" label (#18466) (Francesco Trotta)62e686c
docs: Add troubleshooting info for plugin compatibility (#18451) (Nicholas C. Zakas)e17e1c0
docs: Update README (GitHub Actions Bot)2465a1e
docs: Update README (GitHub Actions Bot)d23574c
docs: Clarify usage ofno-unreachable
with TypeScript (#18445) (benj-dobs)1db9bae
docs: Fix typos (#18443) (Frieder Bluemle)7065196
docs: Update README (GitHub Actions Bot)04e7c6e
docs: update deprecation notice ofno-return-await
(#18433) (Tanuj Kanti)e763512
docs: Link global ignores section in config object property list (#18430) (MaoShizhong)ac7f718
docs: reflect release of v9 in config migration guide (#18412) (Peter Briggs)0de0909
docs: fix grammar in configuration file resolution (#18419) (Mike McCready)
Chores
58e2719
chore: update dependencies for v9.3.0 release (#18469) (Francesco Trotta)b681ecb
chore: package.json update for @eslint/js release (Jenkins)06f1d1c
chore: update dependency @humanwhocodes/retry to ^0.3.0 (#18463) (renovate[bot])a63ed72
refactor: Usenode:
protocol for built-in Node.js modules (#18434) (Milos Djermanovic)040700a
chore: update dependency markdownlint-cli to ^0.40.0 (#18425) (renovate[bot])f47847c
chore: update actions/stale action to v9 (#18426) (renovate[bot])c18ad25
chore: update actions/upload-artifact action to v4 (#18427) (renovate[bot])27e3060
chore: Disable documentation label (#18423) (Nicholas C. Zakas)
v9.2.0
Features
8485d76
feat:no-case-declarations
add suggestions (#18388) (Josh Goldberg β¨)a498f35
feat: update Unicode letter detection in capitalized-comments rule (#18375) (Francesco Trotta)
Bug Fixes
Documentation
0f5df50
docs: Update README (GitHub Actions Bot)1579ce0
docs: update wording regarding indirect eval (#18394) (Kirk Waiblinger)f12a02c
docs: update to eslint v9 in custom-rule-tutorial (#18383) (ε―ηΆ)
Chores
b346605
chore: upgrade @eslint/js@9.2.0 (#18413) (Milos Djermanovic)c4c18e0
chore: package.json update for @eslint/js release (Jenkins)284722c
chore: package.json update for eslint-config-eslint release (Jenkins)347d44f
chore: remove eslintrc export from eslint-config-eslint (#18400) (Milos Djermanovic)f316e20
ci: run tests in Node.js 22 (#18393) (Francesco Trotta)
v9.1.1
v9.1.0
Features
03068f1
feat: Provide helpful error message for nullish configs (#18357) (Nicholas C. Zakas)751b518
feat: replace dependency graphemer withIntl.Segmenter
(#18110) (Francesco Trotta)4d11e56
feat: addname
to eslint configs (#18289) (ε―ηΆ)1cbe1f6
feat: allowwhile(true)
inno-constant-condition
(#18286) (Tanuj Kanti)0db676f
feat: addIntl
in es6 globals (#18318) (ε―ηΆ)
Bug Fixes
8d18958
fix: Remove name from eslint/js packages (#18368) (Nicholas C. Zakas)594eb0e
fix: do not crash on error infs.walk
filter (#18295) (Francesco Trotta)0d8cf63
fix: EMFILE errors (#18313) (Nicholas C. Zakas)e1ac0b5
fix: --inspect-config only for flat config and respect -c (#18306) (Nicholas C. Zakas)09675e1
fix:--no-ignore
should not apply to non-global ignores (#18334) (Milos Djermanovic)
Documentation
fb50077
docs: include notes about globals in migration-guide (#18356) (Gabriel Rohden)71c771f
docs: Fix missing accessible name for scroll-to-top link (#18329) (GermΓ‘n FreixinΓ³s)200fd4e
docs: indicate eslintrc mode for.eslintignore
(#18285) (Francesco Trotta)16b6a8b
docs: Update README (GitHub Actions Bot)df5f8a9
docs:paths
andpatterns
difference inno-restricted-imports
(#18273) (Tanuj Kanti)c537d76
docs: updatenpm init @eslint/config
generated file names (#18298) (ε―ηΆ)e1e305d
docs: fixlinebreak-style
examples (#18262) (Francesco Trotta)113f51e
docs: Mention package.json config support dropped (#18305) (Nicholas C. Zakas)5c35321
docs: add eslintrc-only note to--rulesdir
(#18281) (Adam Lui εε±ιΉ)
Build Related
Chores
d9a2983
chore: upgrade @eslint/js to v9.1.1 (#18367) (Francesco Trotta)50d406d
chore: package.json update for @eslint/js release (Jenkins)155c71c
chore: package.json update for @eslint/js release (Jenkins)0588fc5
refactor: Move directive gathering to SourceCode (#18328) (Nicholas C. Zakas)9048e21
chore: lintdocs/src/_data
js files (#18335) (Milos Djermanovic)4820790
chore: upgrade globals@15.0.0 dev dependency (#18332) (Milos Djermanovic)698d9ff
chore: upgrade jsdoc & unicorn plugins in eslint-config-eslint (#18333) (Milos Djermanovic)32c08cf
chore: drop Node < 18 and use @eslint/js v9 in eslint-config-eslint (#18323) (Milos Djermanovic)a76fb55
chore: @eslint-community/eslint-plugin-eslint-comments v4.3.0 (#18319) (Milos Djermanovic)78e45b1
chore: eslint-plugin-eslint-plugin v6.0.0 (#18316) (ε―ηΆ)36103a5
chore: eslint-plugin-n v17.0.0 (#18315) (ε―ηΆ)
v9.0.0
Breaking Changes
b7cf3bd
fix!: correctcamelcase
rule schema forallow
option (#18232) (eMerzh)09bd7fe
feat!: move AST traversal into SourceCode (#18167) (Nicholas C. Zakas)79a95eb
feat!: disallow multiple configuration comments for same rule (#18157) (Milos Djermanovic)9163646
feat!: Rule Tester checks for missing placeholder data in the message (#18073) (fnx)3c4d51d
feat!: default forenforceForClassMembers
inno-useless-computed-key
(#18054) (Francesco Trotta)47e60f8
feat!: Stricter rule test validations (#17654) (fnx)1a94589
feat!:no-unused-vars
default caughtErrors to 'all' (#18043) (Josh Goldberg β¨)57089cb
feat!: no-restricted-imports allow multiple config entries for same path (#18021) (Milos Djermanovic)2e1d549
feat!: detect duplicate test cases (#17955) (Bryan Mishkin)701f1af
feat!: no-inner-declaration new default behaviour and option (#17885) (Tanuj Kanti)bde5105
fix!: handle--output-file
for empty output when saving to disk (#17957) (Nitin Kumar)07107a5
fix!: upgrade eslint-scope@8.0.0 (#17942) (Milos Djermanovic)3ee0f6c
fix!: no-unused-varsvarsIgnorePattern
behavior with catch arguments (#17932) (Tanuj Kanti)51f8bc8
fix!: configuration comments with just severity should retain options (#17945) (Milos Djermanovic)d191bdd
feat!: Remove CodePath#currentSegments (#17936) (Milos Djermanovic)946ae00
feat!: FlatRuleTester -> RuleTester (#17922) (Nicholas C. Zakas)baff28c
feat!: removeno-inner-declarations
fromeslint:recommended
(#17920) (Milos Djermanovic)cadfbcd
feat!: Rename FlatESLint to ESLint (#17914) (Nicholas C. Zakas)d1018fc
feat!: skip running warnings in --quiet mode (#17274) (Maddy Miller)fb81b1c
feat!: Set defaultschema: []
, drop support for function-style rules (#17792) (Milos Djermanovic)0b21e1f
feat!: add two more cases tono-implicit-coercion
(#17832) (GΓΌrgΓΌn DayΔ±oΔlu)2916c63
feat!: Switch Linter to flat config by default (#17851) (Nicholas C. Zakas)200518e
fix!: Parsing 'exported' comment using parseListConfig (#17675) (amondev)bdd6ba1
feat!: Remove valid-jsdoc and require-jsdoc (#17694) (Nicholas C. Zakas)12be307
fix!: Behavior of CLI when no arguments are passed (#17644) (Nicholas C. Zakas)8fe8c56
feat!: Update shouldUseFlatConfig and CLI so flat config is default (#17748) (Nicholas C. Zakas)60dea3e
feat!: deprecate no-new-symbol, recommend no-new-native-nonconstructor (#17710) (Francesco Trotta)5aa9c49
feat!: check for parsing errors in suggestion fixes (#16639) (Bryan Mishkin)b3e0bb0
feat!: assert suggestion messages are unique in rule testers (#17532) (Josh Goldberg β¨)e563c52
feat!:no-invalid-regexp
make allowConstructorFlags case-sensitive (#17533) (Josh Goldberg β¨)e5f02c7
fix!: no-sequences rule schema correction (#17878) (MHO)6ee3e9e
feat!: Updateeslint:recommended
configuration (#17716) (Milos Djermanovic)c2cf85a
feat!: drop support for string configurations in flat config array (#17717) (Milos Djermanovic)c314fd6
feat!: RemoveSourceCode#getComments()
(#17715) (Milos Djermanovic)ae78ff1
feat!: Remove deprecated context methods (#17698) (Nicholas C. Zakas)f71c328
feat!: Swap FlatESLint-ESLint, FlatRuleTester-RuleTester in API (#17823) (Nicholas C. Zakas)5304da0
feat!: remove formatters except html, json(-with-metadata), and stylish (#17531) (Josh Goldberg β¨)e1e827f
feat!: Require Node.js^18.18.0 || ^20.9.0 || >=21.1.0
(#17725) (Milos Djermanovic)
Features
d54a412
feat: Add --inspect-config CLI flag (#18270) (Nicholas C. Zakas)97ce45b
feat: AddreportUsedIgnorePattern
option tono-unused-vars
rule (#17662) (Pearce Ropion)3e9fcea
feat: Show config names in error messages (#18256) (Nicholas C. Zakas)de40874
feat: Rule Performance Statistics for flat ESLint (#17850) (Mara Kiefer)d85c436
feat: use-isnan report NaN inindexOf
andlastIndexOf
with fromIndex (#18225) (Tanuj Kanti)b8fb572
feat: addreportUnusedFallthroughComment
option to no-fallthrough rule (#18188) (Kirk Waiblinger)1c173dc
feat: addignoreClassWithStaticInitBlock
option tono-unused-vars
(#18170) (Tanuj Kanti)a451b32
feat: makeno-misleading-character-class
report more granular errors (#18082) (Francesco Trotta)c49ed63
feat: update complexity rule for optional chaining & default values (#18152) (Mathias Schreck)11144a2
feat:no-restricted-imports
option addedallowImportNames
(#16196) (M Pater)74124c2
feat: add suggestions touse-isnan
inindexOf
&lastIndexOf
calls (#18063) (StyleShit)53f0f47
feat: Add loadESLint() API method for v9 (#18097) (Nicholas C. Zakas)2d11d46
feat: add suggestions touse-isnan
in binary expressions (#17996) (StyleShit)26093c7
feat: fix false negatives inno-this-before-super
(#17762) (Yosuke Ota)5471e43
feat: convert unsafe autofixes to suggestions inno-implicit-coercion
(#17985) (GΓΌrgΓΌn DayΔ±oΔlu)e3051be
feat: emit warning when.eslintignore
file is detected (#17952) (Nitin Kumar)a630edd
feat: maintain latest ecma version in ESLint (#17958) (Milos Djermanovic)b4e0503
feat: addno-useless-assignment
rule (#17625) (Yosuke Ot...
v9.0.0-rc.0
Breaking Changes
Features
b8fb572
feat: addreportUnusedFallthroughComment
option to no-fallthrough rule (#18188) (Kirk Waiblinger)
Bug Fixes
Documentation
239a7e2
docs: Clarify the description ofsort-imports
options (#18198) (gyeongwoo park)4769c86
docs: fix incorrect example inno-lone-blocks
(#18215) (Tanuj Kanti)5251327
docs: Update README (GitHub Actions Bot)1dc8618
docs: Update README (GitHub Actions Bot)
Build Related
Chores
297416d
chore: package.json update for eslint-9.0.0-rc.0 (#18223) (Francesco Trotta)d363c51
chore: package.json update for @eslint/js release (Jenkins)1b841bb
chore: fix some comments (#18213) (avoidaway)29c3595
chore: remove repetitive words (#18193) (cuithon)acc2e06
chore: Introduce Knip (#18005) (Lars Kappert)
v9.0.0-beta.2
Breaking Changes
Features
1c173dc
feat: addignoreClassWithStaticInitBlock
option tono-unused-vars
(#18170) (Tanuj Kanti)a451b32
feat: makeno-misleading-character-class
report more granular errors (#18082) (Francesco Trotta)c49ed63
feat: update complexity rule for optional chaining & default values (#18152) (Mathias Schreck)11144a2
feat:no-restricted-imports
option addedallowImportNames
(#16196) (M Pater)
Bug Fixes
e37153f
fix: improve error message for invalid rule config (#18147) (Nitin Kumar)af6e170
fix: stop linting files after an error (#18155) (Francesco Trotta)
Documentation
ba1c1bb
docs: Update README (GitHub Actions Bot)337cdf9
docs: Explain limitations of RuleTester fix testing (#18175) (Nicholas C. Zakas)c7abd89
docs: Explain Node.js version support (#18176) (Nicholas C. Zakas)d961eeb
docs: show red underlines in examples in rules docs (#18041) (Yosuke Ota)558274a
docs: Update README (GitHub Actions Bot)2908b9b
docs: Update release documentation (#18174) (Nicholas C. Zakas)1f1260e
docs: replace HackerOne link with GitHub advisory (#18165) (Francesco Trotta)e5ef3cd
docs: add inline cases condition inno-fallthrough
(#18158) (Tanuj Kanti)450d0f0
docs: fixignore
option docs (#18154) (Francesco Trotta)
Chores
v9.0.0-beta.1
Features
Bug Fixes
0cb4914
fix: validate options when comment with just severity enables rule (#18133) (Milos Djermanovic)
Documentation
5fe095c
docs: show v8.57.0 as latest version in dropdown (#18142) (Milos Djermanovic)7db5bb2
docs: Show prerelease version in dropdown (#18135) (Nicholas C. Zakas)73a5f06
docs: Update README (GitHub Actions Bot)f95cd27
docs: Disallow multiple rule configuration comments in the same example (#18116) (Milos Djermanovic)d8068ec
docs: Update link for schema examples (#18112) (Svetlana)
Build Related
Chores
32ffdd1
chore: upgrade @eslint/js@9.0.0-beta.1 (#18146) (Milos Djermanovic)e41425b
chore: package.json update for @eslint/js release (Jenkins)bb3b9c6
chore: upgrade @eslint/eslintrc@3.0.2 (#18145) (Milos Djermanovic)e462524
chore: upgrade eslint-release@3.2.2 (#18138) (Milos Djermanovic)8e13a6b
chore: fix spelling mistake in README.md (#18128) (Will Eastcott)66f52e2
chore: remove unused tools rule-types.json, update-rule-types.js (#18125) (Josh Goldberg β¨)bf0c7ef
ci: fix sync-labels value of pr-labeler (#18124) (Tanuj Kanti)cace6d0
ci: add PR labeler action (#18109) (Nitin Kumar)1a65d3e
chore: exportbase
config fromeslint-config-eslint
(#18119) (Milos Djermanovic)9aa4df3
refactor: removeglobals
dependency (#18115) (Milos Djermanovic)
v8.57.0
Features
1120b9b
feat: Add loadESLint() API method for v8 (#18098) (Nicholas C. Zakas)dca7d0f
feat: Enableeslint.config.mjs
andeslint.config.cjs
(#18066) (Nitin Kumar)
Bug Fixes
2196d97
fix: handle absolute file paths inFlatRuleTester
(#18064) (Nitin Kumar)69dd1d1
fix: Ensure config keys are printed for config errors (#18067) (Nitin Kumar)9852a31
fix: deep merge behavior in flat config (#18065) (Nitin Kumar)4c7e9b0
fix: allow circular references in config (#18056) (Milos Djermanovic)
Documentation
84922d0
docs: Show prerelease version in dropdown (#18139) (Nicholas C. Zakas)5b8c363
docs: Switch to Ethical Ads (#18117) (Milos Djermanovic)77dbfd9
docs: show NEXT in version selectors (#18052) (Milos Djermanovic)