detekt v1.9.0 Release Notes

Release Date: 2020-05-12 // 6 months ago
  • ๐Ÿ”„ Changelog
    • ๐Ÿ“š Extra documentation added to pitfalls section - #2675
    • ๐Ÿ”ง Use configuration avoidance for withType usages - #2672
    • GuardClause also matches if-with-body that contains a return - #2671
    • Simplify patterns - #2668
    • โœ… Include Kotlin multiplatform test folders to default exclude config - #2667
    • โœ‚ Remove duplicate MandatoryBracesLoops rule tests - #2665
    • โœ‚ Remove print statement in MandatoryBracesLoops - #2664
    • โœ‚ Remove $ as a valid char in class and method names - #2662
    • ๐Ÿ— Build detekt executable before publishing it - detekt#2654 - #2659
    • โž• Add style rule for mandatory braces in for loop bodies - #2658
    • ๐Ÿš€ Asset in release 1.8.0 is not up-to-date - #2654
    • Rule: Mandatory braces for single-line for loop bodies - #2652
    • ๐Ÿ”ง Use task configuration avoidance for detekt plugin - #2651
    • โž• Add detekt GitHub action to readme - #2650
    • Don't report unused private properties in expect class - #2646
    • UnusedPrivateMember: don't report parameters in expect/actual functions - #2643
    • UnusedPrivateMembers on expect class - #2636
    • ๐Ÿ”ง Include Kotlin multiplatform test folders to default exclude configuration - #2608

    ๐Ÿ‘€ See all issues at: 1.9.0


Previous changes from v1.8.0

  • Notable Changes
    • ๐Ÿ‘ Most rule properties now support yaml lists next to string's with comma-separated-entries.
    • ๐Ÿš€ Standalone detekt executable on GitHub release pages
    • ๐Ÿ†• New rules: UnnecessaryNotNullOperator and UnnecessarySafeCall
    Migration
    • Formatting rules get reported now on the correct lines. The baseline file may need to be adjusted/regenerated.
    • Issues concerning classes and objects are not reported at the identifier. The baseline file may need to be adjusted/regenerated.
    ๐Ÿ”„ Changelog
    • ๐Ÿ”ง Use yaml lists in our own configuration and tests - #2623
    • โš™ Run code coverage as an own action - #2622
    • ๐Ÿ— Modularize build script by introducing buildSrc module - #2621
    • *>excludes allow yaml list - #2620
    • Kotlin to 1.3.72 - #2619
    • ๐Ÿ”€ Set failfast to false for pre-merge - #2618
    • ๐Ÿ“š Update documentation - #2617
    • ThrowingExceptionsWithoutMessageOrCause>exceptions allow yaml list - #2616
    • SwallowedException>ignoredExceptionTypes allow yaml list - #2615
    • ๐Ÿ“ฆ ForbiddenPublicDataClass>ignorePackages allow yaml list - #2614
    • LabeledExpression>ignoredLabels allow yaml list - #2613
    • ForbiddenMethodCall>methods allow yaml list - #2612
    • Generate the cli as a stand alone executable - #2607
    • Report class and object violations at the identifier - #2606
    • ๐Ÿ›  Fix formatting line reporting - #2604
    • ๐Ÿ“š Correct documentation/recommendation of EmptyCatchBlock rule - #2603
    • Incorrect (or unclear) EmptyCatchBlock rule - #2602
    • ๐Ÿ‘• Use more lintAndCompile - #2601
    • MagicNumber>ignoredNumbers allow yaml list - #2600
    • โœ‚ Remove unnecesary symbolic link - #2598
    • WildcardImport>excludeImports allow yaml list - #2596
    • ForbiddenClassName>forbiddenName allow yaml list - #2595
    • ๐Ÿ›  Fix false positives in UndocumentedPublicProperty - #2591
    • ๐Ÿ›  Fix false positive in UndocumentedPublicClass - #2588
    • *>Annotated allow yaml lists - #2587
    • ForbiddenComment>values allow yaml list - #2585
    • ExceptionRaisedInUnexpectedLocation>methodNames allow yaml list - #2584
    • ComplexMethod>nestingFunctions allow yaml list - #2583
    • UndocumentedPublicClass false positive for inner types - #2580
    • ๐Ÿ†• New Rule: UnnecessaryNotNullOperator - #2578
    • ๐Ÿ†• New Rule: UnnecessarySafeCall - #2574
    • ๐Ÿ†• New Rule: UnnecessarySafeCall - #2572
    • โž• Add ignoreAnnotated option to LongParameterList - #2570
    • ๐Ÿ”ง Rule configuration request: Ignore based on annotations - #2563
    • โœ… codecov test coverage report doesn't work correctly - #2558
    • ๐Ÿ‘Œ Support yaml lists in the configuration values - #2498
    • Baseline ignoring MaxLineLength: on 1.0.1 - #1906
    • Formatting rules are reported at wrong line (e.g. MaximumLineLength) - #1843

    ๐Ÿ‘€ See all issues at: 1.8.0