1.17.0-RC1 - 2021-05-01
Notable Changes
- This release allows you to replace your
jcenter()
dependencies withmavenCentral()
given that our dependency onkotlinx.html
migrated to Maven Central - See #3455 - We now introduced the
src/test/java
andsrc/test/kotlin
by default for the plaindetekt
Gradle task. If you use that task, you might notice rule reports in your test sourceset. See #3649 - We now default the baseline file to
baseline.xml
so you don't have to specify it manually. You can revert the previous behavior by setting the baseline tonull
- See #3619 - We enabled the SARIF output format by default - See #3543
- We're introducing annotations to provide metadata to rules, such as
@ActiveByDefault
,@Configuration
and@RequiresTypeResolution
- See #3637 #3592 and #3579
Changelog
- MultilineLambdaItParameter: don't report when lambda has no implicit parameter references - #3696
- Fix false positives for UnnecessaryFilter - #3695
- Deprecate configuration of reports in detekt Gradle extension - #3687
- Ignore actual members in UnusedPrivateMember - #3669
- NamedArguments rule: fix false positive with trailing lambda - #3661
- Add DeprecatedBlockTag rule - #3660
- Noisy gradle - #3655
- Drop support to Gradle 5 - #3647
- Add MayBeConstant as alias for MayBeConst - #3644
- [ThrowingExceptionInMain] [ExitOutsideMainfix] fix for KtNamedFunction.isMainFunction() - #3641
- Fixing IllegalArgumentException in ForbiddenMethodCall rule for Intersection type parameters - #3626
- Remove deprecated configurations and deprecate new ones - #3621
- Replace getJetTypeFqName with fqNameOrNull extension - #3613
- New Rule: ObjectLiteralToLambda - #3599
- [MemberNameEqualsClassName] Support factory exemption for generic classes - #3595
- Refactor Analyzer so that RuleSetProvider.instance is only called once - #3585
- SarifOutputReportSpec: Correctly detect Windows root directory on local development machine - #3584
- Replace @SInCE KDoc tag with @SinceDetekt - #3582
- Simplify code in RedundantSuspendModifier rule - #3580
- Revert "Refactor Analyzer so that RuleSetProvider.instance is only called once" - #3578
- fix error message -> buildUponDefaultConfig instead of buildOnDefaultConfig - #3572
- UnnecessaryApply: fix false positive when lambda has multiple member references - #3564
- Fix [ClassOrdering] to treat extensions properties as functions. - #3559
- Switch SARIF report off jackson - #3557
- Fix rules not appearing in the sarif output - #3556
- Refactor Analyzer so that RuleSetProvider.instance is only called once - #3555
- New Rule: DoubleMutabilityForCollection - #3553
- Adds a ForbiddenSingleExpressionSyntax rule - #3550
Dependency Updates
- Upgrade to GitHub-native Dependabot - #3716
- Upgrade to Gradle 7 - #3689
- Bump com.gradle.plugin-publish from 0.13.0 to 0.14.0 - #3654
- Bump kotlin-reflect from 1.4.0 to 1.4.32 - #3627
- Upgrade to ktlint 0.41.0 - #3624
- Update to Kotlin 1.4.32 - #3606
- Bump AGP from 4.1.2 to 4.1.3 - #3589
- Bump mockk from 1.10.6 to 1.11.0 - #3588
Housekeeping & Refactorings
- Remove --stacktrace now that we have scan - #3724
- Drop JCenter usage from detekt's own build - #3711
- Publish build scans for all CI builds - #3710
- Remove deprecated kotlin-dsl Gradle config option - #3709
- Update to setup-java@v2 - #3704
- Simplify UpdateVersionInFileTask - #3693
- Fix compilation issue in
:detekt-rules-style:compileTestKotlin
- #3691 - Fix detekt failure in CI - #3674
- Refactor UnusedPrivateMemberSpec - #3667
- Warnings as errors - #3646
- Skip ios tests if no ci - #3635
- Fix tests - #3634
- Include detekt-rules on CLI runtime classpath - #3625
- Improve tests from :detekt-gradle-plugin - #3623
- Improve generator test coverage - #3622
- Improve tests - #3618
- Apply more formatting rules to our code - #3615
- Add negative test case for
requiresTypeResolution
- #3614 - Simplify Gradle config - #3612
- Decouple Gradle projects - #3611
- Add --stacktrace to help triage CI flakiness - #3604
- Fix CI failure for deploy-snapshot - #3598
- Improve Deprecation and Documentation for allRules - #3596
- Update files to support
main
branch in order to remove oppressive language - #3586 - Format test code for RedundantSuspendModifierSpec - #3581
- Gradle tweaks - #3575
- Support Gradle config cache in detekt's build - #3574
- Show information from @Active in the website - #3569
- Update rule doc for SwallowedException config - #3547
- Markdown: Reintroduce double-backticks for inline code rendering - #3545
See all issues at: 1.17.0