typescript-eslint/typescript-eslint (@typescript-eslint/eslint-plugin)
### [`v8.16.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8160-2024-11-25)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.15.0...v8.16.0)
##### 🚀 Features
- **eslint-plugin:** \[no-base-to-string] check Array.prototype.join ([#10287](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10287))
- **eslint-plugin:** \[max-params] add function overload and function type support ([#10312](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10312))
##### ❤️ Thank You
- Kim Sang Du [@developer-bandi](https://redirect.github.com/developer-bandi)
- YeonJuan [@yeonjuan](https://redirect.github.com/yeonjuan)
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.15.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8150-2024-11-18)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.14.0...v8.15.0)
##### 🚀 Features
- **eslint-plugin:** \[prefer-nullish-coalescing] fix detection of `ignoreConditionalTests` involving boolean `!` operator ([#10299](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10299))
- **eslint-plugin:** new rule `no-unsafe-type-assertion` ([#10051](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10051))
- **eslint-plugin:** added related-getter-setter-pairs rule ([#10192](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10192))
##### 🩹 Fixes
- **utils:** add defaultOptions to meta in rule ([#10339](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10339))
- **eslint-plugin:** report deprecations used in default export ([#10330](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10330))
- **eslint-plugin:** \[explicit-module-boundary-types] and \[explicit-function-return-type] don't report on `as const satisfies` ([#10315](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10315))
- **eslint-plugin:** \[await-thenable, return-await] don't flag awaiting unconstrained type parameter as unnecessary ([#10314](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10314))
- **eslint-plugin:** \[consistent-indexed-object-style] handle circular mapped types ([#10301](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10301))
##### ❤️ Thank You
- Josh Goldberg ✨
- Kim Sang Du [@developer-bandi](https://redirect.github.com/developer-bandi)
- Luis Sebastian Urrutia Fuentes [@LuisUrrutia](https://redirect.github.com/LuisUrrutia)
- Phillip Huang
- Ronen Amiel
- Szydlak [@wszydlak](https://redirect.github.com/wszydlak)
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.14.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8140-2024-11-11)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.13.0...v8.14.0)
##### 🚀 Features
- **eslint-plugin:** \[await-thenable] report unnecessary `await using` statements ([#10209](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10209))
- **eslint-plugin:** \[no-confusing-void-expression] add an option to ignore void<->void ([#10067](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10067))
##### 🩹 Fixes
- **scope-manager:** fix asserted increments not being marked as write references ([#10271](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10271))
- **eslint-plugin:** \[no-misused-promises] improve report loc for methods ([#10216](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10216))
- **eslint-plugin:** \[no-unnecessary-condition] improve error message for literal comparisons ([#10194](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10194))
##### ❤️ Thank You
- Gyumong [@Gyumong](https://redirect.github.com/Gyumong)
- Jan Ochwat [@janek515](https://redirect.github.com/janek515)
- Kirk Waiblinger [@kirkwaiblinger](https://redirect.github.com/kirkwaiblinger)
- Ronen Amiel
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.13.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8130-2024-11-04)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.12.2...v8.13.0)
##### 🚀 Features
- **eslint-plugin:** \[only-throw-error] add allow option ([#10221](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10221))
- **eslint-plugin:** \[prefer-nullish-coalescing] add option `ignoreBooleanCoercion` ([#9924](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/9924))
- **eslint-plugin:** disable `no-class-assign` rule in `eslint-recommended` config ([#10250](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10250))
##### 🩹 Fixes
- **eslint-plugin:** \[switch-exhaustiveness-check] add support for covering a missing property with `undefined` ([#10232](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10232))
- **eslint-plugin:** \[consistent-type-definitions] don't leave trailing parens when fixing type to interface ([#10235](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10235))
- **eslint-plugin:** \[no-deprecated] report when exported class implements/extends deprecated entity ([#10259](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10259))
- **eslint-plugin:** \[no-deprecated] report on deprecated variables used inside dynamic imports ([#10261](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10261))
- **eslint-plugin:** \[no-unnecessary-condition] falsey bigint should be falsey ([#10205](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10205))
##### ❤️ Thank You
- auvred [@auvred](https://redirect.github.com/auvred)
- Kim Sang Du [@developer-bandi](https://redirect.github.com/developer-bandi)
- Kirk Waiblinger [@kirkwaiblinger](https://redirect.github.com/kirkwaiblinger)
- Mark de Dios [@peanutenthusiast](https://redirect.github.com/peanutenthusiast)
- Ronen Amiel
- YeonJuan [@yeonjuan](https://redirect.github.com/yeonjuan)
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.12.2`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8122-2024-10-29)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.12.1...v8.12.2)
##### 🩹 Fixes
- **eslint-plugin:** \[switch-exhaustiveness-check] invert `considerDefaultExhaustiveForUnions` ([#10223](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10223))
##### ❤️ Thank You
- Kirk Waiblinger [@kirkwaiblinger](https://redirect.github.com/kirkwaiblinger)
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.12.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8121-2024-10-28)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.12.0...v8.12.1)
This was a version bump only for eslint-plugin to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.12.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8120-2024-10-28)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.11.0...v8.12.0)
##### 🚀 Features
- **eslint-plugin:** \[no-base-to-string] handle String() ([#10005](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10005))
- **eslint-plugin:** \[switch-exhaustiveness-check] add allowDefaultCaseMatchUnionMember option ([#9954](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/9954))
- **eslint-plugin:** \[consistent-indexed-object-style] report mapped types ([#10160](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10160))
- **eslint-plugin:** \[prefer-nullish-coalescing] add support for assignment expressions ([#10152](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10152))
##### ❤️ Thank You
- Abraham Guo
- Kim Sang Du [@developer-bandi](https://redirect.github.com/developer-bandi)
- Kirk Waiblinger [@kirkwaiblinger](https://redirect.github.com/kirkwaiblinger)
- YeonJuan [@yeonjuan](https://redirect.github.com/yeonjuan)
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.11.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8110-2024-10-21)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.10.0...v8.11.0)
##### 🚀 Features
- **eslint-plugin:** \[no-unnecessary-type-parameters] add suggestion fixer ([#10149](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10149))
- **eslint-plugin:** \[no-base-to-string] add support for catching toLocaleString ([#10138](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10138))
##### 🩹 Fixes
- **eslint-plugin:** \[class-literal-property-style] don't report nodes with `override` keyword ([#10135](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10135))
##### ❤️ Thank You
- Kirk Waiblinger [@kirkwaiblinger](https://redirect.github.com/kirkwaiblinger)
- Yukihiro Hasegawa [@y-hsgw](https://redirect.github.com/y-hsgw)
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.10.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8100-2024-10-17)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.9.0...v8.10.0)
##### 🚀 Features
- support TypeScript 5.6 ([#9972](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/9972))
##### ❤️ Thank You
- Josh Goldberg ✨
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.9.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#890-2024-10-14)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.8.1...v8.9.0)
##### 🩹 Fixes
- **eslint-plugin:** \[no-unnecessary-type-parameters] cannot assume variables are either type or value
- **scope-manager:** \[no-use-before-define] do not treat nested namespace aliases as variable references
- **eslint-plugin:** \[return-await] sync the behavior with await-thenable
- **eslint-plugin:** \[prefer-literal-enum-member] report a different error message when `allowBitwiseExpressions` is enabled
- **eslint-plugin:** \[no-loop-func] sync from upstream base rule
- **eslint-plugin:** \[no-unused-vars] never report the naming of an enum member
- **eslint-plugin:** correct use-at-your-own-risk type definitions
- **eslint-plugin:** handle unions in await...for
##### ❤️ Thank You
- Abraham Guo
- Anna Bocharova
- Arya Emami
- auvred
- Joshua Chen
- Kirk Waiblinger
- Lotfi Meklati
- mdm317
- Ronen Amiel
- Sukka
- YeonJuan
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.8.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#881-2024-10-07)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.8.0...v8.8.1)
##### 🩹 Fixes
- **eslint-plugin:** stop warning on [@ts-nocheck](https://redirect.github.com/ts-nocheck) comments which aren't at the beginning of the file
##### ❤️ Thank You
- Brad Zacher
- Ronen Amiel
- WhitePiano
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.8.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#880-2024-09-30)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.7.0...v8.8.0)
##### 🚀 Features
- **eslint-plugin:** \[no-unnecessary-condition] add checkTypePredicates
- **eslint-plugin:** \[return-await] check for-await loop iteree
##### 🩹 Fixes
- remove `export type *` in d.ts to support TS<5.0
- **eslint-plugin:** \[no-unnecessary-template-expression] should underline template syntax with squiggly lines
- **type-utils:** check for type parameters on `isBuiltinSymbolLikeRecurser()`
- **eslint-plugin:** \[no-deprecated] max callstack exceeded when class implements itself
- **eslint-plugin:** \[no-misused-promises] check contextual type
- **eslint-plugin:** \[prefer-literal-enum-member] allow nested bitwise operations
##### ❤️ Thank You
- auvred
- Josh Goldberg ✨
- Kirk Waiblinger
- Ronen Amiel
- Tarun Chauhan
- YeonJuan
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.7.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#870-2024-09-23)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.6.0...v8.7.0)
##### 🚀 Features
- **eslint-plugin:** \[no-unsafe-call] check calls of Function
- **eslint-plugin:** \[consistent-type-exports] check `export *` exports to see if all exported members are types
##### 🩹 Fixes
- **eslint-plugin:** properly coerce all types to string in `getStaticMemberAccessValue`
- **eslint-plugin:** \[no-deprecated] report on imported deprecated variables
- **eslint-plugin:** \[no-confusing-non-null-assertion] check !in and !instanceof
##### ❤️ Thank You
- Abraham Guo
- auvred
- Brian Donovan
- Kirk Waiblinger
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
typescript-eslint/typescript-eslint (@typescript-eslint/parser)
### [`v8.16.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8160-2024-11-25)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.15.0...v8.16.0)
##### 🚀 Features
- support TypeScript 5.7 ([#10372](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10372))
##### ❤️ Thank You
- Josh Goldberg ✨
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.15.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8150-2024-11-18)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.14.0...v8.15.0)
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.14.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8140-2024-11-11)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.13.0...v8.14.0)
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.13.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8130-2024-11-04)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.12.2...v8.13.0)
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.12.2`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8122-2024-10-29)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.12.1...v8.12.2)
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.12.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8121-2024-10-28)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.12.0...v8.12.1)
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.12.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8120-2024-10-28)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.11.0...v8.12.0)
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.11.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8110-2024-10-21)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.10.0...v8.11.0)
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.10.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8100-2024-10-17)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.9.0...v8.10.0)
##### 🚀 Features
- support TypeScript 5.6 ([#9972](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/9972))
##### ❤️ Thank You
- Josh Goldberg ✨
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.9.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#890-2024-10-14)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.8.1...v8.9.0)
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.8.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#881-2024-10-07)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.8.0...v8.8.1)
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.8.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#880-2024-09-30)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.7.0...v8.8.0)
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v8.7.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#870-2024-09-23)
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.6.0...v8.7.0)
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
8.6.0
->8.16.0
8.6.0
->8.16.0
Release Notes
typescript-eslint/typescript-eslint (@typescript-eslint/eslint-plugin)
### [`v8.16.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8160-2024-11-25) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.15.0...v8.16.0) ##### 🚀 Features - **eslint-plugin:** \[no-base-to-string] check Array.prototype.join ([#10287](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10287)) - **eslint-plugin:** \[max-params] add function overload and function type support ([#10312](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10312)) ##### ❤️ Thank You - Kim Sang Du [@developer-bandi](https://redirect.github.com/developer-bandi) - YeonJuan [@yeonjuan](https://redirect.github.com/yeonjuan) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.15.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8150-2024-11-18) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.14.0...v8.15.0) ##### 🚀 Features - **eslint-plugin:** \[prefer-nullish-coalescing] fix detection of `ignoreConditionalTests` involving boolean `!` operator ([#10299](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10299)) - **eslint-plugin:** new rule `no-unsafe-type-assertion` ([#10051](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10051)) - **eslint-plugin:** added related-getter-setter-pairs rule ([#10192](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10192)) ##### 🩹 Fixes - **utils:** add defaultOptions to meta in rule ([#10339](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10339)) - **eslint-plugin:** report deprecations used in default export ([#10330](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10330)) - **eslint-plugin:** \[explicit-module-boundary-types] and \[explicit-function-return-type] don't report on `as const satisfies` ([#10315](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10315)) - **eslint-plugin:** \[await-thenable, return-await] don't flag awaiting unconstrained type parameter as unnecessary ([#10314](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10314)) - **eslint-plugin:** \[consistent-indexed-object-style] handle circular mapped types ([#10301](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10301)) ##### ❤️ Thank You - Josh Goldberg ✨ - Kim Sang Du [@developer-bandi](https://redirect.github.com/developer-bandi) - Luis Sebastian Urrutia Fuentes [@LuisUrrutia](https://redirect.github.com/LuisUrrutia) - Phillip Huang - Ronen Amiel - Szydlak [@wszydlak](https://redirect.github.com/wszydlak) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.14.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8140-2024-11-11) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.13.0...v8.14.0) ##### 🚀 Features - **eslint-plugin:** \[await-thenable] report unnecessary `await using` statements ([#10209](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10209)) - **eslint-plugin:** \[no-confusing-void-expression] add an option to ignore void<->void ([#10067](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10067)) ##### 🩹 Fixes - **scope-manager:** fix asserted increments not being marked as write references ([#10271](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10271)) - **eslint-plugin:** \[no-misused-promises] improve report loc for methods ([#10216](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10216)) - **eslint-plugin:** \[no-unnecessary-condition] improve error message for literal comparisons ([#10194](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10194)) ##### ❤️ Thank You - Gyumong [@Gyumong](https://redirect.github.com/Gyumong) - Jan Ochwat [@janek515](https://redirect.github.com/janek515) - Kirk Waiblinger [@kirkwaiblinger](https://redirect.github.com/kirkwaiblinger) - Ronen Amiel You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.13.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8130-2024-11-04) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.12.2...v8.13.0) ##### 🚀 Features - **eslint-plugin:** \[only-throw-error] add allow option ([#10221](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10221)) - **eslint-plugin:** \[prefer-nullish-coalescing] add option `ignoreBooleanCoercion` ([#9924](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/9924)) - **eslint-plugin:** disable `no-class-assign` rule in `eslint-recommended` config ([#10250](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10250)) ##### 🩹 Fixes - **eslint-plugin:** \[switch-exhaustiveness-check] add support for covering a missing property with `undefined` ([#10232](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10232)) - **eslint-plugin:** \[consistent-type-definitions] don't leave trailing parens when fixing type to interface ([#10235](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10235)) - **eslint-plugin:** \[no-deprecated] report when exported class implements/extends deprecated entity ([#10259](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10259)) - **eslint-plugin:** \[no-deprecated] report on deprecated variables used inside dynamic imports ([#10261](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10261)) - **eslint-plugin:** \[no-unnecessary-condition] falsey bigint should be falsey ([#10205](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10205)) ##### ❤️ Thank You - auvred [@auvred](https://redirect.github.com/auvred) - Kim Sang Du [@developer-bandi](https://redirect.github.com/developer-bandi) - Kirk Waiblinger [@kirkwaiblinger](https://redirect.github.com/kirkwaiblinger) - Mark de Dios [@peanutenthusiast](https://redirect.github.com/peanutenthusiast) - Ronen Amiel - YeonJuan [@yeonjuan](https://redirect.github.com/yeonjuan) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.12.2`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8122-2024-10-29) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.12.1...v8.12.2) ##### 🩹 Fixes - **eslint-plugin:** \[switch-exhaustiveness-check] invert `considerDefaultExhaustiveForUnions` ([#10223](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10223)) ##### ❤️ Thank You - Kirk Waiblinger [@kirkwaiblinger](https://redirect.github.com/kirkwaiblinger) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.12.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8121-2024-10-28) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.12.0...v8.12.1) This was a version bump only for eslint-plugin to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.12.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8120-2024-10-28) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.11.0...v8.12.0) ##### 🚀 Features - **eslint-plugin:** \[no-base-to-string] handle String() ([#10005](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10005)) - **eslint-plugin:** \[switch-exhaustiveness-check] add allowDefaultCaseMatchUnionMember option ([#9954](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/9954)) - **eslint-plugin:** \[consistent-indexed-object-style] report mapped types ([#10160](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10160)) - **eslint-plugin:** \[prefer-nullish-coalescing] add support for assignment expressions ([#10152](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10152)) ##### ❤️ Thank You - Abraham Guo - Kim Sang Du [@developer-bandi](https://redirect.github.com/developer-bandi) - Kirk Waiblinger [@kirkwaiblinger](https://redirect.github.com/kirkwaiblinger) - YeonJuan [@yeonjuan](https://redirect.github.com/yeonjuan) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.11.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8110-2024-10-21) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.10.0...v8.11.0) ##### 🚀 Features - **eslint-plugin:** \[no-unnecessary-type-parameters] add suggestion fixer ([#10149](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10149)) - **eslint-plugin:** \[no-base-to-string] add support for catching toLocaleString ([#10138](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10138)) ##### 🩹 Fixes - **eslint-plugin:** \[class-literal-property-style] don't report nodes with `override` keyword ([#10135](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10135)) ##### ❤️ Thank You - Kirk Waiblinger [@kirkwaiblinger](https://redirect.github.com/kirkwaiblinger) - Yukihiro Hasegawa [@y-hsgw](https://redirect.github.com/y-hsgw) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.10.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8100-2024-10-17) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.9.0...v8.10.0) ##### 🚀 Features - support TypeScript 5.6 ([#9972](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/9972)) ##### ❤️ Thank You - Josh Goldberg ✨ You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.9.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#890-2024-10-14) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.8.1...v8.9.0) ##### 🩹 Fixes - **eslint-plugin:** \[no-unnecessary-type-parameters] cannot assume variables are either type or value - **scope-manager:** \[no-use-before-define] do not treat nested namespace aliases as variable references - **eslint-plugin:** \[return-await] sync the behavior with await-thenable - **eslint-plugin:** \[prefer-literal-enum-member] report a different error message when `allowBitwiseExpressions` is enabled - **eslint-plugin:** \[no-loop-func] sync from upstream base rule - **eslint-plugin:** \[no-unused-vars] never report the naming of an enum member - **eslint-plugin:** correct use-at-your-own-risk type definitions - **eslint-plugin:** handle unions in await...for ##### ❤️ Thank You - Abraham Guo - Anna Bocharova - Arya Emami - auvred - Joshua Chen - Kirk Waiblinger - Lotfi Meklati - mdm317 - Ronen Amiel - Sukka - YeonJuan You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.8.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#881-2024-10-07) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.8.0...v8.8.1) ##### 🩹 Fixes - **eslint-plugin:** stop warning on [@ts-nocheck](https://redirect.github.com/ts-nocheck) comments which aren't at the beginning of the file ##### ❤️ Thank You - Brad Zacher - Ronen Amiel - WhitePiano You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.8.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#880-2024-09-30) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.7.0...v8.8.0) ##### 🚀 Features - **eslint-plugin:** \[no-unnecessary-condition] add checkTypePredicates - **eslint-plugin:** \[return-await] check for-await loop iteree ##### 🩹 Fixes - remove `export type *` in d.ts to support TS<5.0 - **eslint-plugin:** \[no-unnecessary-template-expression] should underline template syntax with squiggly lines - **type-utils:** check for type parameters on `isBuiltinSymbolLikeRecurser()` - **eslint-plugin:** \[no-deprecated] max callstack exceeded when class implements itself - **eslint-plugin:** \[no-misused-promises] check contextual type - **eslint-plugin:** \[prefer-literal-enum-member] allow nested bitwise operations ##### ❤️ Thank You - auvred - Josh Goldberg ✨ - Kirk Waiblinger - Ronen Amiel - Tarun Chauhan - YeonJuan You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.7.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#870-2024-09-23) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.6.0...v8.7.0) ##### 🚀 Features - **eslint-plugin:** \[no-unsafe-call] check calls of Function - **eslint-plugin:** \[consistent-type-exports] check `export *` exports to see if all exported members are types ##### 🩹 Fixes - **eslint-plugin:** properly coerce all types to string in `getStaticMemberAccessValue` - **eslint-plugin:** \[no-deprecated] report on imported deprecated variables - **eslint-plugin:** \[no-confusing-non-null-assertion] check !in and !instanceof ##### ❤️ Thank You - Abraham Guo - auvred - Brian Donovan - Kirk Waiblinger You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.typescript-eslint/typescript-eslint (@typescript-eslint/parser)
### [`v8.16.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8160-2024-11-25) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.15.0...v8.16.0) ##### 🚀 Features - support TypeScript 5.7 ([#10372](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10372)) ##### ❤️ Thank You - Josh Goldberg ✨ You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.15.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8150-2024-11-18) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.14.0...v8.15.0) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.14.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8140-2024-11-11) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.13.0...v8.14.0) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.13.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8130-2024-11-04) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.12.2...v8.13.0) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.12.2`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8122-2024-10-29) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.12.1...v8.12.2) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.12.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8121-2024-10-28) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.12.0...v8.12.1) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.12.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8120-2024-10-28) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.11.0...v8.12.0) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.11.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8110-2024-10-21) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.10.0...v8.11.0) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.10.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8100-2024-10-17) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.9.0...v8.10.0) ##### 🚀 Features - support TypeScript 5.6 ([#9972](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/9972)) ##### ❤️ Thank You - Josh Goldberg ✨ You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.9.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#890-2024-10-14) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.8.1...v8.9.0) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.8.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#881-2024-10-07) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.8.0...v8.8.1) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.8.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#880-2024-09-30) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.7.0...v8.8.0) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v8.7.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#870-2024-09-23) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.6.0...v8.7.0) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.