All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- ?
- ?
- Fix install hook action when git
hooks
folder doesn't exist issue: #557, #563 - Fix some resolution issues when a project using the plugin in some specific setups is depended upon by another project issue: #523, #571
- ?
- Deleted file causes file not found exception (issue: #539, #548)
- Use Gradle command exit code as hook exit code to ensure un-staged changes are always re-applied to the working directory #551
- sarif reporter to provided reporters (#516)
- Update Gradle to
7.1.1
version - Update Shadow plugin to
7.0.0
version - Update Kotlin to
1.5.21
version - Set default KtLint version to
0.42.1
- Rethink format task approach (issue: #306)
- Pre-commit hook causing conflicts (issue: #443) (#502)
ktlintFormat
create empty directories insrc/
dir (issue: #423)- Add Git hook task breaks configuration cache (issue: #505)
- Plugin failed to apply on eager tasks creation (issue: #495)
-
Baseline support (#414)
Limitations:
- Format tasks ignore baseline
- One baseline file per-Gradle project (module)
- Updated Gradle to
6.8.3
version - Updated default KtLint version to
0.41.0
- Plugin fails to apply on non-Kotlin projects (#443)
- Pre-commit hook adds entire file to commit when only part of the file was indexed (#470)
- Pre-commit hook doesn't format files that have been renamed (#471)
- Reset KtLint internal caches on any
.editorconfig
files changes (#456) - On KtLint parse error print path to file (#476)
- Add workaround for format tasks showing deprecation messages in Gradle 7.0 (#480)
-
Updated Kotlin to
1.4.30
version.Breaking - removed support for following deprecated Kotlin plugins:
- "kotlin2js"
- "kotlin-platform-*"
-
Updated Android Gradle Plugin to
4.1.0
version.Breaking - removed build variants meta tasks. Minimum supported AGP version is
4.0.0
. -
Updated shadow plugin to
6.1.0
version. -
Set default ktlint version to
0.40.0
-
Updated Gradle to
6.8.1
version -
Set minimal supported Gradle version to
6.0
-
Set minimal supported KtLint version to
0.34.0
-
Use KtLint directly instead of invoking it via CLI #424
Breaking:
- Tasks classes were completely changed and new one were introduced. Configuration should stay the same, so, if you don't configure tasks directly, update should be done without issues.
- To configure reports output directory, use
GenerateReportsTask#reportsOutputDirectory
property. - Errors in Gradle console does not use colors. If you still need it, please open a new issue.
- Linting is running in workers with process isolation.
To configure maximum heap size, use
BaseKtLintCheckTask#workerMaxHeapSize
property. - "ktlintRuleset" and "ktlintReporter" configurations dependencies versions are constraint by main "ktlint" configuration dependencies versions.
- Plugin now correctly validates files on Windows OS #399
- Updated Gradle to
6.6.1
version - Each task will output reports into subdirectory inside
build/reports/ktlint
directory to fix non-working caching #379 - Set default ktlint version to
0.38.1
- KtLint was not checking files that contains whitespace in path or name #362
- Skip check if incremental changes contains only removed files #385
- Allow to specify reporters output dir #321
- Check pre-commit hook will not add partially committed files to git commit #330
- Update Gradle to
6.5.1
version - Update Android Gradle plugin to
3.6.3
version - Set default ktlint version to
0.37.2
- Executing ktlint uses now uses the Gradle worker API when supported.
ktlintFormat
andktlintCheck
tasks now support the configuration cache #364- Make pre-commit hook working with Windows path separator [#359] (JLLeitschuh#359)
- Git hook fails to check multiple files #336
- Html reporter to provided reporters #312
- Plugin will search for project
.git
folder relative to gradle root project to install git hook #284
- Update Gradle to
6.0.1
version - Update Kotlin to
1.3.60
version - Set default ktlint version to
0.36.0
- Shadow plugin dependencies into plugin jar
- Fix
ktlintApplyToIdea
task fails whenandroid = true
is set #311
- Running format task may delete source files (#302): disable incremental support for format tasks. Lint tasks are still incremental.
- Support for outputColorName property (#297)
- Support for incremental checks (#231)
- Set default ktlint version to
0.35.0
- Ktlint configuration could be tried to configured after been resolved (#283)
- Breaking: Add support for 3rd party reporters:
- new reporters configuration DSL (#125)
- tasks
reportOutputFiles
property was replaced withallReportsOutputFiles
disabledRules
extension property to disable rules usage by id (#267)
- Update Gradle to
5.6.2
version - Update Kotlin to
1.3.50
version - Set default ktlint version to
0.34.2
- Update Android Gradle plugin to
3.5.0
version - Minimal supported Gradle version updated to
5.4.1
- Support for "konan" plugin
- Support for "kotlin-native-gradle-plugin" plugin
- Deprecated
ruleset
extension property, please useruleset
configuration instead
- Task failing when command line arguments limit was reached (#233)
- Support for new JS plugin: "org.jetbrains.kotlin.js" (#252)
- Support for android "com.android.dynamic-feature" plugin (#260)
- Update Kotlin to
1.3.41
version
- Usage of bashisms in git hook script (#251)
additionalEditorconfigFile
property to plugin extension (#210)
- Default ktlint version to
0.33.0
.
ktlintRuleset
configuration to provide 3rd party ktlint rules (#71)
- Update Kotlin to
1.3.30
version - Deprecated providing 3rd party ktlint rules via extension (#71)
- Breaking: Change tasks inheritance - now
KtlintFormat
andKtlintCheck
extendBaseKtlintCheckTask
(#225) - Update Android Gradle plugin to
3.4.0
version
- Proper lazy adding ktlint dependency (#219)
- Gradle 5.x deprecation messages (#208)
- Support different ktlint group/package name after pinterest ownership of ktlint project (#228)
- Default ktlint version to
0.32.0
.
-
Git pre-commit hook (#101):
Current implementation does not support
buildSrc
or composite builds. -
Flag to enable experimental rules (#215)
- Default ktlint version is set to
0.31.0
- Failed task verification on Gradle
5.2.1
(#217)
- Tasks to check and format kotlin script files (#98)
- Update Kotlin to
1.3.21
version - Update Android gradle plugin to
3.3.0
version
.editorconfig
file in project root dir is not considered as tasks input (#209)
- Warning about using vulnerable ktlint version
- Default ktlint version is set to
0.30.0
- Used ktlint version is always default one (#198)
- Gradle
5.2
fails the build in pure kotlin project (#201)
- Meta tasks to run check or format on all sources in android variant. (#170)
Example: In an Android project with
foo
flavor,ktlintFooDebugSourceSetCheck
task will check thefoo
sourceSet (not main).ktlintFooDebugCheck
meta task will check all the sourceSets forfooDebug
build variant. - Plugin tasks configuration avoidance
- Update Kotlin to
1.3.10
version - Breaking: check/format tasks for specific source sets
and according reports outputs now include
SourceSet
in their name(#170) - Breaking: minimal supported Gradle version is
4.10
- Breaking: minimal supported ktlint version is
0.22.0
- Adding explicit meta check and format tasks to the root project
- Format task may produce up-to-date state if sources was restored to pre-format state (#194)
- Updated SemVer dependency to
1.1.1
version (#162)
- Added support for new kotlin multiplatform plugin (#144)
- Update Kotlin to
1.3.0
version - Sync native plugins version with kotlin main release version
- Failure on Windows due to long argument line (#156)
- Fixed additional android source dirs for SourceSet are not checked (#153)
- Allow to exclude sources from check (#97)
- Update Android gradle plugin version to
3.2.0
- Check and format tasks now extend
SourceTask
(#85)
- Console colored output (#50)
- Update Kotlin to
1.2.71
version - Update Gradle to
4.10.2
version - Update default KtLint version to
0.29.0
- Hide specific source sets tasks
- Fixed plugin fails to configure android project with flavors (#131)
- Separate KtlintFormatTask task (#111)
ktlintApplyToIdea
task is always added, though it will fail on ktlint versions less then0.22.0
- Plugin extension now uses Gradle properties for configuration
ktlint.reporters
extension property has to use importedReporterType
in groovy Gradle build scripts.- reporters output file name changed to be the same as task name. For example for
PLAIN
it will bektlintMainCheck.txt
. - format tasks now are also generate reports. For example:
ktlintMainFormat.txt
.
- Usages of
afterEvaluate {}
in plugin and sample projects (#122)
- Support for new kotlin native experimental plugin (#119)
- Update Kotlin to
1.2.61
version - Update Kotlin-native dependency to
0.8.2
version - Update Gradle to
4.9.0
version - Update default KtLint version to
0.27.0
.editorconfig
file change doesn't resetUP-TO-DATE
ktlintCheck
task state (#106)
- Split project into multiple smaller plugins.
ktlint-base
,ktlint-idea
&ktlint
- Update Kotlin to 1.2.50 version
- Update Gradle to 4.8.1 version
- Does not automatically apply plugin tasks to all sub-projects (it breaks the Gradle plugin model).
- apply to IDEA task (in the project) (#91)
- apply to IDEA task (global settings) (#91)
- Add support for providing custom rulesets (#71)
- Also check
*.kts
files in Kotlin source directories - Use a cacheable task for the KtLint check
- Update Kotlin to 1.2.41 version
- Update Gradle wrapper to 4.7 version
- Changed default KtLint version to
0.23.1
- KtLint versions prior to 0.10.0 are not supported anymore
- Gradle versions prior to 4.3 are not supported anymore
- Deprecated ReporterType typealias
- Deprecated reporter field from extension
- Check for spaces in output path for KtLint versions earlier then 0.20.0 (#83)
- Use relative for input file path sensitivity (#67)
- Update default Ktlint version to 0.22.0
- Remove usage of deprecated Gradle features (#60)
- Update Kotlin to 1.2.30 version
- Update Gradle to 4.6 version
- Update default Ktlint version to 0.19.0
- Fix running check task also runs some android tasks (#63)
- Support for Kotlin javascript (kotlin2js) (#58)
- Support for Kotlin multiplatform projects (#58)
- Support for Kotlin native (konan) (#58)
- Output to console (#38)
- Support multiple reporters for ktlint >0.10.x (#38)
- Set default ktltint version to
0.15.0
- Update Kotlin to
1.2.21
version
- Update kotlin to 1.2.0 version
- Bumped android tools versions to 3.0 and now support multidimension projects >0.10.x (#29)
- Add configuration parameter
android
with default value to false (#39)
- Define a different output file for each sourceSet
- Fixed plugin doesn't apply custom reporter for ktlint versions >0.10.x (#28)
- Fixed report output is always opened since task is created
- Add configuration parameter
ignoreFailures
with default value to false
- Update default ktlint version to 0.9.2
- Fixed report output is not closed after task run is finished (#25)
- Update default ktlint version to 0.8.1
- Fix extension version has no effect on used ktlint version
- Add check task also depends on ktlintCheck task
- Add output report
- Add report type to extension
- Android support
- Ability to only apply plugin to the root project that contains subprojects with kotlin code
- Remove dependency on Gradle Script Kotlin plugin API. (#9)
- Compatibility with Gradle v4.0. (#9)
- Renamed task with name
ktlint
toktlintCheck
(#3) - Renamed tasks with names
ktlint[source set name]
toktlint[source set name]Check
(#3)