-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
fix(eslint-plugin): [no-unsafe-assignment] add an unsafeObjectPattern
message
#11403
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(eslint-plugin): [no-unsafe-assignment] add an unsafeObjectPattern
message
#11403
Conversation
Thanks for the PR, @ntdiary! typescript-eslint is a 100% community driven project, and we are incredibly grateful that you are contributing to that community. The core maintainers work on this in their personal time, so please understand that it may not be possible for them to review your work immediately. Thanks again! 🙏 Please, if you or your company is finding typescript-eslint valuable, help us sustain the project by sponsoring it transparently on https://opencollective.com/typescript-eslint. |
✅ Deploy Preview for typescript-eslint ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
View your CI Pipeline Execution ↗ for commit cf9642b
☁️ Nx Cloud last updated this comment at |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #11403 +/- ##
=======================================
Coverage 90.88% 90.88%
=======================================
Files 505 505
Lines 51124 51126 +2
Branches 8416 8416
=======================================
+ Hits 46462 46464 +2
Misses 4648 4648
Partials 14 14
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice and simple! Thanks!
(CI failures are existing problems, not your code)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✨
a8def4b
into
typescript-eslint:main
| datasource | package | from | to | | ---------- | -------------------------------- | ------ | ------ | | npm | @typescript-eslint/eslint-plugin | 8.32.1 | 8.39.0 | | npm | @typescript-eslint/parser | 8.32.1 | 8.39.0 | ## [v8.39.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8390-2025-08-04) ##### 🚀 Features - **eslint-plugin:** \[only-throw-error] support yield/await expressions ([#11417](typescript-eslint/typescript-eslint#11417)) - **eslint-plugin:** add no-unnecessary-type-conversion to strict-type-checked ruleset ([#11427](typescript-eslint/typescript-eslint#11427)) - update to TypeScript 5.9.2 ([#11445](typescript-eslint/typescript-eslint#11445)) - **eslint-plugin:** \[naming-convention] add enumMember PascalCase default option ([#11127](typescript-eslint/typescript-eslint#11127)) ##### 🩹 Fixes - **eslint-plugin:** \[no-unsafe-assignment] add an `unsafeObjectPattern` message ([#11403](typescript-eslint/typescript-eslint#11403)) - **eslint-plugin:** \[prefer-optional-chain] ignore `check` option for most RHS of a chain ([#11272](typescript-eslint/typescript-eslint#11272)) ##### ❤️ Thank You - Brad Zacher [@bradzacher](https://github.com/bradzacher) - James Garbutt [@43081j](https://github.com/43081j) - Kim Sang Du [@developer-bandi](https://github.com/developer-bandi) - Sasha Kondrashov - tao - Younsang Na [@nayounsang](https://github.com/nayounsang) 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.38.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8380-2025-07-21) ##### 🩹 Fixes - disallow extra properties in rule options ([#11397](typescript-eslint/typescript-eslint#11397)) - **eslint-plugin:** \[consistent-generic-constructors] resolve conflict with `isolatedDeclarations` if enabled in `constructor` option ([#11351](typescript-eslint/typescript-eslint#11351)) ##### ❤️ Thank You - Andrew Kazakov [@andreww2012](https://github.com/andreww2012) - Younsang Na [@nayounsang](https://github.com/nayounsang) 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.37.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8370-2025-07-14) ##### 🩹 Fixes - **eslint-plugin:** \[unified-signatures] fix false positives for ignoreOverloadsWithDifferentJSDoc option ([#11381](typescript-eslint/typescript-eslint#11381)) ##### ❤️ Thank You - Yukihiro Hasegawa [@y-hsgw](https://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.36.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8360-2025-07-07) 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.35.1](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8351-2025-06-30) ##### 🩹 Fixes - remove prettier from eslint-plugin ([#11339](typescript-eslint/typescript-eslint#11339)) ##### ❤️ Thank You - Abhijeet Singh [@cseas](https://github.com/cseas) 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.35.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8350-2025-06-23) ##### 🚀 Features - **eslint-plugin:** \[no-base-to-string] add checkUnknown Option ([#11128](typescript-eslint/typescript-eslint#11128)) ##### ❤️ Thank You - Kim Sang Du [@developer-bandi](https://github.com/developer-bandi) 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.34.1](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8341-2025-06-16) 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.34.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8340-2025-06-09) ##### 🩹 Fixes - **typescript-estree:** add validation to interface extends ([#11271](typescript-eslint/typescript-eslint#11271)) ##### ❤️ Thank You - Tao 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.33.1](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8331-2025-06-02) ##### 🩹 Fixes - exclude docs/ directory from eslint-plugin package ([#11251](typescript-eslint/typescript-eslint#11251)) ##### ❤️ Thank You - roottool 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.33.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8330-2025-05-26) 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.
| datasource | package | from | to | | ---------- | -------------------------------- | ------ | ------ | | npm | @typescript-eslint/eslint-plugin | 8.32.1 | 8.39.0 | | npm | @typescript-eslint/parser | 8.32.1 | 8.39.0 | ## [v8.39.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8390-2025-08-04) ##### 🚀 Features - **eslint-plugin:** \[only-throw-error] support yield/await expressions ([#11417](typescript-eslint/typescript-eslint#11417)) - **eslint-plugin:** add no-unnecessary-type-conversion to strict-type-checked ruleset ([#11427](typescript-eslint/typescript-eslint#11427)) - update to TypeScript 5.9.2 ([#11445](typescript-eslint/typescript-eslint#11445)) - **eslint-plugin:** \[naming-convention] add enumMember PascalCase default option ([#11127](typescript-eslint/typescript-eslint#11127)) ##### 🩹 Fixes - **eslint-plugin:** \[no-unsafe-assignment] add an `unsafeObjectPattern` message ([#11403](typescript-eslint/typescript-eslint#11403)) - **eslint-plugin:** \[prefer-optional-chain] ignore `check` option for most RHS of a chain ([#11272](typescript-eslint/typescript-eslint#11272)) ##### ❤️ Thank You - Brad Zacher [@bradzacher](https://github.com/bradzacher) - James Garbutt [@43081j](https://github.com/43081j) - Kim Sang Du [@developer-bandi](https://github.com/developer-bandi) - Sasha Kondrashov - tao - Younsang Na [@nayounsang](https://github.com/nayounsang) 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.38.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8380-2025-07-21) ##### 🩹 Fixes - disallow extra properties in rule options ([#11397](typescript-eslint/typescript-eslint#11397)) - **eslint-plugin:** \[consistent-generic-constructors] resolve conflict with `isolatedDeclarations` if enabled in `constructor` option ([#11351](typescript-eslint/typescript-eslint#11351)) ##### ❤️ Thank You - Andrew Kazakov [@andreww2012](https://github.com/andreww2012) - Younsang Na [@nayounsang](https://github.com/nayounsang) 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.37.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8370-2025-07-14) ##### 🩹 Fixes - **eslint-plugin:** \[unified-signatures] fix false positives for ignoreOverloadsWithDifferentJSDoc option ([#11381](typescript-eslint/typescript-eslint#11381)) ##### ❤️ Thank You - Yukihiro Hasegawa [@y-hsgw](https://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.36.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8360-2025-07-07) 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.35.1](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8351-2025-06-30) ##### 🩹 Fixes - remove prettier from eslint-plugin ([#11339](typescript-eslint/typescript-eslint#11339)) ##### ❤️ Thank You - Abhijeet Singh [@cseas](https://github.com/cseas) 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.35.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8350-2025-06-23) ##### 🚀 Features - **eslint-plugin:** \[no-base-to-string] add checkUnknown Option ([#11128](typescript-eslint/typescript-eslint#11128)) ##### ❤️ Thank You - Kim Sang Du [@developer-bandi](https://github.com/developer-bandi) 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.34.1](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8341-2025-06-16) 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.34.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8340-2025-06-09) ##### 🩹 Fixes - **typescript-estree:** add validation to interface extends ([#11271](typescript-eslint/typescript-eslint#11271)) ##### ❤️ Thank You - Tao 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.33.1](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8331-2025-06-02) ##### 🩹 Fixes - exclude docs/ directory from eslint-plugin package ([#11251](typescript-eslint/typescript-eslint#11251)) ##### ❤️ Thank You - roottool 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.33.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8330-2025-05-26) 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.
| datasource | package | from | to | | ---------- | -------------------------------- | ------ | ------ | | npm | @typescript-eslint/eslint-plugin | 8.32.1 | 8.39.0 | | npm | @typescript-eslint/parser | 8.32.1 | 8.39.0 | ## [v8.39.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8390-2025-08-04) ##### 🚀 Features - **eslint-plugin:** \[only-throw-error] support yield/await expressions ([#11417](typescript-eslint/typescript-eslint#11417)) - **eslint-plugin:** add no-unnecessary-type-conversion to strict-type-checked ruleset ([#11427](typescript-eslint/typescript-eslint#11427)) - update to TypeScript 5.9.2 ([#11445](typescript-eslint/typescript-eslint#11445)) - **eslint-plugin:** \[naming-convention] add enumMember PascalCase default option ([#11127](typescript-eslint/typescript-eslint#11127)) ##### 🩹 Fixes - **eslint-plugin:** \[no-unsafe-assignment] add an `unsafeObjectPattern` message ([#11403](typescript-eslint/typescript-eslint#11403)) - **eslint-plugin:** \[prefer-optional-chain] ignore `check` option for most RHS of a chain ([#11272](typescript-eslint/typescript-eslint#11272)) ##### ❤️ Thank You - Brad Zacher [@bradzacher](https://github.com/bradzacher) - James Garbutt [@43081j](https://github.com/43081j) - Kim Sang Du [@developer-bandi](https://github.com/developer-bandi) - Sasha Kondrashov - tao - Younsang Na [@nayounsang](https://github.com/nayounsang) 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.38.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8380-2025-07-21) ##### 🩹 Fixes - disallow extra properties in rule options ([#11397](typescript-eslint/typescript-eslint#11397)) - **eslint-plugin:** \[consistent-generic-constructors] resolve conflict with `isolatedDeclarations` if enabled in `constructor` option ([#11351](typescript-eslint/typescript-eslint#11351)) ##### ❤️ Thank You - Andrew Kazakov [@andreww2012](https://github.com/andreww2012) - Younsang Na [@nayounsang](https://github.com/nayounsang) 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.37.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8370-2025-07-14) ##### 🩹 Fixes - **eslint-plugin:** \[unified-signatures] fix false positives for ignoreOverloadsWithDifferentJSDoc option ([#11381](typescript-eslint/typescript-eslint#11381)) ##### ❤️ Thank You - Yukihiro Hasegawa [@y-hsgw](https://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.36.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8360-2025-07-07) 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.35.1](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8351-2025-06-30) ##### 🩹 Fixes - remove prettier from eslint-plugin ([#11339](typescript-eslint/typescript-eslint#11339)) ##### ❤️ Thank You - Abhijeet Singh [@cseas](https://github.com/cseas) 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.35.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8350-2025-06-23) ##### 🚀 Features - **eslint-plugin:** \[no-base-to-string] add checkUnknown Option ([#11128](typescript-eslint/typescript-eslint#11128)) ##### ❤️ Thank You - Kim Sang Du [@developer-bandi](https://github.com/developer-bandi) 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.34.1](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8341-2025-06-16) 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.34.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8340-2025-06-09) ##### 🩹 Fixes - **typescript-estree:** add validation to interface extends ([#11271](typescript-eslint/typescript-eslint#11271)) ##### ❤️ Thank You - Tao 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.33.1](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8331-2025-06-02) ##### 🩹 Fixes - exclude docs/ directory from eslint-plugin package ([#11251](typescript-eslint/typescript-eslint#11251)) ##### ❤️ Thank You - roottool 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.33.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8330-2025-05-26) 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.
| datasource | package | from | to | | ---------- | -------------------------------- | ------ | ------ | | npm | @typescript-eslint/eslint-plugin | 8.32.1 | 8.39.0 | | npm | @typescript-eslint/parser | 8.32.1 | 8.39.0 | ## [v8.39.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8390-2025-08-04) ##### 🚀 Features - **eslint-plugin:** \[only-throw-error] support yield/await expressions ([#11417](typescript-eslint/typescript-eslint#11417)) - **eslint-plugin:** add no-unnecessary-type-conversion to strict-type-checked ruleset ([#11427](typescript-eslint/typescript-eslint#11427)) - update to TypeScript 5.9.2 ([#11445](typescript-eslint/typescript-eslint#11445)) - **eslint-plugin:** \[naming-convention] add enumMember PascalCase default option ([#11127](typescript-eslint/typescript-eslint#11127)) ##### 🩹 Fixes - **eslint-plugin:** \[no-unsafe-assignment] add an `unsafeObjectPattern` message ([#11403](typescript-eslint/typescript-eslint#11403)) - **eslint-plugin:** \[prefer-optional-chain] ignore `check` option for most RHS of a chain ([#11272](typescript-eslint/typescript-eslint#11272)) ##### ❤️ Thank You - Brad Zacher [@bradzacher](https://github.com/bradzacher) - James Garbutt [@43081j](https://github.com/43081j) - Kim Sang Du [@developer-bandi](https://github.com/developer-bandi) - Sasha Kondrashov - tao - Younsang Na [@nayounsang](https://github.com/nayounsang) 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.38.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8380-2025-07-21) ##### 🩹 Fixes - disallow extra properties in rule options ([#11397](typescript-eslint/typescript-eslint#11397)) - **eslint-plugin:** \[consistent-generic-constructors] resolve conflict with `isolatedDeclarations` if enabled in `constructor` option ([#11351](typescript-eslint/typescript-eslint#11351)) ##### ❤️ Thank You - Andrew Kazakov [@andreww2012](https://github.com/andreww2012) - Younsang Na [@nayounsang](https://github.com/nayounsang) 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.37.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8370-2025-07-14) ##### 🩹 Fixes - **eslint-plugin:** \[unified-signatures] fix false positives for ignoreOverloadsWithDifferentJSDoc option ([#11381](typescript-eslint/typescript-eslint#11381)) ##### ❤️ Thank You - Yukihiro Hasegawa [@y-hsgw](https://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.36.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8360-2025-07-07) 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.35.1](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8351-2025-06-30) ##### 🩹 Fixes - remove prettier from eslint-plugin ([#11339](typescript-eslint/typescript-eslint#11339)) ##### ❤️ Thank You - Abhijeet Singh [@cseas](https://github.com/cseas) 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.35.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8350-2025-06-23) ##### 🚀 Features - **eslint-plugin:** \[no-base-to-string] add checkUnknown Option ([#11128](typescript-eslint/typescript-eslint#11128)) ##### ❤️ Thank You - Kim Sang Du [@developer-bandi](https://github.com/developer-bandi) 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.34.1](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8341-2025-06-16) 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.34.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8340-2025-06-09) ##### 🩹 Fixes - **typescript-estree:** add validation to interface extends ([#11271](typescript-eslint/typescript-eslint#11271)) ##### ❤️ Thank You - Tao 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.33.1](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8331-2025-06-02) ##### 🩹 Fixes - exclude docs/ directory from eslint-plugin package ([#11251](typescript-eslint/typescript-eslint#11251)) ##### ❤️ Thank You - roottool 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.33.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8330-2025-05-26) 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.
| datasource | package | from | to | | ---------- | -------------------------------- | ------ | ------ | | npm | @typescript-eslint/eslint-plugin | 8.32.1 | 8.39.0 | | npm | @typescript-eslint/parser | 8.32.1 | 8.39.0 | ## [v8.39.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8390-2025-08-04) ##### 🚀 Features - **eslint-plugin:** \[only-throw-error] support yield/await expressions ([#11417](typescript-eslint/typescript-eslint#11417)) - **eslint-plugin:** add no-unnecessary-type-conversion to strict-type-checked ruleset ([#11427](typescript-eslint/typescript-eslint#11427)) - update to TypeScript 5.9.2 ([#11445](typescript-eslint/typescript-eslint#11445)) - **eslint-plugin:** \[naming-convention] add enumMember PascalCase default option ([#11127](typescript-eslint/typescript-eslint#11127)) ##### 🩹 Fixes - **eslint-plugin:** \[no-unsafe-assignment] add an `unsafeObjectPattern` message ([#11403](typescript-eslint/typescript-eslint#11403)) - **eslint-plugin:** \[prefer-optional-chain] ignore `check` option for most RHS of a chain ([#11272](typescript-eslint/typescript-eslint#11272)) ##### ❤️ Thank You - Brad Zacher [@bradzacher](https://github.com/bradzacher) - James Garbutt [@43081j](https://github.com/43081j) - Kim Sang Du [@developer-bandi](https://github.com/developer-bandi) - Sasha Kondrashov - tao - Younsang Na [@nayounsang](https://github.com/nayounsang) 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.38.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8380-2025-07-21) ##### 🩹 Fixes - disallow extra properties in rule options ([#11397](typescript-eslint/typescript-eslint#11397)) - **eslint-plugin:** \[consistent-generic-constructors] resolve conflict with `isolatedDeclarations` if enabled in `constructor` option ([#11351](typescript-eslint/typescript-eslint#11351)) ##### ❤️ Thank You - Andrew Kazakov [@andreww2012](https://github.com/andreww2012) - Younsang Na [@nayounsang](https://github.com/nayounsang) 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.37.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8370-2025-07-14) ##### 🩹 Fixes - **eslint-plugin:** \[unified-signatures] fix false positives for ignoreOverloadsWithDifferentJSDoc option ([#11381](typescript-eslint/typescript-eslint#11381)) ##### ❤️ Thank You - Yukihiro Hasegawa [@y-hsgw](https://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.36.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8360-2025-07-07) 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.35.1](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8351-2025-06-30) ##### 🩹 Fixes - remove prettier from eslint-plugin ([#11339](typescript-eslint/typescript-eslint#11339)) ##### ❤️ Thank You - Abhijeet Singh [@cseas](https://github.com/cseas) 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.35.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8350-2025-06-23) ##### 🚀 Features - **eslint-plugin:** \[no-base-to-string] add checkUnknown Option ([#11128](typescript-eslint/typescript-eslint#11128)) ##### ❤️ Thank You - Kim Sang Du [@developer-bandi](https://github.com/developer-bandi) 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.34.1](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8341-2025-06-16) 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.34.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8340-2025-06-09) ##### 🩹 Fixes - **typescript-estree:** add validation to interface extends ([#11271](typescript-eslint/typescript-eslint#11271)) ##### ❤️ Thank You - Tao 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.33.1](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8331-2025-06-02) ##### 🩹 Fixes - exclude docs/ directory from eslint-plugin package ([#11251](typescript-eslint/typescript-eslint#11251)) ##### ❤️ Thank You - roottool 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.33.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8330-2025-05-26) 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.
| datasource | package | from | to | | ---------- | -------------------------------- | ------ | ------ | | npm | @typescript-eslint/eslint-plugin | 8.32.1 | 8.39.0 | | npm | @typescript-eslint/parser | 8.32.1 | 8.39.0 | ## [v8.39.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8390-2025-08-04) ##### 🚀 Features - **eslint-plugin:** \[only-throw-error] support yield/await expressions ([#11417](typescript-eslint/typescript-eslint#11417)) - **eslint-plugin:** add no-unnecessary-type-conversion to strict-type-checked ruleset ([#11427](typescript-eslint/typescript-eslint#11427)) - update to TypeScript 5.9.2 ([#11445](typescript-eslint/typescript-eslint#11445)) - **eslint-plugin:** \[naming-convention] add enumMember PascalCase default option ([#11127](typescript-eslint/typescript-eslint#11127)) ##### 🩹 Fixes - **eslint-plugin:** \[no-unsafe-assignment] add an `unsafeObjectPattern` message ([#11403](typescript-eslint/typescript-eslint#11403)) - **eslint-plugin:** \[prefer-optional-chain] ignore `check` option for most RHS of a chain ([#11272](typescript-eslint/typescript-eslint#11272)) ##### ❤️ Thank You - Brad Zacher [@bradzacher](https://github.com/bradzacher) - James Garbutt [@43081j](https://github.com/43081j) - Kim Sang Du [@developer-bandi](https://github.com/developer-bandi) - Sasha Kondrashov - tao - Younsang Na [@nayounsang](https://github.com/nayounsang) 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.38.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8380-2025-07-21) ##### 🩹 Fixes - disallow extra properties in rule options ([#11397](typescript-eslint/typescript-eslint#11397)) - **eslint-plugin:** \[consistent-generic-constructors] resolve conflict with `isolatedDeclarations` if enabled in `constructor` option ([#11351](typescript-eslint/typescript-eslint#11351)) ##### ❤️ Thank You - Andrew Kazakov [@andreww2012](https://github.com/andreww2012) - Younsang Na [@nayounsang](https://github.com/nayounsang) 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.37.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8370-2025-07-14) ##### 🩹 Fixes - **eslint-plugin:** \[unified-signatures] fix false positives for ignoreOverloadsWithDifferentJSDoc option ([#11381](typescript-eslint/typescript-eslint#11381)) ##### ❤️ Thank You - Yukihiro Hasegawa [@y-hsgw](https://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.36.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8360-2025-07-07) 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.35.1](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8351-2025-06-30) ##### 🩹 Fixes - remove prettier from eslint-plugin ([#11339](typescript-eslint/typescript-eslint#11339)) ##### ❤️ Thank You - Abhijeet Singh [@cseas](https://github.com/cseas) 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.35.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8350-2025-06-23) ##### 🚀 Features - **eslint-plugin:** \[no-base-to-string] add checkUnknown Option ([#11128](typescript-eslint/typescript-eslint#11128)) ##### ❤️ Thank You - Kim Sang Du [@developer-bandi](https://github.com/developer-bandi) 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.34.1](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8341-2025-06-16) 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.34.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8340-2025-06-09) ##### 🩹 Fixes - **typescript-estree:** add validation to interface extends ([#11271](typescript-eslint/typescript-eslint#11271)) ##### ❤️ Thank You - Tao 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.33.1](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8331-2025-06-02) ##### 🩹 Fixes - exclude docs/ directory from eslint-plugin package ([#11251](typescript-eslint/typescript-eslint#11251)) ##### ❤️ Thank You - roottool 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.33.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8330-2025-05-26) 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.
| datasource | package | from | to | | ---------- | -------------------------------- | ------ | ------ | | npm | @typescript-eslint/eslint-plugin | 8.32.1 | 8.39.0 | | npm | @typescript-eslint/parser | 8.32.1 | 8.39.0 | ## [v8.39.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8390-2025-08-04) ##### 🚀 Features - **eslint-plugin:** \[only-throw-error] support yield/await expressions ([#11417](typescript-eslint/typescript-eslint#11417)) - **eslint-plugin:** add no-unnecessary-type-conversion to strict-type-checked ruleset ([#11427](typescript-eslint/typescript-eslint#11427)) - update to TypeScript 5.9.2 ([#11445](typescript-eslint/typescript-eslint#11445)) - **eslint-plugin:** \[naming-convention] add enumMember PascalCase default option ([#11127](typescript-eslint/typescript-eslint#11127)) ##### 🩹 Fixes - **eslint-plugin:** \[no-unsafe-assignment] add an `unsafeObjectPattern` message ([#11403](typescript-eslint/typescript-eslint#11403)) - **eslint-plugin:** \[prefer-optional-chain] ignore `check` option for most RHS of a chain ([#11272](typescript-eslint/typescript-eslint#11272)) ##### ❤️ Thank You - Brad Zacher [@bradzacher](https://github.com/bradzacher) - James Garbutt [@43081j](https://github.com/43081j) - Kim Sang Du [@developer-bandi](https://github.com/developer-bandi) - Sasha Kondrashov - tao - Younsang Na [@nayounsang](https://github.com/nayounsang) 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.38.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8380-2025-07-21) ##### 🩹 Fixes - disallow extra properties in rule options ([#11397](typescript-eslint/typescript-eslint#11397)) - **eslint-plugin:** \[consistent-generic-constructors] resolve conflict with `isolatedDeclarations` if enabled in `constructor` option ([#11351](typescript-eslint/typescript-eslint#11351)) ##### ❤️ Thank You - Andrew Kazakov [@andreww2012](https://github.com/andreww2012) - Younsang Na [@nayounsang](https://github.com/nayounsang) 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.37.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8370-2025-07-14) ##### 🩹 Fixes - **eslint-plugin:** \[unified-signatures] fix false positives for ignoreOverloadsWithDifferentJSDoc option ([#11381](typescript-eslint/typescript-eslint#11381)) ##### ❤️ Thank You - Yukihiro Hasegawa [@y-hsgw](https://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.36.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8360-2025-07-07) 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.35.1](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8351-2025-06-30) ##### 🩹 Fixes - remove prettier from eslint-plugin ([#11339](typescript-eslint/typescript-eslint#11339)) ##### ❤️ Thank You - Abhijeet Singh [@cseas](https://github.com/cseas) 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.35.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8350-2025-06-23) ##### 🚀 Features - **eslint-plugin:** \[no-base-to-string] add checkUnknown Option ([#11128](typescript-eslint/typescript-eslint#11128)) ##### ❤️ Thank You - Kim Sang Du [@developer-bandi](https://github.com/developer-bandi) 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.34.1](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8341-2025-06-16) 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.34.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8340-2025-06-09) ##### 🩹 Fixes - **typescript-estree:** add validation to interface extends ([#11271](typescript-eslint/typescript-eslint#11271)) ##### ❤️ Thank You - Tao 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.33.1](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8331-2025-06-02) ##### 🩹 Fixes - exclude docs/ directory from eslint-plugin package ([#11251](typescript-eslint/typescript-eslint#11251)) ##### ❤️ Thank You - roottool 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.33.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8330-2025-05-26) 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.
PR Checklist
Overview
add a message for object destructuring:
Unsafe object destructuring of a property with an {{sender}} value.
💖