Releases: detekt/detekt
v2.0.0-alpha.2
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
documentationtocomments- #8889 - Rename
emptytoemptyblocks- #8888 - Rename
bugsrules topotentialbugs- #8887 - Remove
UnnecessaryAnnotationUseSiteTargetrule - #8861 - Rename RuleSet.Id to RuleSetId - #8810
- Rename rule
CommentOverPrivateMethodtoDocumentationOverPrivateMethod- #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 TestConfigoveryamlConfigFromContent- #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
getPropertyAccessorSymbolmethod 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
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
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
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
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
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
expectclasses - #7857 - Fix InjectDispatcher false positives - #7797
- [UnnecessaryParentheses] Allow float/double without integer part - #7751
- Fix
ThrowingExceptionsWithoutMessageOrCausefalse positive - #7715 - Issue #7634: Make
UndocumentedPublicClassconfigurable 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
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 companionobject forUndocumentedPublicClass- #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
v1.23.6
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
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_ELVISinUnreachableCode- #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
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
Contributors
We would like to thank the following contributors that made this release possible: @3flex, @BraisGabin, @Gosunet, @atulgpt, @t-kameyama
v1.23.3
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
IgnoredReturnValuewith 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
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
IgnoredReturnValuewith 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
