typescript-eslint Release Notes

Last updated: Mar 31, 2026

  • Mar 30, 2026
    • Date parsed from source:
      Mar 30, 2026
    • First seen by Releasebot:
      Mar 31, 2026
    typescript-eslint logo

    typescript-eslint

    v8.58.0

    typescript-eslint supports TypeScript 6 and fixes several eslint-plugin crashes and rule issues.

    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.

    Original source Report a problem
  • Mar 23, 2026
    • Date parsed from source:
      Mar 23, 2026
    • First seen by Releasebot:
      Mar 24, 2026
    typescript-eslint logo

    typescript-eslint

    v8.57.2

    typescript-eslint releases 8.57.2 with fixes across eslint-plugin and typescript-estree, including cleaner prefer-optional-chain output, broader array and restricted-types checks, fewer no-unsafe-return false positives, and improved projectService handling.

    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.

    Original source Report a problem
  • All of your release notes in one feed

    Join Releasebot and get updates from typescript-eslint and hundreds of other software products.

  • Mar 16, 2026
    • Date parsed from source:
      Mar 16, 2026
    • First seen by Releasebot:
      Mar 16, 2026
    typescript-eslint logo

    typescript-eslint

    v8.57.1

    typescript-eslint releases 8.57.1 fixing eslint-plugin's prefer-optional-chain: no report for property on intersection type.

    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.

    Original source Report a problem
  • Mar 9, 2026
    • Date parsed from source:
      Mar 9, 2026
    • First seen by Releasebot:
      Mar 10, 2026
    typescript-eslint logo

    typescript-eslint

    v8.57.0

    typescript-eslint unveils 8.57.0 a release that adds a new eslint-plugin capability for allowing literal loop conditions in for and do loops, and ships fixes across overloads, computed keys and other edge cases, with contributor thank you notes.

    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 TypeOrValueSpecifier to 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, cooked will be null (#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.

    Original source Report a problem
  • Feb 23, 2026
    • Date parsed from source:
      Feb 23, 2026
    • First seen by Releasebot:
      Feb 24, 2026
    typescript-eslint logo

    typescript-eslint

    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.

    Original source Report a problem
  • Feb 16, 2026
    • Date parsed from source:
      Feb 16, 2026
    • First seen by Releasebot:
      Feb 16, 2026
    typescript-eslint logo

    typescript-eslint

    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.

    Original source Report a problem
  • Feb 9, 2026
    • Date parsed from source:
      Feb 9, 2026
    • First seen by Releasebot:
      Feb 9, 2026
    typescript-eslint logo

    typescript-eslint

    v8.55.0

    8.55.0 brings a new meta.defaultOptions deprecation and several ESLint/TypeScript tooling fixes, improving reliability and configurability. The release also highlights contributor thanks and directs you to GitHub Releases for full details and our versioning strategy.

    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.

    Original source Report a problem
  • Jan 26, 2026
    • Date parsed from source:
      Jan 26, 2026
    • First seen by Releasebot:
      Jan 27, 2026
    typescript-eslint logo

    typescript-eslint

    v8.54.0

    Eslint 8.54.0 delivers new rules and type aware shortcuts along with ScopeManager boosts and practical fixes. Highlights include prefer-tsutils-methods, ScopeManager#addGlobals, ParserServicesWithTypeInformation boosts, plus robust no-null-assertion checks and other fixes.

    8.54.0 (2026-01-26)

    🚀 Features

    • eslint-plugin-internal: add prefer-tsutils-methods rule (#11974, #11625)
    • scope-manager: support ScopeManager#addGlobals (#11914)
    • typescript-estree: add shortcut methods to ParserServicesWithTypeInformation (#11965, #11955)

    🩹 Fixes

    • eslint-plugin: [no-unused-private-class-members] private destructured class member is defined but used (#11785)
    • eslint-plugin: [no-unnecessary-type-assertion] check both base constraint and actual type for non-null assertions (#11967, #11559)
    • scope-manager: fix catch clause scopes def.name (#11982)
    • scope-manager: prevent misidentification of "use strict" directives (#11995)
    • utils: handle missing FlatESLint and LegacyESLint (#11958)

    ❤️ Thank You

    • Brad Zacher @bradzacher
    • fnx @DMartens
    • Francesco Trotta
    • Josh Goldberg
    • MinJae @Ju-MINJAE
    • Minyeong Kim @minyeong981
    • overlookmotel
    • Yuya Yoshioka @YuyaYoshioka
    • 김현수 @Kimsoo0119

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

    Original source Report a problem
  • Jan 19, 2026
    • Date parsed from source:
      Jan 19, 2026
    • First seen by Releasebot:
      Jan 19, 2026
    typescript-eslint logo

    typescript-eslint

    v8.53.1

    8.53.1 (2026-01-19)

    🩹 Fixes

    • eslint-plugin: [consistent-indexed-object-style] skip fixer if interface is a default export (#11951)
    • utils: make RuleCreator root defaultOptions optional (#11956)

    ❤️ Thank You

    Cameron

    Yukihiro Hasegawa @y-hsgw

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

    Original source Report a problem
  • Jan 12, 2026
    • Date parsed from source:
      Jan 12, 2026
    • First seen by Releasebot:
      Jan 13, 2026
    typescript-eslint logo

    typescript-eslint

    v8.53.0

    Release 8.53.0 adds new eslint-plugin rules and a fixer to remove unused imports, plus improved project-service typing and TypeScript ESTree fixes. It delivers stronger linting, safer type checks, and smoother parsing for your codebase.

    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

    • auvred @auvred
    • Brad Zacher @bradzacher
    • fisker Cheung @fisker
    • Josh Goldberg
    • Josh Goldberg ✨
    • Kirk Waiblinger
    • Niki @phaux
    • Nikita
    • SungHyun627 @SungHyun627
    • Will Harney @wjhsf

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

    Original source Report a problem

Related vendors