detekt v1.7.0 Release Notes

Release Date: 2020-03-22 // about 4 years ago
  • Notable Changes
    • ๐ŸŽ The Gradle plugin should be on par with the CLI performance-wise
    • ๐Ÿ‘ Good to know: detekt CLI always supported argument files (java -jar detekt-cli.jar @argsfile)
    • ๐Ÿ†• New CLI --version flag
    • ๐Ÿ†• New Rule AbsentOrWrongFileLicense and other rule improvements
    ๐Ÿ”„ Changelog
    • โšก๏ธ Update Travis to use the newest xcode11.3 image - #2480
    • ๐Ÿ”€ Synchronize use of root extension point - #2479
    • ๐Ÿ‘ Extend ComplexInterface to support exclusion of private member/functions - #2478
    • ๐Ÿ”จ Minor refactors around --create-baseline - #2477
    • Check primary ctor in UndocumentedPublicProperty - #2475
    • Unify yaml strings - #2472
    • โš™ Running detektBaseline generates too general exceptions, disabling rules - #2471
    • UndocumentedPublicProperty doesn't check primary constructor - #2468
    • โœ‚ Remove default implementations of toString() - #2467
    • โœ‚ Remove tags from core documentation sites - #2466
    • Validate boolean config values - Closes #2045 - #2465
    • โž• Add test for BaselineHandler - #2462
    • ๐Ÿ”จ Refactor BaselineFormatSpec.kt - #2461
    • โž• Add tests for BaselineFacade - #2460
    • ๐Ÿ›  Fix toString() output for Whitelist class - #2459
    • โœ‚ Remove unused functions in XmlExtensions.kt - #2458
    • โž• Add test cases for invalid yaml config - #2457
    • โž• Add edge test cases for ComplexityReportGenerator - #2456
    • Simplify anonymous Detektion object creation - #2455
    • โšก๏ธ Update trim logic in Debt:toString() - #2453
    • ๐Ÿ”จ Refactor FindingsReport + FileBasedFindingsReport - #2451
    • โœ… Rename tests with _Test prefix to _Spec - #2450
    • ๐Ÿ”จ Refactor HtmlOutputReport - #2449
    • โœ… Simplify UnnecessaryApplySpec test cases - #2448
    • ๐Ÿ”— Link code samples package for extension guide - #2447
    • ComplexInterface - should it also count private methods? - #2446
    • โšก๏ธ Update AppVeyor branch conf to comply with Travis - #2445
    • โž• Add PsiViewer plugin to Contributing guide - #2444
    • UnnecessaryApply: fix false positive when it's used as an expression - #2442
    • โž• Add detekt-hint to integrations - #2441
    • SwallowedException: fix false negative when using variables - #2436
    • UnnecessaryApply false positive cases - #2435
    • ๐Ÿš€ Prepare 1.7.0-beta2 release - #2434
    • Parallel invocation of DetektFacade fails spuriously - #2433
    • ๐Ÿ—„ Deprecate BaseRule and state that it will be make sealed - #2365 - #2432
    • โž• Add License rule - #2429
    • Skip all guard clauses at function start for ReturnCount - Closes #2342 - #2428
    • Fail if --baseline file not found - #2427
    • โž• Add tests for YamlConfig - #2426
    • Choose a minimum codecov patch coverage ratio - #2425
    • Include ruleset-suppression feature doc - #2424
    • โž• Add Groovy DSL example for jvmTarget to homepage - #2423
    • โž• Add groovy dsl example for jvmTarget - Closes #2408 - #2422
    • ๐Ÿ—„ Deprecate hierarchical config - #2421
    • ๐Ÿ—„ Deprecate implementations of Config - #2420
    • โœ‚ Remove YAML Extension Requirement - #2419
    • โšก๏ธ Update Spek version to 2.0.10 - #2418
    • file does not end with .yml! - #2417
    • Disable autoCorrect property for all rules if global flag is set to false - #2413
    • ๐Ÿš€ Release 1.7.0 beta - #2409
    • Stop using kotlin-reflect - #2405
    • Stop compiling with experimental flag - #2404
    • Only post a code coverage patch status to PRs - #2402
    • ExplicitCollectionElementAccessMethod: Don't report on nullable collection - #2401
    • Discourage new Case files - #2399
    • ๐Ÿ‘ท Use argsfiles for CI - #2397
    • โšก๏ธ Update to Kotlin v1.3.70 - #2396
    • ๐Ÿ›  Fix typo in VersionPrinter test - #2395
    • โž• Add documentation for cli --version flag - #2392
    • ExplicitCollectionElementAccessMethod: Do not report map?.get("foo") - #2391
    • โšก๏ธ Update Gradle to 6.2.1 - #2390
    • Do not report conditional elvis continue statements - Closes#2388 - #2389
    • False positive: UnconditionalJumpStatementInLoop with elvis operator ?: - #2388
    • ๐Ÿ”จ Refactor getting the detekt version for readability - #2387
    • Create less objects and sets when creating findings id map - #2385
    • โž• Add --version to cli - #2383
    • โž• Add --version CLI option - #2382
    • โž• Add test cases for cli/runners package - #2381
    • Sort and run correctable rules first - #2341 - #2378
    • Should fail if --baseline file does not found? - #2374
    • ๐Ÿ—„ Deprecate rule set methods which expose implementation details of detekt-core - #2366
    • ๐Ÿ—„ Deprecate api's exposing detekt-core implementation details - #2365
    • ReturnCount excludeGuardClauses not working - #2342
    • Mixing autocorrectable and non correctable rules results in obsolete issue locations for reports - #2341
    • ๐Ÿ‘ Allow Detekt CLI to take an args file. - #2318
    • Homepage doesn't show Jekyll tags correctly - #2309
    • Call detekt reflectively - #2282
    • Copyright header rule for Kotlin files - #1515 - #2077
    • SwallowedException false negative - #2049
    • Invalid boolean config values are evaluated silently to false - #2045
    • Detekt gradle is much slower than the jar - #2035
    • Cases files are super rigorous to work with - #1089

    ๐Ÿ‘€ See all issues at: 1.7.0