Skip to content

Releases: typescript-eslint/typescript-eslint

v8.3.0

26 Aug 17:16
Compare
Choose a tag to compare

8.3.0 (2024-08-26)

🚀 Features

  • eslint-plugin: [no-deprecated] add rule (#9783)
  • typescript-estree: replace globby w/ fast-glob (#9518)
  • typescript-estree: reload project service once when file config isn't found (#9853)

🩹 Fixes

  • ast-spec: use Expression in argument of ThrowStatement (#9632)
  • eslint-plugin: [no-unnecessary-template-expression] add missing parentheses in autofix (#8673)
  • eslint-plugin: [no-unnecessary-type-parameters] check mapped alias type arguments (#9741)
  • utils: add missing TSSatisfiesExpression in RuleListenerBaseSelectors (#9832)
  • utils: add TSDeclareFunction to functionTypeTypes (#9788)

❤️ Thank You

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

v8.2.0

19 Aug 17:17
Compare
Choose a tag to compare

8.2.0 (2024-08-19)

🚀 Features

  • eslint-plugin: add suggestion to require-await to remove async keyword (#9718)
  • typescript-estree: special-case error for parserOptions.project and project references (#9686)

🩹 Fixes

  • eslint-plugin: [use-unknown-in-catch-callback-variable] flag second argument of .then (#9059)
  • eslint-plugin: [no-unnecessary-type-assertion] conflict with TS for variables used before assignment (#9209)
  • eslint-plugin: delete [] in message if ReadOnly<string[]> is detected (#9513)
  • eslint-plugin: [no-redundant-type-constituents] differentiate a types-error any from a true any (#9555)
  • eslint-plugin: [no-unnecessary-type-parameters] check mapped constraint types if necessary (#9740)
  • eslint-plugin: [no-unsafe-enum-comparison] add logic to see through intersections (#9777)
  • typescript-estree: pass in tsconfigRootDir as cwd to getParsedConfigFile (#9804)

❤️ Thank You

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

v8.1.0

12 Aug 17:16
Compare
Choose a tag to compare

8.1.0 (2024-08-12)

🚀 Features

  • eslint-plugin: [no-floating-promises] enable "add await" suggestion if ignoreVoid is true (#9703)
  • eslint-plugin: [no-unsafe-return] check promise any (#8693)
  • eslint-plugin: [no-misused-promises] check subtype methods against heritage type methods (#8765)
  • typescript-eslint: add JSDoc comments on generated configs (#9672)
  • typescript-estree: restrict variable declarator definite/init combinations (#9228)

🩹 Fixes

  • eslint-plugin: [no-unsafe-enum-comparison] typo in test (#9779)
  • eslint-plugin: [no-unnecessary-type-parameters] skip checking function bodies for AST references (#9738)
  • eslint-plugin: [member-ordering] get accessor member name & take into account abstract and decorator (#9775)
  • eslint-plugin: [prefer-optional-chain] wrong parenthesis fix output (#9597)
  • eslint-plugin: [no-unnecessary-type-parameters] clarify message (#9737)
  • utils: correct types to align with @types/eslint v9 (#9657)
  • website: tsconfig is blank (#9745)

❤️ Thank You

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

v8.0.1

05 Aug 17:16
Compare
Choose a tag to compare

8.0.1 (2024-08-05)

🩹 Fixes

  • eslint-plugin: [no-unused-vars] ignore imports used only as types (#9694)

❤️ Thank You

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

v8.0.0

31 Jul 18:00
Compare
Choose a tag to compare

8.0.0 (2024-07-31)

⚠️ Breaking Changes

  • typescript-estree: split TSMappedType typeParameter into constraint and key (#7065)
  • parser: always enable comment, loc, range, tokens (#8617)
  • eslint-plugin: [prefer-nullish-coalescing] change ignoreConditionalTests default to true (#8872)
  • typescript-estree: enable dot globs for project by default (#8818)
  • eslint-plugin: deprecate no-loss-of-precision extension rule (#8832)
  • eslint-plugin: remove formatting/layout rules (#8833)
  • typescript-estree: remove slow deprecated and isolated programs (#8834)
  • typescript-estree: add TSEnumBody node for TSEnumDeclaration body (#8920)
  • typescript-estree: rename automaticSingleRunInference to disallowAutomaticSingleRunInference (#8922)
  • ast-spec: remove deprecated type params (#8933)
  • type-utils: remove IsNullableTypeOptions interface (#8934)
  • eslint-plugin: [no-unused-vars] align catch behavior to ESLint 9 (#8971)
  • utils: swap LegacyESLint out for FlatESLint as ESLint export (#8972)
  • eslint-plugin: split no-empty-object-type out from ban-types and no-empty-interfaces (#8977)
  • utils: allow specifying additional rule meta.docs in RuleCreator (#9025)
  • eslint-plugin: apply initial config changes for v8 (#9079)
  • eslint-plugin: replace ban-types with no-restricted-types, no-unsafe-function-type, no-wrapper-object-types (#9102)
  • typescript-estree: remove EXPERIMENTAL_useSourceOfProjectReferenceRedirect (#9104)
  • eslint-plugin: remove no-useless-template-literals (#9207)
  • type-utils: remove getTokenAtPosition (#9444)
  • eslint-plugin: [no-floating-promises] disable checkThenables by default for v8 (#9559)
  • rule-tester: switched to flat config (#9603)

🚀 Features

  • stricter parent types for the AST (#9560)
  • speed up non-type-aware linting with project service (#8322)
  • v8 integration branch (#9165)
  • eslint-plugin: remove deprecated no-throw-literal rule (#9092)
  • eslint-plugin: [no-floating-promises] add 'allowForKnownSafeCalls' option (#9234)
  • eslint-plugin: [no-unused-vars] add reportUnusedIgnorePattern option (#9324)
  • eslint-plugin: [no-unused-vars] support ignoreClassWithStaticInitBlock (#9325)
  • eslint-plugin: [no-unused-vars] handle comma operator for assignments, treat for-of the same as for-in (#9326)
  • eslint-plugin: [no-unused-vars] report if var used only in typeof (#9330)
  • eslint-plugin: [return-await] add return-await to strict-type-checked preset (#9604)
  • eslint-plugin: [no-unnecessary-type-parameters] promote to strict (#9662)
  • rule-tester: support multipass fixes (#8883)
  • type-utils: support intersection types in TypeOrValueSpecifier (#9633)
  • typescript-estree: stabilize EXPERIMENTAL_useProjectService as projectService (#9084)
  • typescript-estree: also remove projectService in withoutProjectParserOptions (#9287)
  • typescript-estree: exposes ProjectService logs through the plugin (#9337)
  • utils: add Linter configType constructor option (#8999)
  • utils: remove deprecated context helpers (#9000)

🩹 Fixes

  • correct eslint-plugin's peerDependency on parser@8 (#9089)
  • bring back in allowdefaultprojectforfiles rename (7dfceeeea)
  • disable projectService in disabled-type-checked shared config (#9460)
  • eslint-plugin: include alpha pre-releases in parser peer dependency (#9099)
  • eslint-plugin: correct rules.d.ts types to not rely on non-existent imports (#9339)
  • eslint-plugin: remove duplicate import RuleModuleWithMetaDocs (#9465)
  • eslint-plugin: [no-unnecessary-template-expression] do not render escaped strings in autofixes (#8688)
  • eslint-plugin: [no-unused-vars] incorporate upstream changes around caught errors report messages (#9532)
  • eslint-plugin: [no-misused-promises] perf: avoid getting types of variables/functions if the annotated type is obviously not a function (#9656)
  • rule-tester: set configType to eslintrc in Linter options (#9178)
  • rule-tester: re-apply updates from main (#9180)
  • rule-tester: provide Linter a cwd in its constructor (#9678)
  • type-utils: also check declared modules for package names in TypeOrValueSpecifier (#9500)
  • types: allow ProjectServiceOptions for projectService (#9318)
  • typescript-estree: pass extraFileExtensions to projectService (#9051)
  • typescript-estree: only run projectService setHostConfiguration when needed (#9336)
  • typescript-estree: specific error for parserOptions.project not including a file (#9584)
  • typescript-estree: adds support for project services using extended config files (#9306)
  • typescript-estree: factor tsconfigRootDir into allowDefaultProject (#9675)

❤️ Thank You

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

v7.18.0

29 Jul 17:16
Compare
Choose a tag to compare

7.18.0 (2024-07-29)

🚀 Features

  • types: update ECMA versions (#9634)

🩹 Fixes

  • eslint-plugin: [no-unnecessary-type-assertion] prevent runtime error when asserting a variable declared in default TS lib (#9660)
  • eslint-plugin: [unbound-method] report on destructuring in function parameters (#8952)
  • eslint-plugin: [no-duplicate-type-constituents] shouldn't report on error types (#9600)
  • eslint-plugin: [strict-boolean-expressions] support branded booleans (#9297)

❤️ Thank You

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

v7.17.0

22 Jul 17:16
Compare
Choose a tag to compare

7.17.0 (2024-07-22)

🚀 Features

  • eslint-plugin: backport no-unsafe-function type, no-wrapper-object-types from v8 to v7 (#9507)
  • eslint-plugin: [return-await] add option to report in error-handling scenarios only, and deprecate "never" (#9364)

🩹 Fixes

  • eslint-plugin: [no-floating-promises] check top-level type assertions (and more) (#9043)
  • eslint-plugin: [strict-boolean-expressions] consider assertion function argument a boolean context (#9074)
  • eslint-plugin: [no-unnecessary-condition] false positive on optional private field (#9602)
  • typescript-estree: don't infer single-run when --fix is in proces.argv (#9577)
  • typescript-estree: disable single-run inference with extraFileExtensions (#9580)
  • website: expose ATA types to eslint instance (#9598)

❤️ Thank You

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

v7.16.1

15 Jul 17:15
Compare
Choose a tag to compare

7.16.1 (2024-07-15)

🩹 Fixes

  • eslint-plugin: [no-unnecessary-type-parameters] descend into all parts of mapped types in no-unnecessary-type-parameters (#9530)

❤️ Thank You

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

v7.16.0

08 Jul 17:15
Compare
Choose a tag to compare

7.16.0 (2024-07-08)

🚀 Features

  • ast-spec: add parent property to AccessorProperty node types (#9487)
  • eslint-plugin: [no-unnecessary-type-parameters] port from v8 to v7 (#9473)
  • eslint-plugin: [no-unnecessary-parameter-property-assignment] add new rule (#8903)
  • eslint-plugin: add support for nested namespaces to unsafe-member-access (#9478)
  • eslint-plugin: [no-floating-promises] add checkThenables option (#9263)
  • rule-tester: stricter rule test validations (#9086)

🩹 Fixes

  • deps: update dependency @eslint-community/regexpp to v4.11.0 (#9497)
  • eslint-plugin: [no-floating-promises] add suggestions to tests from #9263 checkThenables (#9515, #9263)
  • eslint-plugin: [restrict-template-expressions] don't report tuples if allowArray option is enabled (#9492)
  • utils: context.parserPath may be undefined (#9486)
  • website: react key error on internal pages of website (#9506)

❤️ Thank You

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

v7.15.0

01 Jul 17:16
Compare
Choose a tag to compare

7.15.0 (2024-07-01)

🚀 Features

  • eslint-plugin: [array-type] detect Readonly<string[]> case (#8752)
  • eslint-plugin: back-port new rules around empty object types from v8 (#9443)

🩹 Fixes

  • disable EXPERIMENTAL_useProjectService in disabled-type-checked shared config (#9459)
  • eslint-plugin: [no-unsafe-return] differentiate a types-error any from a true any (#9254)
  • eslint-plugin: [no-unsafe-call] differentiate a types-error any from a true any (#9304)
  • utils: clean outdated RuleTester export (#9322)

❤️ Thank You

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