Skip to content

Releases: typescript-eslint/typescript-eslint

v8.48.1

02 Dec 08:44

Choose a tag to compare

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

24 Nov 17:04

Choose a tag to compare

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 aaa error message and change analyze to expects Program (#11747)
  • typescript-estree: infers singleRun as true for project service (#11327)
  • typescript-estree: disallow binding patterns in parameter properties (#11760)

❤️ Thank You

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

v8.47.0

17 Nov 17:05

Choose a tag to compare

8.47.0 (2025-11-17)

🚀 Features

  • eslint-plugin: [no-unused-private-class-members] new extension rule (#10913)

❤️ Thank You

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

v8.46.4

10 Nov 17:05

Choose a tag to compare

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 projectService and project are set (#11333)

❤️ Thank You

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

v8.46.3

03 Nov 17:04

Choose a tag to compare

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

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

v8.46.2

20 Oct 17:04

Choose a tag to compare

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

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

v8.46.1

13 Oct 17:04

Choose a tag to compare

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 .finally not 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

06 Oct 17:05

Choose a tag to compare

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: void and 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 abstract modifier in object methods (#11656)
  • typescript-estree: forbid abstract method and accessor to have implementation (#11657)

❤️ Thank You

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

v8.45.0

29 Sep 17:06

Choose a tag to compare

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

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

v8.44.1

22 Sep 17:04

Choose a tag to compare

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

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