Releases: typescript-eslint/typescript-eslint
Releases · typescript-eslint/typescript-eslint
v8.7.0
8.7.0 (2024-09-23)
🚀 Features
- eslint-plugin: [no-unsafe-call] check calls of Function (#10010)
- eslint-plugin: [consistent-type-exports] check
export *
exports to see if all exported members are types (#10006)
🩹 Fixes
- eslint-plugin: properly coerce all types to string in
getStaticMemberAccessValue
(#10004) - eslint-plugin: [no-deprecated] report on imported deprecated variables (#9987)
- eslint-plugin: [no-confusing-non-null-assertion] check !in and !instanceof (#9994)
- types: add
NewExpression
as a parent ofSpreadElement
(#10024) - utils: add missing entries to the RuleListener selectors list (#9992)
❤️ Thank You
- Abraham Guo
- auvred @auvred
- Brian Donovan @eventualbuddha
- Kirk Waiblinger @kirkwaiblinger
You can read about our versioning strategy and releases on our website.
v8.6.0
8.6.0 (2024-09-16)
🚀 Features
- add
allow
option forrestrict-template-expressions
(#8556) - eslint-plugin: [no-unnecessary-condition] check switch cases (#9912)
- eslint-plugin: [no-misused-promises] check array predicate return (#9955)
- type-utils: isNullableType add Void logic (#9937)
- typescript-estree: disable plugin loading by default in project service (#9964)
🩹 Fixes
- eslint-plugin: [no-deprecated] don't report recursive types in destructuring assignment twice (#9969)
- eslint-plugin: [no-deprecated] report on deprecated variables used in destructuring assignment (#9978)
- eslint-plugin: [no-deprecated] report on deprecated properties with function-like types (#9977)
- eslint-plugin: [no-unnecessary-condition] properly reflect multiple negations in message (#9940)
- typescript-estree: don't throw on missing tsconfig.json by default in project service (#9989)
❤️ Thank You
- Abraham Guo
- auvred @auvred
- Josh Goldberg ✨
- Kim Sang Du @developer-bandi
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
v8.5.0
8.5.0 (2024-09-09)
🚀 Features
- eslint-plugin: [no-duplicate-type-constituents] prevent unnecessary
| undefined
for optional parameters (#9479) - eslint-plugin: [no-unsafe-argument] differentiate error types (#9920)
- typescript-estree: default projectService.defaultProject to 'tsconfig.json' (#9893)
🩹 Fixes
- deps: update dependency prism-react-renderer to v2.4.0 (#9943)
- eslint-plugin: [no-unnecessary-type-assertion] fix TSNonNullExpression fixer (#9898)
- eslint-plugin: [no-misused-promises] handle static method (#9951)
- eslint-plugin: [no-unnecessary-type-parameters] fix AST quick path scope analysis (#9900)
- eslint-plugin: [consistent-type-assertions] access parser services lazily (#9921)
❤️ Thank You
- Abraham Guo
- Josh Goldberg ✨
- Kirk Waiblinger @kirkwaiblinger
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
v8.4.0
8.4.0 (2024-09-02)
🚀 Features
- typescript-estree: make withoutProjectParserOptions generic (#9877)
❤️ Thank You
- Josh Goldberg ✨
You can read about our versioning strategy and releases on our website.
v8.3.0
8.3.0 (2024-08-26)
🚀 Features
- eslint-plugin: [no-deprecated] add rule (#9783)
- typescript-estree: replace
globby
w/fast-glob
(#9518) - typescript-estree: reload project service once when file config isn't found (#9853)
🩹 Fixes
- ast-spec: use
Expression
in argument ofThrowStatement
(#9632) - eslint-plugin: [no-unnecessary-template-expression] add missing parentheses in autofix (#8673)
- eslint-plugin: [no-unnecessary-type-parameters] check mapped alias type arguments (#9741)
- utils: add missing
TSSatisfiesExpression
inRuleListenerBaseSelectors
(#9832) - utils: add
TSDeclareFunction
tofunctionTypeTypes
(#9788)
❤️ Thank You
- Abraham Guo
- Daichi Kamiyama @dak2
- Josh Goldberg ✨
- Kim Sang Du @developer-bandi
- Sukka
- Vida Xie @9romise
You can read about our versioning strategy and releases on our website.
v8.2.0
8.2.0 (2024-08-19)
🚀 Features
- eslint-plugin: add suggestion to
require-await
to removeasync
keyword (#9718) - typescript-estree: special-case error for parserOptions.project and project references (#9686)
🩹 Fixes
- eslint-plugin: [use-unknown-in-catch-callback-variable] flag second argument of
.then
(#9059) - eslint-plugin: [no-unnecessary-type-assertion] conflict with TS for variables used before assignment (#9209)
- eslint-plugin: delete [] in message if ReadOnly<string[]> is detected (#9513)
- eslint-plugin: [no-redundant-type-constituents] differentiate a types-error any from a true any (#9555)
- eslint-plugin: [no-unnecessary-type-parameters] check mapped constraint types if necessary (#9740)
- eslint-plugin: [no-unsafe-enum-comparison] add logic to see through intersections (#9777)
- typescript-estree: pass in tsconfigRootDir as cwd to getParsedConfigFile (#9804)
❤️ Thank You
- Abraham Guo
- Dave @reduckted
- Jake Bailey @jakebailey
- James @Zamiell
- Josh Goldberg ✨
- liuxingbaoyu @liuxingbaoyu
- Yukihiro Hasegawa @y-hsgw
- Yutong Zhu @YutongZhuu
You can read about our versioning strategy and releases on our website.
v8.1.0
8.1.0 (2024-08-12)
🚀 Features
- eslint-plugin: [no-floating-promises] enable "add await" suggestion if ignoreVoid is true (#9703)
- eslint-plugin: [no-unsafe-return] check promise any (#8693)
- eslint-plugin: [no-misused-promises] check subtype methods against heritage type methods (#8765)
- typescript-eslint: add JSDoc comments on generated configs (#9672)
- typescript-estree: restrict variable declarator definite/init combinations (#9228)
🩹 Fixes
- eslint-plugin: [no-unsafe-enum-comparison] typo in test (#9779)
- eslint-plugin: [no-unnecessary-type-parameters] skip checking function bodies for AST references (#9738)
- eslint-plugin: [member-ordering] get accessor member name & take into account
abstract
and decorator (#9775) - eslint-plugin: [prefer-optional-chain] wrong parenthesis fix output (#9597)
- eslint-plugin: [no-unnecessary-type-parameters] clarify message (#9737)
- utils: correct types to align with @types/eslint v9 (#9657)
- website: tsconfig is blank (#9745)
❤️ Thank You
- Aly Thobani
- Brad Zacher @bradzacher
- James @Zamiell
- Josh Goldberg ✨
- Joshua Chen
- Olivier Zalmanski @OlivierZal
- YeonJuan @yeonjuan
- Yukihiro Hasegawa @y-hsgw
You can read about our versioning strategy and releases on our website.
v8.0.1
8.0.1 (2024-08-05)
🩹 Fixes
- eslint-plugin: [no-unused-vars] ignore imports used only as types (#9694)
❤️ Thank You
- Jake Bailey @jakebailey
You can read about our versioning strategy and releases on our website.
v8.0.0
8.0.0 (2024-07-31)
⚠️ Breaking Changes
- typescript-estree: split TSMappedType typeParameter into constraint and key (#7065)
- parser: always enable comment, loc, range, tokens (#8617)
- eslint-plugin: [prefer-nullish-coalescing] change ignoreConditionalTests default to true (#8872)
- typescript-estree: enable dot globs for project by default (#8818)
- eslint-plugin: deprecate no-loss-of-precision extension rule (#8832)
- eslint-plugin: remove formatting/layout rules (#8833)
- typescript-estree: remove slow deprecated and isolated programs (#8834)
- typescript-estree: add TSEnumBody node for TSEnumDeclaration body (#8920)
- typescript-estree: rename automaticSingleRunInference to disallowAutomaticSingleRunInference (#8922)
- ast-spec: remove deprecated type params (#8933)
- type-utils: remove IsNullableTypeOptions interface (#8934)
- eslint-plugin: [no-unused-vars] align catch behavior to ESLint 9 (#8971)
- utils: swap LegacyESLint out for FlatESLint as ESLint export (#8972)
- eslint-plugin: split no-empty-object-type out from ban-types and no-empty-interfaces (#8977)
- utils: allow specifying additional rule meta.docs in RuleCreator (#9025)
- eslint-plugin: apply initial config changes for v8 (#9079)
- eslint-plugin: replace ban-types with no-restricted-types, no-unsafe-function-type, no-wrapper-object-types (#9102)
- typescript-estree: remove EXPERIMENTAL_useSourceOfProjectReferenceRedirect (#9104)
- eslint-plugin: remove no-useless-template-literals (#9207)
- type-utils: remove getTokenAtPosition (#9444)
- eslint-plugin: [no-floating-promises] disable checkThenables by default for v8 (#9559)
- rule-tester: switched to flat config (#9603)
🚀 Features
- stricter parent types for the AST (#9560)
- speed up non-type-aware linting with project service (#8322)
- v8 integration branch (#9165)
- eslint-plugin: remove deprecated no-throw-literal rule (#9092)
- eslint-plugin: [no-floating-promises] add 'allowForKnownSafeCalls' option (#9234)
- eslint-plugin: [no-unused-vars] add
reportUnusedIgnorePattern
option (#9324) - eslint-plugin: [no-unused-vars] support
ignoreClassWithStaticInitBlock
(#9325) - eslint-plugin: [no-unused-vars] handle comma operator for assignments, treat for-of the same as for-in (#9326)
- eslint-plugin: [no-unused-vars] report if var used only in typeof (#9330)
- eslint-plugin: [return-await] add return-await to strict-type-checked preset (#9604)
- eslint-plugin: [no-unnecessary-type-parameters] promote to strict (#9662)
- rule-tester: support multipass fixes (#8883)
- type-utils: support intersection types in TypeOrValueSpecifier (#9633)
- typescript-estree: stabilize EXPERIMENTAL_useProjectService as projectService (#9084)
- typescript-estree: also remove projectService in withoutProjectParserOptions (#9287)
- typescript-estree: exposes ProjectService logs through the plugin (#9337)
- utils: add Linter configType constructor option (#8999)
- utils: remove deprecated context helpers (#9000)
🩹 Fixes
- correct eslint-plugin's peerDependency on parser@8 (#9089)
- bring back in allowdefaultprojectforfiles rename (7dfceeeea)
- disable
projectService
indisabled-type-checked
shared config (#9460) - eslint-plugin: include alpha pre-releases in parser peer dependency (#9099)
- eslint-plugin: correct rules.d.ts types to not rely on non-existent imports (#9339)
- eslint-plugin: remove duplicate import
RuleModuleWithMetaDocs
(#9465) - eslint-plugin: [no-unnecessary-template-expression] do not render escaped strings in autofixes (#8688)
- eslint-plugin: [no-unused-vars] incorporate upstream changes around caught errors report messages (#9532)
- eslint-plugin: [no-misused-promises] perf: avoid getting types of variables/functions if the annotated type is obviously not a function (#9656)
- rule-tester: set configType to eslintrc in Linter options (#9178)
- rule-tester: re-apply updates from main (#9180)
- rule-tester: provide Linter a cwd in its constructor (#9678)
- type-utils: also check declared modules for package names in TypeOrValueSpecifier (#9500)
- types: allow ProjectServiceOptions for projectService (#9318)
- typescript-estree: pass extraFileExtensions to projectService (#9051)
- typescript-estree: only run projectService setHostConfiguration when needed (#9336)
- typescript-estree: specific error for parserOptions.project not including a file (#9584)
- typescript-estree: adds support for project services using extended config files (#9306)
- typescript-estree: factor tsconfigRootDir into allowDefaultProject (#9675)
❤️ Thank You
- Abraham Guo
- Alfred Ringstad @alfredringstad
- auvred @auvred
- Brad Zacher @bradzacher
- Christopher Aubut @higherorderfunctor
- Collin Bachman @bachmacintosh
- James Henry @JamesHenry
- Josh Goldberg
- Josh Goldberg ✨
- Kirk Waiblinger @kirkwaiblinger
- StyleShit @StyleShit
- Victor Lin @yepitschunked
- Yukihiro Hasegawa @y-hsgw
You can read about our versioning strategy and releases on our website.
v7.18.0
7.18.0 (2024-07-29)
🚀 Features
- types: update ECMA versions (#9634)
🩹 Fixes
- eslint-plugin: [no-unnecessary-type-assertion] prevent runtime error when asserting a variable declared in default TS lib (#9660)
- eslint-plugin: [unbound-method] report on destructuring in function parameters (#8952)
- eslint-plugin: [no-duplicate-type-constituents] shouldn't report on error types (#9600)
- eslint-plugin: [strict-boolean-expressions] support branded booleans (#9297)
❤️ Thank You
You can read about our versioning strategy and releases on our website.