Skip to content

Releases: typescript-eslint/typescript-eslint

v8.53.0

12 Jan 17:07

Choose a tag to compare

8.53.0 (2026-01-12)

🚀 Features

  • eslint-plugin: [no-unused-vars] add a fixer to remove unused imports (#11922)
  • eslint-plugin: add rule [strict-void-return] (#9707)
  • project-service: allow passing Partial<ts.server.ServerHost> to project service (#11932)

🩹 Fixes

  • eslint-plugin: replace unclear "error typed" with more helpful description (#11704)
  • eslint-plugin: [no-useless-default-assignment] fix false positive for parameters corresponding to a rest parameter (#11916)
  • typescript-estree: forbid type-only import with both default and named specifiers (#11930)
  • typescript-estree: fix syntax check for using declaration (#11910)
  • typescript-estree: forbid invalid class implements (#11934)
  • typescript-estree: forbid invalid "import equals" declaration (#11936)
  • typescript-estree: forbid invalid extends and implements in interface declaration (#11935)

❤️ Thank You

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

v8.52.0

05 Jan 17:06

Choose a tag to compare

8.52.0 (2026-01-05)

🚀 Features

  • eslint-plugin-internal: [no-multiple-lines-of-errors] add rule (#11899)
  • typescript-estree: add tseslint.com redirects for CLI outputs (#11895)

🩹 Fixes

  • eslint-plugin: [no-useless-default-assignment] handle conditional initializer (#11908)
  • eslint-plugin: [no-base-to-string] detect @@toPrimitive and valueOf (#11901)

❤️ Thank You

  • Josh Goldberg ✨
  • Ulrich Stark

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

v8.51.0

29 Dec 17:04

Choose a tag to compare

8.51.0 (2025-12-29)

🚀 Features

  • eslint-plugin: expose rule name via RuleModule interface (#11719)
  • eslint-plugin: [no-useless-default-assignment] fix some cases to optional syntax (#11871)
  • eslint-plugin: add namespace to plugin meta (#11885)
  • tsconfig-utils: more informative error on parsing failures (#11888)

🩹 Fixes

  • eslint-plugin: fix crash and false positives in no-useless-default-assignment (#11845)
  • eslint-plugin: remove fixable from no-dynamic-delete rule (#11876)
  • eslint-plugin: bump ts-api-utils to 2.2.0 (#11881)
  • eslint-plugin: [prefer-optional-chain] handle MemberExpression in final chain position (#11835)

❤️ Thank You

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

v8.50.1

22 Dec 17:05

Choose a tag to compare

8.50.1 (2025-12-22)

🩹 Fixes

  • eslint-plugin: [method-signature-style] ignore methods that return this (#11813)
  • eslint-plugin: [no-unnecessary-type-assertion] correct handling of undefined vs. void (#11826)

❤️ Thank You

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

v8.50.0

15 Dec 17:07

Choose a tag to compare

8.50.0 (2025-12-15)

🚀 Features

  • eslint-plugin: [no-useless-default-assignment] add rule (#11720)

❤️ Thank You

  • Josh Goldberg ✨
  • Ulrich Stark

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

v8.49.0

08 Dec 17:05

Choose a tag to compare

8.49.0 (2025-12-08)

🚀 Features

  • eslint-plugin: use Intl.Segmenter instead of graphemer (#11804)

🩹 Fixes

  • deps: update dependency prettier to v3.7.2 (#11820)

❤️ Thank You

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

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.