Releases · detekt/detekt · GitHub
Skip to content

Releases: detekt/detekt

v2.0.0-alpha.2

27 Jan 01:06
7508295

Choose a tag to compare

v2.0.0-alpha.2 Pre-release
Pre-release

2.0.0-alpha.2 - 2026-01-27

This is an alpha release of Detekt 2.0.0. It's built against Kotlin 2.3.0, Gradle 9.3.0, AGP 9.0.0 and is tested against JDK 25.

Please note that in order for this alpha of Detekt to run in an AGP 9.0.0 project, you will need to disable the new DSL and built-in Kotlin by adding these properties to gradle.properties:

android.newDsl=false
android.builtInKotlin=false

Further updates on builtInKotlin support in Detekt Gradle Plugin will be available here.

Notable Changes

  • Bump Kotlin to 2.3.0 - #8743
  • Bump Gradle to 9.3.0 - #8982
  • Bump AGP to 9 - #8553
  • Bump minimum AGP to 8.2.2 - #8931
  • Enable rules by default that are now standard in ktlint 1.8.0 - #8849
  • Bump KtLint to v1.8.0 - #8843
  • New ktlint Rule: ThenSpacingRule - #8850
  • New Rule: UnnecessaryInitOnArray - #8784
  • New Rule: UnnecessaryFullyQualifiedName - #8917

Breaking Changes

  • Rename documentation to comments - #8889
  • Rename empty to emptyblocks - #8888
  • Rename bugs rules to potentialbugs - #8887
  • Remove UnnecessaryAnnotationUseSiteTarget rule - #8861
  • Rename RuleSet.Id to RuleSetId - #8810
  • Rename rule CommentOverPrivateMethod to DocumentationOverPrivateMethod - #8778
  • Refactor AbsentOrWrongFileLicense - #8969
  • Compile DGP against kotlin-plugin-api only not KGP itself - #8756
  • Change configuration options for ForbiddenImport rule - #8747

