What’s New

typescript-eslint

Developer Tools

typescript-eslint release notes.

Latest v8.65.0 · by typescript-eslintWebsitetypescript-eslint/typescript-eslint

Changelog

v8.65.0

Added
  • Add warning when TypeScript 7 is detected
  • Add specialized error on enum declaration and member shadowing in no-shadow rule
  • Add onUnsupportedTypeScriptVersion option to parser to error on unsupported TypeScript versions
  • Throw for invalid import defer syntax in typescript-estree
Fixed
  • Handle escaped $ ending regex literals in prefer-string-starts-ends-with rule
  • Report unbound methods accessed via member expression on union types in unbound-method rule
  • Don't flag computed assignments with a variable key in no-unnecessary-parameter-property-assignment rule
Deprecated
  • Deprecate no-restricted-imports extension rule
8.65.0 (2026-07-20)
🚀 Features
  • add warning when TS 7 is detected (#12529)
  • eslint-plugin: [no-restricted-imports] deprecate extension rule (#12527, #19562, #11889)
  • eslint-plugin: [no-shadow] specialized error on enum declaration and member shadowing (#12578)
  • parser: add onUnsupportedTypeScriptVersion option to error on unsupported TypeScript versions (#12465)
  • typescript-estree: throw for invalid import defer syntax (#12552)
🩹 Fixes
  • eslint-plugin: [prefer-string-starts-ends-with] handle escaped $ ending regex literals (#12515)
  • eslint-plugin: [unbound-method] report unbound methods accessed via member expression on union types (#12448)
  • eslint-plugin: [no-unnecessary-parameter-property-assignment] don't flag computed assignments with a variable key (#12568)
❤️ Thank You
  • Evyatar Daud @StyleShit
  • Josh Goldberg ✨
  • Kirk Waiblinger @kirkwaiblinger
  • Serhii Leniv @Serhii-Leniv
  • 송재욱

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.64.0

Added
  • Support parsing `import defer`
  • Support `using` / `await using` declarations in no-loop-func rule
  • Throw for invalid definite assignment in class properties in typescript-estree
Fixed
  • Handle constrained arrays in require-array-sort-compare rule
Deprecated
  • Deprecate the no-loop-func rule
8.64.0 (2026-07-13)
🚀 Features
  • support parsing import defer (#12513)
  • eslint-plugin: [no-loop-func] support using / await using declarations and deprecate the rule (#12500)
  • typescript-estree: throw for invalid definite assignment in class properties (#12543)
🩹 Fixes
  • eslint-plugin: [require-array-sort-compare] handle constrained arrays (#12512)
❤️ Thank You
  • Evyatar Daud @StyleShit
  • 송재욱

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.63.0

Added
  • eslint-plugin [no-misused-promises] detect async usage of a sync dispose usage
  • scope-manager export ClassStaticBlockScope
Fixed
  • eslint-plugin [method-signature-style] suggest converting readonly function properties instead of emitting invalid syntax
  • eslint-plugin [no-unnecessary-type-assertion] handle optional-chained calls to overloaded functions
  • eslint-plugin [no-base-to-string] don't flag a shadowed String() call
8.63.0 (2026-07-06)
🚀 Features
  • eslint-plugin: [no-misused-promises] detect async usage of a sync dispose usage (#12426)
🩹 Fixes
  • eslint-plugin: [method-signature-style] suggest converting readonly function properties instead of emitting invalid syntax (#12447, #12446)
  • eslint-plugin: [no-unnecessary-type-assertion] handle optional-chained calls to overloaded functions (#12491, #12485)
  • eslint-plugin: [no-base-to-string] don't flag a shadowed String() call (#12492)
  • scope-manager: export ClassStaticBlockScope (#12460)
❤️ Thank You
  • Evyatar Daud @StyleShit
  • Kristjan @KristjanTammekivi
  • Michael Naumov @mnaoumov
  • Serhii Leniv @Serhii-Leniv
  • 송재욱

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.62.1

Fixed
  • eslint-plugin: [prefer-optional-chain] use suggestion instead of autofix for trailing binary operator
  • eslint-plugin: [no-unnecessary-boolean-literal-compare] preserve boolean result in fixer for nullable true comparisons
  • eslint-plugin: [no-unnecessary-type-assertion] parenthesize object literal at left edge of expression statement
8.62.1 (2026-06-29)
🩹 Fixes
  • eslint-plugin: [prefer-optional-chain] use suggestion instead of autofix for trailing binary operator (#12328)
  • eslint-plugin: [no-unnecessary-boolean-literal-compare] preserve boolean result in fixer for nullable true comparisons (#12365)
  • eslint-plugin: [no-unnecessary-type-assertion] parenthesize object literal at left edge of expression statement (#12443, #12418)
❤️ Thank You
  • Kirk Waiblinger @kirkwaiblinger
  • mdm317
  • Patrick Aleite
  • 송재욱

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.62.0

Changed
  • Remove redundant package.json "files"
Fixed
  • Add "files" to rule-schema-to-typescript-types
8.62.0 (2026-06-22)
🚀 Features
  • remove redundant package.json "files" (#12444)
🩹 Fixes
  • add "files" to rule-schema-to-typescript-types (#12441)
❤️ Thank You
  • Kirk Waiblinger @kirkwaiblinger

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.61.1

Fixed
  • [consistent-indexed-object-style] do not remove comments when fixing
  • [no-unnecessary-type-assertion] avoid false positive for template literal expressions
  • [no-unnecessary-type-assertion] wrap object literal in parens when removing TSTypeAssertion in arrow body
  • [no-unnecessary-boolean-literal-compare] fix precedence bug in autofix
  • [no-unnecessary-template-expression] respect ECMAScript line terminators
8.61.1 (2026-06-15)
🩹 Fixes
  • eslint-plugin: [consistent-indexed-object-style] do not remove comments when fixing (#12396, #10577)
  • eslint-plugin: [no-unnecessary-type-assertion] avoid false positive for template literal expressions (#12281)
  • eslint-plugin: [no-unnecessary-type-assertion] wrap object literal in parens when removing TSTypeAssertion in arrow body (#12394, #12393)
  • eslint-plugin: [no-unnecessary-boolean-literal-compare] fix precedence bug in autofix (#12413)
  • eslint-plugin: [no-unnecessary-template-expression] respect ECMAScript line terminators (#12388)
❤️ Thank You
  • Anas @anasm266
  • Deftera @Deftera186
  • Kirk Waiblinger @kirkwaiblinger
  • lumir
  • Sarath Francis @sarathfrancis90

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.61.0

Changed
  • Change type of UnaryExpression.prefix to always true
  • Tighten types of ArrowFunction, YieldExpression, TSTypePredicate
Fixed
  • Respect ECMAScript line terminators in rule-schema-to-typescript-types
8.61.0 (2026-06-08)
🚀 Features
  • ast-spec: change type of UnaryExpression.prefix to always true (#12372)
  • ast-spec: tighten types of ArrowFunction, YieldExpression, TSTypePredicate (#12373)
🩹 Fixes
  • rule-schema-to-typescript-types: respect ECMAScript line terminators (#12374)
❤️ Thank You
  • Kirk Waiblinger @kirkwaiblinger
  • lumir

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.60.1

Fixed
  • eslint-plugin: respect ECMAScript line terminators in ts-comment rules
  • eslint-plugin: correct no-shadow rule to match ESLint v10 handling
8.60.1 (2026-06-01)
🩹 Fixes
  • eslint-plugin: respect ECMAScript line terminators in ts-comment rules (#12352)
  • eslint-plugin: [no-shadow] correct rule to match ESLint v10 handling (#12182)
❤️ Thank You
  • lumir
  • Nevette Bailey @nevette-bailey

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.60.0

Added
  • Add updates of RuleTester from upstream
Fixed
  • Fix playground TS version selector not working
8.60.0 (2026-05-25)
🚀 Features
  • rule-tester: added updates of RuleTester from upstream (#12291)
🩹 Fixes
  • playground TS version selector is not working (#12326, #12325)
❤️ Thank You
  • Evyatar Daud @StyleShit
  • Vinccool96

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.59.4

Fixed
  • Fix stack overflow in eslint-plugin no-floating-promises rule when using recursive types
  • Fix project-service to throw error cause in getParsedConfigFileFromTSServer
  • Export Compatible* types from typescript-eslint to resolve pnpm TS error
8.59.4 (2026-05-18)
🩹 Fixes
  • eslint-plugin: [no-floating-promises] stack overflow when using recursive types (#12294)
  • project-service: throw error cause in getParsedConfigFileFromTSServer (#12321)
  • typescript-eslint: export Compatible* types from typescript-eslint to resolve pnpm TS error (#12340)
❤️ Thank You
  • Evyatar Daud @StyleShit
  • Kirk Waiblinger @kirkwaiblinger
  • lumir

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.