Releases: typescript-eslint/typescript-eslint
v8.59.0
8.59.0 (2026-04-20)
🚀 Features
- eslint-plugin: [no-unnecessary-type-assertion] report more cases based on assignability (#11789)
❤️ Thank You
- Ulrich Stark
See GitHub Releases for more information.
You can read about our versioning strategy and releases on our website.
v8.58.2
8.58.2 (2026-04-13)
🩹 Fixes
- remove tsbuildinfo cache file from published packages (#12187)
- eslint-plugin: [no-unnecessary-condition] use assignability checks in checkTypePredicates (#12147)
❤️ Thank You
- Abhijeet Singh @cseas
- 송재욱
See GitHub Releases for more information.
You can read about our versioning strategy and releases on our website.
v8.58.1
8.58.1 (2026-04-08)
🩹 Fixes
- eslint-plugin: [no-unused-vars] fix false negative for type predicate parameter (#12004)
❤️ Thank You
- MinJae @Ju-MINJAE
See GitHub Releases for more information.
You can read about our versioning strategy and releases on our website.
v8.58.0
8.58.0 (2026-03-30)
🚀 Features
- support TypeScript 6 (#12124)
🩹 Fixes
- eslint-plugin: crash in
no-unnecessary-type-arguments(#12163) - eslint-plugin: [no-extraneous-class] handle index signatures (#12142)
- eslint-plugin: [prefer-regexp-exec] avoid fixing unknown RegExp flags (#12161)
❤️ Thank You
- ej shafran @ej-shafran
- Evyatar Daud @StyleShit
- GG ZIBLAKING
- milkboy2564 @SeolJaeHyeok
- teee32 @teee32
See GitHub Releases for more information.
You can read about our versioning strategy and releases on our website.
v8.57.2
8.57.2 (2026-03-23)
🩹 Fixes
- eslint-plugin: [prefer-optional-chain] remove dangling closing parenthesis (#11865)
- eslint-plugin: [array-type] ignore Array and ReadonlyArray without type arguments (#11971)
- eslint-plugin: [no-restricted-types] flag banned generics in extends or implements (#12120)
- eslint-plugin: [no-unsafe-return] false positive on unwrapping generic (#12125)
- eslint-plugin: [no-unsafe-return] false positive on unwrapping generic (#12125)
- eslint-plugin: [no-useless-default-assignment] skip reporting false positives for unresolved type parameters (#12127)
- eslint-plugin: [prefer-readonly-parameter-types] preserve type alias infomation (#11954)
- typescript-estree: skip createIsolatedProgram fallback for projectService (#12066, #12065)
❤️ Thank You
- Kirk Waiblinger @kirkwaiblinger
- Konv Suu
- mdm317
- Newton Yuan @NewtonYuan
- RyoheiYamamoto
- SungHyun627 @SungHyun627
- Tamashoo @Tamashoo
See GitHub Releases for more information.
You can read about our versioning strategy and releases on our website.
v8.57.1
8.57.1 (2026-03-16)
🩹 Fixes
- eslint-plugin: [prefer-optional-chain] no report for property on intersection type (#12126)
❤️ Thank You
- Newton Yuan @NewtonYuan
See GitHub Releases for more information.
You can read about our versioning strategy and releases on our website.
v8.57.0
8.57.0 (2026-03-09)
🚀 Features
- eslint-plugin: [no-unnecessary-condition] allow literal loop conditions in for/do loops (#12080)
🩹 Fixes
- eslint-plugin: [strict-void-return] false positives with overloads (#12055)
- eslint-plugin: handle statically analyzable computed keys in prefer-readonly (#12079)
- eslint-plugin: guard against negative paramIndex in no-useless-default-assignment (#12077)
- eslint-plugin: [prefer-promise-reject-errors] add allow
TypeOrValueSpecifierto prefer-promise-reject-errors (#12094) - eslint-plugin: [no-base-to-string] fix false positive for toString with overloads (#12089)
- typescript-estree: switch back to use
ts.getModifiers()(#12034) - typescript-estree: if the template literal is tagged and the text has an invalid escape,
cookedwill benull(#11355)
❤️ Thank You
- Brad Zacher @bradzacher
- Brian Schlenker @bschlenk
- Evyatar Daud @StyleShit
- fisker Cheung @fisker
- James Henry @JamesHenry
- Josh Goldberg
- Kirk Waiblinger @kirkwaiblinger
- Moses Odutusin @thebolarin
- Newton Yuan @NewtonYuan
- SungHyun627 @SungHyun627
- Younsang Na @nayounsang
See GitHub Releases for more information.
You can read about our versioning strategy and releases on our website.
v8.56.1
8.56.1 (2026-02-23)
What's Changed
- chore(deps): update dependency minimatch to v10.2.2 by @benmccann in #12074
You can read about our versioning strategy and releases on our website.
v8.56.0
8.56.0 (2026-02-16)
🚀 Features
- support ESLint v10 (#12057)
🩹 Fixes
- use parser options from context.languageOptions (#12043)
❤️ Thank You
- Brad Zacher @bradzacher
- fnx @DMartens
- Joshua Chen
See GitHub Releases for more information.
You can read about our versioning strategy and releases on our website.
v8.55.0
8.55.0 (2026-02-09)
🚀 Features
- utils: deprecate defaultOptions in favor of meta.defaultOptions (#11992)
🩹 Fixes
- eslint-plugin: [no-unused-vars] remove trailing newline when removing entire import (#11990)
- eslint-plugin: [no-useless-default-assignment] require strictNullChecks (#11966, #12000)
- eslint-plugin: [no-useless-default-assignment] report unnecessary defaults in ternary expressions (#11984)
- eslint-plugin: [no-useless-default-assignment] reduce param index to ts this handling (#11949)
- typescript-estree: forbid invalid modifier in object expression (#11931)
❤️ Thank You
- Christian Rose @chrros95
- fisker Cheung @fisker
- Josh Goldberg
- Maria Solano @MariaSolOs
- Minyeong Kim @minyeong981
- SungHyun627 @SungHyun627
- Yukihiro Hasegawa @y-hsgw
See GitHub Releases for more information.
You can read about our versioning strategy and releases on our website.