We're extremely excited to share with you all the next upcoming stable release of Detekt: 1.20.0 🎉
This release is coming with 16 new rules, new API and functionalities and several stability improvements.
First, much thanks to our sponsors ❤️ as we were able to buy a domain and move our website to https://detekt.dev/.
As for the feature shipped, we work a lot on the Reporting side: we added a new type of reporting, improved the styling of the existing one and
generally reduced the unnecessary warnings of run with type resolution.
For rules like ForbiddenMethod where you can configure a signature of a method you want to use in your rule, we added a new syntax
that allows to reference generic methods & extension functions.
We update a lot of the libraries we depend on bringing Detekt up to the ecosystem: KtLint 0.45.2, Kotlin 1.6.20 and Gradle 7.4.2 to name a few.
Finally, we also migrated all of our tests from Spek to JUnit. This was a huge effort that will hopefully make easier for contributors
to be involved with Detekt.
As always, we want to take the opportunity to thank our contributors for testing, bug reporting and helping
us release this new version of Detekt. You're more than welcome to join our community on the #detekt channel on KotlinLang's Slack (you can get an invite here).
Notable Changes
With this Detekt versions, rule authors can define the default configuration for their custom rules. This default configuration will be merged together with the user configuration and can be overridden by the user if they wish. More on this here #4315. The formatting ruleset provided by Detekt is updated to use this new mechanism - #4352
We've made several improvements to the console reporting:
The HTML report has now a better CSS styling - #4447
The default reporting format is now LiteFindingsReport (which is more compact reporting and similar to other tools in the ecosystem. You can see an example here) - #4449.
We've added issue details to findings on FindingsReport and FileBasedFindingsReporter - #4464
We suppressed several warnings reported when running with type resolution - #4423
We fixed a regression introduced in 1.19.0 for users using ignoreAnnotated running without type resolution - #4570
For rules like ForbiddenMethod where you can specify a method name in the config file, now we added support for:
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps detekt-formatting from 1.19.0 to 1.20.0.
Release notes
Sourced from detekt-formatting's releases.
... (truncated)
Commits
8028a06
Prepare Detekt 1.20.0 (#4719)583ab1e
Update plugin dokka to v1.6.20 (#4717)471764c
Make links clickable in rule classes documentation (#4713)f823521
MakerunWithHelpFlag
adopting incremental build (#4706)8939aed
Drop Spek (#4670)d28d0af
Setup GPG signing on CI (#4704)06ef069
Adding a Gradle Enterprise docs link (#4707)bff0900
Add labeler to simplify the labeling work (#4701)7bed580
Allow renovate to report Ruby dependency updates (#4703)2f95978
Move tests requiring TestKit to functionalTest source set (#4700)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)