Releases: typescript-eslint/typescript-eslint
Releases · typescript-eslint/typescript-eslint
v8.48.1
8.48.1 (2025-12-02)
⏪ Reverts
- eslint-plugin: revert "[no-redundant-type-constituents] use assignability checking for redundancy checks (#10744)" (#11812)
🩹 Fixes
- eslint-plugin: [consistent-type-exports] check value flag before resolving alias (#11769)
- eslint-plugin: honor ignored base types on generic classes (#11767)
- eslint-plugin: [restrict-template-expressions] check base types in allow list (#11764, #11759)
❤️ Thank You
- Josh Goldberg
- OleksandraKordonets
- SangheeSon @Higangssh
- tao
You can read about our versioning strategy and releases on our website.
v8.48.0
8.48.0 (2025-11-24)
🚀 Features
- eslint-plugin: [no-redundant-type-constituents] use assignability checking for redundancy checks (#10744)
- rule-tester: remove workaround for jest circular structure error (#11772)
- typescript-estree: gate all errors behind allowInvalidAST (#11693)
- typescript-estree: replace fast-glob with tinyglobby (#11740)
🩹 Fixes
- eslint-plugin: [consistent-generic-constructors] ignore when constructor is typed array (#10477)
- scope-manager: change unhelpful
aaaerror message and changeanalyzeto expectsProgram(#11747) - typescript-estree: infers singleRun as true for project service (#11327)
- typescript-estree: disallow binding patterns in parameter properties (#11760)
❤️ Thank You
- Ben McCann @benmccann
- Dima Barabash @dbarabashh
- fisker Cheung @fisker
- James Henry @JamesHenry
- JamesHenry @JamesHenry
- Josh Goldberg
- Josh Goldberg ✨
- Kirk Waiblinger @kirkwaiblinger
- mdm317 @gen-ip-1
- Younsang Na @nayounsang
You can read about our versioning strategy and releases on our website.
v8.47.0
8.47.0 (2025-11-17)
🚀 Features
- eslint-plugin: [no-unused-private-class-members] new extension rule (#10913)
❤️ Thank You
- Brad Zacher @bradzacher
You can read about our versioning strategy and releases on our website.
v8.46.4
8.46.4 (2025-11-10)
🩹 Fixes
- eslint-plugin: [no-deprecated] fix double-report on computed literal identifiers (#11006, #10958)
- eslint-plugin: handle override modifier in promise-function-async fixer (#11730)
- parser: error when both
projectServiceandprojectare set (#11333)
❤️ Thank You
- Evgeny Stepanovych @undsoft
- Kentaro Suzuki @sushichan044
- Maria Solano @MariaSolOs
You can read about our versioning strategy and releases on our website.
v8.46.3
8.46.3 (2025-11-03)
🩹 Fixes
- eslint-plugin: [no-misused-promises] expand union type to retrieve target property (#11706)
- eslint-plugin: [no-duplicate-enum-values] support signed numbers (#11722, #11723)
❤️ Thank You
- Evgeny Stepanovych @undsoft
- tao
You can read about our versioning strategy and releases on our website.
v8.46.2
8.46.2 (2025-10-20)
🩹 Fixes
- eslint-plugin: [prefer-optional-chain] skip optional chaining when it could change the result (#11702)
- typescript-estree: forbid invalid modifiers in object methods (#11689)
❤️ Thank You
- fisker Cheung @fisker
- mdm317
You can read about our versioning strategy and releases on our website.
v8.46.1
8.46.1 (2025-10-13)
🩹 Fixes
- ast-spec: cleanup
TSLiteralType(#11624) - eslint-plugin: [prefer-optional-chain] include mixed "nullish comparison style" chains in checks (#11533)
- eslint-plugin: [no-misused-promises] special-case
.finallynot to report when a promise returning function is provided as an argument (#11667)
❤️ Thank You
- Abraham Guo
- mdm317
- Ronen Amiel
You can read about our versioning strategy and releases on our website.
v8.46.0
8.46.0 (2025-10-06)
🚀 Features
- eslint-plugin: [no-unsafe-member-access] add allowOptionalChaining option (#11659)
- eslint-plugin-internal: [no-dynamic-tests] new internal Lint rule to ban dynamic syntax in generating tests (#11323)
- rule-schema-to-typescript-types: clean up and make public (#11633)
- typescript-eslint: export util types (#10848, #10849)
- typescript-estree: mention file specifics in project service allowDefaultProject error (#11635)
- typescript-estree: private identifiers can only appear on LHS of in expressions (#9232)
🩹 Fixes
- eslint-plugin: [no-floating-promises] remove excess parentheses in suggestions (#11487)
- eslint-plugin: [unbound-method] improve wording around
this: voidand binding (#11634) - eslint-plugin: [no-deprecated] ignore deprecated
export imports (#11603) - eslint-plugin: removed error type previously deprecated (#11674)
- eslint-plugin: [prefer-readonly-parameter-types] ignore tagged primitives (#11660)
- rule-tester: deprecate TestCaseError#type and LintMessage#nodeType (#11628)
- typescript-estree: forbid
abstractmodifier in object methods (#11656) - typescript-estree: forbid abstract method and accessor to have implementation (#11657)
❤️ Thank You
- fisker Cheung @fisker
- Josh Goldberg ✨
- Joshua Chen
- Kirk Waiblinger @kirkwaiblinger
- Mark de Dios @peanutenthusiast
- Mister-Hope @Mister-Hope
- Richard Torres @richardtorres314
- Victor Genaev @mainframev
- Younsang Na @nayounsang
You can read about our versioning strategy and releases on our website.
v8.45.0
8.45.0 (2025-09-29)
🚀 Features
- eslint-plugin: expose rule name via RuleModule interface (#11616)
🩹 Fixes
- disable generating declaration maps (#11627)
- ast-spec: narrow ArrowFunctionExpression.generator to false (#11636)
- eslint-plugin: [no-base-to-string] check if superclass is ignored (#11617)
- eslint-plugin: [prefer-nullish-coalescing] ignoreBooleanCoercion should not apply to top-level ternary expressions (#11614)
❤️ Thank You
- Bjorn Lu
- Josh Goldberg ✨
- mdm317
- Moses Odutusin @thebolarin
- Yukihiro Hasegawa @y-hsgw
You can read about our versioning strategy and releases on our website.
v8.44.1
8.44.1 (2025-09-22)
🩹 Fixes
- eslint-plugin: [no-base-to-string] make ignoredTypeNames match type names without generics (#11597)
- eslint-plugin: [no-unsafe-enum-comparison] support unions of literals (#11599)
- eslint-plugin: [await-thenable] should not report passing values to promise aggregators which may be a promise in an array literal (#11611)
- typescript-estree: forbid class property with name
constructor(#11590)
❤️ Thank You
- fisker Cheung @fisker
- Kirk Waiblinger @kirkwaiblinger
- mdm317
- Ronen Amiel
You can read about our versioning strategy and releases on our website.