Changelog

  • fix(UnusedImport): detect named companion objects correctly - #9005
  • Remove unnecessary tests - #8985
  • Pass the correct type to TestConfig - #8984
  • Remove special case for active at TestConfig - #8983
  • TestConfig over yamlConfigFromContent - #8974
  • Skip underscore placeholders for unused variables on NonNameShadowing rule (#8962) - #8965
  • docs: clarify function type handling in ForbiddenMethodCall - #8964
  • Check if there suspend function in try block before reporting - #8950
  • Fix SubpluginArtifact coordinates for dev.detekt:detekt-compiler-plugin - #8938
  • Handle case when inner is required as parent is inner - #8927
  • Add paragraph on AI contributed PR - #8922
  • Handle case when reference is provided - #8895
  • Don't enable rules by default that are only enabled when using ktlint_official code style - #8845
  • Filter operations which are terminal as they don't continue sequence - #8804
  • Add modality check from analysis api - #8803
  • Update getPropertyAccessorSymbol method to correctly return getter … - #8787
  • Fix #8160 - Exclude classes in NamedArguments rule - #8782
  • remove suppression - #8736
  • Remove "V2" from DGP plugin display name and description - #8628

Dependency Updates

  • Bump Kotlin to v2.2.21 - #8807
  • Bump AGP to 8.13.2 - #8914
  • Add transitive assertj dep of assertj core in detekt-test-assertj - #8923
  • chore(deps): update gradle to v9.2.1 - #8868
  • fix(deps): update dependency com.android.tools.build:gradle to v8.13.1 - #8838
  • chore(deps): update gradle to v9.2.0 - #8820

Housekeeping & Refactorings

  • Bump min Node version for website build - #8875
  • Enable ValueArgumentComment for detekt project - #8854

Contributors

We would like to thank the following contributors that made this release possible: @3flex, @BraisGabin, @atulgpt, @chao2zhang, @cortinico, @csbiy, @forketyfork, @marschwar, @rschattauer

v2.0.0-alpha.1

21 Oct 18:14
c33d239

Choose a tag to compare

v2.0.0-alpha.1 Pre-release
Pre-release

2.0.0-alpha.1 - 2025-10-21

This is an alpha release of Detekt 2.0.0. Is built against Kotlin 2.2.20, Gradle 9.1.0 and is tested against JDK 25.

Full changelog is available here: https://detekt.dev/changelog-2.0.0

Requirements

Detekt Version Gradle Kotlin AGP Java Target Level JDK Max Version
2.0.0-alpha.1 9.1.0 2.2.20 8.13.0 1.8 25

Contributors

We would like to thank the following contributors that made this release possible: @3flex @BraisGabin @Copilot @CziSKY @atulgpt @jonapoul @marschwar @mikaelreiersolmoen

See all issues at: 2.0.0

v2.0.0-alpha.0

04 Sep 13:40
4298b32

Choose a tag to compare

v2.0.0-alpha.0 Pre-release
Pre-release

2.0.0-alpha.0 - 2025-09-04

This is an initial alpha release of Detekt 2.0.0.

Full changelog is available here: https://detekt.dev/changelog-2.0.0

Requirements

Detekt Version Gradle Kotlin AGP Java Target Level JDK Max Version
2.0.0-alpha.0 8.13.0 2.2.10 8.13.0 1.8 21

Contributors

We would like to thank the following contributors that made this release possible: @3flex, @BraisGabin, @ErdoganSeref, @GeorgCantor, @Goooler, @Gosunet, @Hexcles, @JordanLongstaff, @LeoColman, @MaximSysoev, @Nava2, @PStrelchenko, @PhilippNowak96, @PoisonedYouth, @TWiStErRob, @VirtualParticle, @VovaStelmashchuk, @arturbosch, @atulgpt, @baseballyama, @bmuschko, @bomiyr, @bric3, @brunoescalona, @chao2zhang, @cortinico, @dzirbel, @eygraber, @hirokinoue, @hudson155, @ilim-ablyaev, @inorichi, @kkocel, @lexa-diky, @marschwar, @matejdro, @mdemianova, @mgroth0, @neugartf, @noar-t, @pablobaxter, @paolorotolo, @psuzn, @rhazarian, @rmarquis, @robholmes, @schalkms, @segunfamisa, @severn-everett, @stellingsimon, @t-kameyama, @tfcporciuncula, @xouabita.

See all issues at: 2.0.0

v1.23.8

21 Feb 14:59
0462637

Choose a tag to compare

1.23.8 - 2025-02-20

This is a point release for Detekt 1.23.0, built against Kotlin 2.0.21, with fixes for several bugs that got reported by the community.

Notable Changes
  • fix(deps): Update kotlin to 2.0.21 - #7580
  • fix(deps): Update AGP to v8.8.1 - #7879
  • fix(deps): update Gradle to v8.12.1 - #7780
Changelog
  • UseDataClass: do not report on expect classes - #7857
  • Fix InjectDispatcher false positives - #7797
  • [UnnecessaryParentheses] Allow float/double without integer part - #7751
  • Fix ThrowingExceptionsWithoutMessageOrCause false positive - #7715
  • Issue #7634: Make UndocumentedPublicClass configurable to flag `com… - #7635
  • Fix redundant empty tags in baseline XML - #7625
  • MatchingDeclarationName now supports platofrm suffixes - #6426
Contributors

We would like to thank the following contributors that made this release possible: @BraisGabin, @JordanLongstaff, @Nava2, @atulgpt, @eygraber, @lexa-diky, @t-kameyama

v1.23.7

08 Sep 17:08
f951808

Choose a tag to compare

1.23.7 - 2024-09-08

This is a point release for Detekt 1.23.0, built against Kotlin 2.0.10, with fixes for several bugs that got reported by the community.

Notable Changes
  • fix(deps): update kotlin monorepo to v2.0.10 - #7517
  • Update to Kotlin 2.0.0 #6640
  • fix(deps): update kotlin monorepo to v1.9.24 - #7264
  • fix(deps): update dependency com.android.tools.build:gradle to v8.5.2 - #7525
  • chore(deps): update dependency gradle to v8.10 - #7546
Changelog
  • Add basic support for isolated projects to 1.x - #7526
  • ExplicitCollectionElementAccessMethod: fix false positive when Map put has 3 arguments - #7563
  • BracesOnIfStatements: fix false-positive when chained - #7444
  • Add enum entry check in UndocumentedPublicProperty - #7426
  • Use the anchor which is already present before - #7423
  • Fix small corner-case in "SerialVersionUIDInSerializableClass" rule, … - #7346
  • SwallowedException: fix false positive when exception is used as a receiver - #7288
  • NamedArguments: fix false positive on spread varargs - #7283
  • MultilineLambdaItParameter: fix false negative with single statement on multiple lines - #7221
  • Check for root of receiver in selector expression - #7220
  • Check for public companion object for UndocumentedPublicClass - #7219
  • fix: TopLevelPropertyNaming also detecting extension property name - #7212
  • Publish detekt-compiler-plugin-all to Maven and GH Releases - #7179
  • versioned default detekt config file link - #7161
  • Support rangeUntil operator for UnusedImport rule - #7104
  • Fix false positive on it usages when type parameter is specified - #6850
Housekeeping/Docs
  • [bugfix] AnnotationOnSeparateLine in snippets - #6526
  • Add docs about using the Compiler Plugin with the Kotlin CLI compiler - #7184

v1.23.6

25 Mar 11:08
418f78b

Choose a tag to compare

1.23.6 - 2024-03-23

This is a point release for Detekt 1.23.0, where we added support for Kotlin 1.9.23 and fixed several bugs that got reported by the community.

Changelog
  • UselessPostfixExpression - Fix #7037 false positive postfix - #7084
  • Don't allow invalid Source Locations - #7030
  • UnusedPrivateClass: don't report if private classes are used for type conversion - #6995
  • RedundantSuspendModifier: do not report when the function has 'actual' modifier - #6951
  • Update dependency gradle to v8.7 - #7080
  • Update kotlin monorepo to v1.9.23 - #7027
  • Update dependency gradle to v8.6 - #6939
  • Update dependency com.android.tools.build:gradle to v8.3.1 - #7070
Contributors

We would like to thank the following contributors that made this release possible: @BraisGabin, @psuzn, @t-kameyama.

v1.23.5

31 Jan 14:41
ec1a13e

Choose a tag to compare

This is a point release for Detekt 1.23.0, where we added support for Kotlin 1.9.22 and fixed several bugs that
got reported by the community.

Notable Changes
  • Test Gradle plugin with AGP 8.2.0 - #6672
  • chore(deps): update dependency gradle to v8.5 - #6663
  • fix(deps): update kotlin monorepo to v1.9.22 - #6746
Changelog
  • Report rule's default severity in sarif backport - #6916
  • Add ignoreAnnotatedFunctions to TooManyFunctions - #6875
  • Fix by checking the existence of label in previous statements - #6671
  • Also check USELESS_ELVIS in UnreachableCode - #6624
  • Fix by adding last method call to the set - #6567
Housekeeping & Refactorings
  • Opt in to ExperimentalCompilerApi in all compilations in compiler-plugin - #6534
Contributors

We would like to thank the following contributors that made this release possible: @3flex, @TWiStErRob, @atulgpt, @matejdro

v1.23.4

26 Nov 11:50
fe4b3d5

Choose a tag to compare

1.23.4 - 2023-11-26

This is a point release for Detekt 1.23.0, where we added support for Kotlin 1.9.21 and fixed several bugs that
got reported by the community.

Notable Changes
  • fix(deps): update kotlin monorepo to v1.9.21 - #6642
  • fix(deps): update kotlin monorepo to v1.9.20 - #6572
Changelog
  • Update the ruleset regex to allow numbers - #6635
  • Show deprecation message - #6614
  • Add io.gitlab.arturbosch.detekt.generator.Main to the jar manifest - #6613
  • Don't report FunctionNaming when the function's name equals to the return type's name with type arguments - #6605
  • Fix issues related to kotlin-stdlib's Gradle module metadata in Kotlin 1.9.20 - #6590
  • MethodSignature - Add the condition of receiver should be null - #6570
  • Remove check for deprectated functions toUpperCase and toLowerCase - #6548
  • Fixes false positive of trailing whitespaces in kdoc - #6370
Dependency Updates
  • Update tested AGP version to 8.1.3 - #6610
  • Switch to kctfork for Kotlin compilation testing - #6589
Contributors

We would like to thank the following contributors that made this release possible: @3flex, @BraisGabin, @Gosunet, @atulgpt, @t-kameyama

v1.23.3

31 Oct 21:32
2f6a52a

Choose a tag to compare

1.23.3 - 2023-10-31

This is a point release for Detekt 1.23.0, where we added support for Kotlin 1.9.10 and fixed several bugs that
got reported by the community.

NOTE: This is a republishing of 1.23.2 which was accidentally published against Kotlin 1.9.0 instead of 1.9.10

Changelog
  • Consider deprecated rules as inactive when running allRules #6381
  • Fix inputstream leaking file descriptor in Gradle - #6519
  • ForbiddenMethodCall - Handle sequence of overridden methods - #6478
  • Function to return supported Kotlin version - #6472
  • Fix false negative IgnoredReturnValue with scope functions - #6446
  • UnconditionalJumpStatementInLoop: don't report a conditional break in a single body expression - #6443
  • Fix reporting unused imports at file level - #6390
  • OutdatedDocumentation - Detect param which private property documented as property - #6372
  • NullableToStringCall: fix false negative in lambda - #6352
  • Correctly set scheme for URIs in the SARIF report output - #6331
  • SleepInsteadOfDelay - Find the parent for suspend check - #6191
Dependency Updates
  • Update kotlin monorepo to v1.9.10 - #6423
  • Update dependency gradle to v8.4 - #6522
  • Update dependency gradle to v8.3 - #6406
  • Update com.android.tools.build to 8.1.1 - #6419
  • update dependency org.jetbrains.dokka to v1.9.10 - #6549
Contributors

We would like to thank the following contributors that made this release possible: @3flex, @arturbosch, @atulgpt, @kkocel, @marschwar, @pablobaxter, @t-kameyama

v1.23.2

31 Oct 11:52
f539a60

Choose a tag to compare

1.23.2 - 2023-10-29

NOTE: Please use version 1.23.3 instead - Version 1.23.2 was accidentally built against Kotlin 1.9.0 instead of 1.9.10
https://github.com/detekt/detekt/releases/tag/v1.23.3

This is a point release for Detekt 1.23.0, where we added support for Kotlin 1.9.10 and fixed several bugs that
got reported by the community.

Changelog
  • Consider deprecated rules as inactive when running allRules #6381
  • Fix inputstream leaking file descriptor in Gradle - #6519
  • ForbiddenMethodCall - Handle sequence of overridden methods - #6478
  • Function to return supported Kotlin version - #6472
  • Fix false negative IgnoredReturnValue with scope functions - #6446
  • UnconditionalJumpStatementInLoop: don't report a conditional break in a single body expression - #6443
  • Fix reporting unused imports at file level - #6390
  • OutdatedDocumentation - Detect param which private property documented as property - #6372
  • NullableToStringCall: fix false negative in lambda - #6352
  • Correctly set scheme for URIs in the SARIF report output - #6331
  • SleepInsteadOfDelay - Find the parent for suspend check - #6191
Dependency Updates
  • Update kotlin monorepo to v1.9.10 - #6423
  • Update dependency gradle to v8.4 - #6522
  • Update dependency gradle to v8.3 - #6406
  • Update com.android.tools.build to 8.1.1 - #6419
  • update dependency org.jetbrains.dokka to v1.9.10 - #6549
Contributors

We would like to thank the following contributors that made this release possible: @3flex, @arturbosch, @atulgpt, @kkocel, @marschwar, @pablobaxter, @t-kameyama