Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.0.0->1.8.01.0.0->1.8.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
pinterest/ktlint (com.pinterest.ktlint:ktlint-ruleset-standard)
v1.8.0Compare Source
🆕 Features
Set languageVersion to KOTLIN_2_0 to ensure metadata compatibility with Kotlin 2.0 - #3110, by @hugoncosta
Simplify creation of a custom ruleset - #3118, by @paul-dingemans
Add rule
then-spacing- #3129, by @paul-dingemansAdd CLI option '--ignore-autocorrect-failures' - #3157, by @paul-dingemans
Allow
_as backing property name (needed for KEEP-412) - #3166, by @serrasPromote experimental rules to standard rules - #3171, by @paul-dingemans:
🔧 Fixes
Fix link to maven wrapper - #3112, by @paul-dingemans
Fix links in documentation, and fix some typo's/formatting - #3127, by @paul-dingemans
Fix indent of function parameter with multiline expression in
android_studio- #3131, by @paul-dingemansfix(deps): update dependency com.vanniktech:gradle-maven-publish-plugin to v0.35.0 - #3169, by @renovate[bot]
💬 Other
Validate @SinceKtlint annotations with test and uniformize existing rules - #3101, by @hugoncosta
Fix snapshot repository location - #3106, by @paul-dingemans
Add code vulnerability scanning with CodeQL - #3113, by @paul-dingemans
Disable gradle build cache in code scanning workflow - #3116, by @paul-dingemans
Restrict access to GitHub token to "contents: read" - #3115, by @paul-dingemans
Change language for code-scanning workflow to 'kotlin' - #3117, by @paul-dingemans
Allow publication documents workflow to write to Github pages - #3121, by @paul-dingemans
Allow manual dispatch of workflow for publishing documentation - #3122, by @paul-dingemans
Set contents write permission on workflows for publishing documentation - #3123, by @paul-dingemans
Switch publication config to vanniktech's maven-publish plugin - #3068, by @mateuszkwiecinski
Add SECURITY.md file - #3114, by @paul-dingemans
Add public key to GitHub - #3139, by @shashachu
Ignore renovate updates for JUnit v6 as it requires Java17+ - #3146, by @paul-dingemans
v1.7.1Compare Source
🔧 Fixes
modifier-list-spacingandcontext-receiver-list-wrapping- #3077, by @paul-dingemansoperand-expression-wrappingrule as experimental - #3081, by @paul-dingemans💬 Other
v1.7.0Compare Source
🆕 Features
Context receiver / parameters
With upgrade to Kotlin 2.2.0, Ktlint 1.7.0 supports context parameters.
Add
context-receiver-list-wrappingrule - #3034, by @paul-dingemansAdd context receiver list to
modifier-orderrule - #3031, by @paul-dingemansIgnore context parameters in rule
context-receiver-wrapping- #3033, by @paul-dingemansOther rule changes
Do not run
no-unused-importsrule by default - #3039, by @paul-dingemansThe
no-unused-importrule is no longer run by default as it keeps causing problems. It will be removed in Ktlint2.0. Until then, the rule can still be run, when enabled explicitly in.editorconfig.Add experimental rule
expression-operand-wrapping- #3056, by @paul-dingemansThis rule aligns wrapping of arithmetic and logical multiline expressions. The
condition-wrappingrule which did something similar for logical multiline expressions only no longer reports and fixes violations. It will be removed in Ktlint2.0.Other features
Deprecate functions in
ASTNodeExtensions, and where applicable provide property accessors - #3026, by @paul-dingemansWhen using
ASTNodeExtensionsplease replace function calls with the new (temporary) property accessors. The temporary property accessors are needed to maintain backwards compatability with Java integration. In Ktlint2.0the functions will be removed, and the temporary property accessors will be replaced with final names.Suppress warning "sun.misc.Unsafe::objectFieldOffset" in Ktlint CLI (Java24+) - #3040, by @paul-dingemans
Suppress error "A restricted method in java.lang.System has been called" on Java 24 in KtLint CLI only - #3043, by @paul-dingemans
Remove unneeded "--add-opens=java.base/java.lang=ALL-UNNAMED" - #3044, by @paul-dingemans
🔧 Fixes
Do not remove an empty value parameter list from a call expression when it is nested - #3017, by @paul-dingemans
Clarify violation message in
filenamerule - #3046, by @paul-dingemans📦 Dependencies
chore(deps): update plugin org.gradle.toolchains.foojay-resolver-convention to v1 - #2989, by @renovate[bot]
chore(deps): update plugin com.gradle.develocity to v4.0.2 - #2996, by @renovate[bot]
fix(deps): update junit5 monorepo - #3005, by @renovate[bot]
fix(deps): update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v2.2.0-rc3 - #3015, by @renovate[bot]
fix(deps): update dependency org.junit.jupiter:junit-jupiter to v5.13.2 - #3020, by @renovate[bot]
fix(deps): update dependency org.junit.platform:junit-platform-launcher to v1.13.2 - #3021, by @renovate[bot]
fix(deps): update kotlin monorepo to v2.2.0 - #3018, by @renovate[bot]
chore(deps): update plugin shadow to v8.3.8 - #3030, by @renovate[bot]
fix(deps): update junit-framework monorepo - #3037, by @renovate[bot]
chore(deps): update plugin kotlinx-binary-compatibiltiy-validator to v0.18.1 - #3050, by @renovate[bot]
fix(deps): update dependency dev.drewhamilton.poko:poko-gradle-plugin to v0.19.1 - #3053, by @renovate[bot]
fix(deps): update dependency com.google.jimfs:jimfs to v1.3.1 - #3054, by @renovate[bot]
chore(deps): update dependency gradle to v9.0.0-rc-2 - #3055, by @renovate[bot]
💬 Other
Update publishing URLs to point to Central Portal OSSRH staging API - #3006, by @shashachu
Update publishing credentials to use new Central Portal username/token - #3007, by @shashachu
Improve build - #3025, by @mateuszkwiecinski
Bump
poko-gradle-pluginwith a workaround (enforce compatible Kotlin version) - #3035, by @mateuszkwiecinskiJava 24 - #3049, by @paul-dingemans
Make
build-logicplugins expose binary plugins - #3047, by @mateuszkwiecinskiCleanup Java 24 bump - #3051, by @mateuszkwiecinski
v1.6.0Compare Source
🆕 Features
Add configuration option to handle (certain) annotation with parameters identical to annotations without parameters - #2950, by @paul-dingemans
Set system properties to prevent failure when running in ktlint-intellij-plugin with custom installation - #2970, by @paul-dingemans
🔧 Fixes
Deprecations in 1.5.0 - #2913, by @paul-dingemans
Fix incorrect error message in PropertyNamingRule when enforcing PascalCase - #2934, by @lsurvila
Sort RuleProvider declarations in StandardRuleSetProvider - #2941, by @3flex
Remove usages of getPsi() - #2901, by @mgroth0
Refactor KotlinPsiFileFactory to KotlinCompiler - #2951, by @paul-dingemans
Reduces the number of conversions between "psi" and ASTNode - #2964, by @paul-dingemans
Fix slow response of the git pre commit hook as generated by ktlint - #2978, by @paul-dingemans
Move logic of missing whitespace before block comment to NoSingleLineBlockCommentRule - #2979, by @paul-dingemans
Report and fix a single line condition wrapped between parentheses with an unexpected newline - #2980, by @paul-dingemans
Do not wrap an operation reference after an annotated expression to a separate new line - #2983, by @paul-dingemans
📦 Dependencies
fix(deps): update dependency org.jetbrains.dokka:dokka-gradle-plugin to v2 - #2906, by @renovate[bot]
chore(deps): update plugin kotlinx-binary-compatibiltiy-validator to v0.17.0 - #2907, by @renovate[bot]
Complete upgrade Dokka to V2 - #2914, by @paul-dingemans
fix(deps): update dependency ch.qos.logback:logback-classic to v1.3.15 - #2917, by @renovate[bot]
fix(deps): update dependency org.assertj:assertj-core to v3.27.3 - #2927, by @renovate[bot]
chore(deps): update plugin shadow to v8.3.6 - #2935, by @renovate[bot]
fix(deps): update dependency com.github.ajalt.clikt:clikt to v5.0.3 - #2938, by @renovate[bot]
fix(deps): update dependency org.slf4j:slf4j-simple to v2.0.17 - #2947, by @renovate[bot]
chore(deps): update plugin org.gradle.toolchains.foojay-resolver-convention to v0.10.0 - #2963, by @renovate[bot]
fix(deps): update dependency org.junit.jupiter:junit-jupiter to v5.12.2 - #2945, by @renovate[bot]
fix(deps): update dependency io.github.oshai:kotlin-logging-jvm to v7.0.7 - #2965, by @renovate[bot]
fix(deps): update dependency io.github.hakky54:logcaptor to v2.11.0 - #2968, by @renovate[bot]
chore(deps): update dependency gradle to v8.14 - #2971, by @renovate[bot]
chore(deps): update plugin com.gradle.develocity to v4.0.1 - #2972, by @renovate[bot]
fix(deps): update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v2.2.0-beta2 - #2977, by @renovate[bot]
fix(deps): update dependency org.ec4j.core:ec4j-core to v1.1.1 - #2987, by @renovate[bot]
fix(deps): update dependency dev.drewhamilton.poko:poko-gradle-plugin to v0.18.7 - #2986, by @renovate[bot]
fix(deps): update kotlin monorepo to 2.1.21 - #2985, by @renovate[bot]
💬 Other
v1.5.0Compare Source
The release of Kotlin 2.1 is the primary reason for publishing this release earlier than planned. Because of the removal of some language elements in Kotlin 2.1, the embedded Kotlin compiler in KtLint blocked Kotlinter users from upgrading to Kotlin 2.1.
🆕 Features
Add missing space between
funkeyword and identifier when latter is wrapped between backticks - #2890, by @paul-dingemansAdd configuration setting for constant names in
property-namingrule - #2893, by @paul-dingemansAllow backing property to be defined in the companion object (
backing-property-naming) - #2895, by @paul-dingemans🔧 Fixes
Ignore multi dollar string interpolation prefix in
string-template-indentrule - #2888, by @paul-dingemansWrap the expression body in case
.editorconfigpropertyktlint_function_signature_body_expression_wrappingis set toalways- #2873, by @paul-dingemansFix false positive when empty parameter list is in between trailing lambda's of a nested call expression - #2891, by @paul-dingemans
Do not wrap a context receiver in a function parameter type reference - #2892, by @paul-dingemans
Allow comment before parameter list in function literal (
function-literal) - #2894, by @paul-dingemans📦 Dependencies
chore(deps): update plugin com.gradle.develocity to v3.18.2 - #2865, by @renovate[bot]
chore(deps): update dependency gradle to v8.11.1 - #2875, by @renovate[bot]
fix(deps): update dependency io.github.hakky54:logcaptor to v2.10.0 - #2874, by @renovate[bot]
fix(deps): update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v2.1.0-rc2 - #2871, by @renovate[bot]
fix(deps): update dependency io.github.oshai:kotlin-logging-jvm to v7.0.3 - #2883, by @renovate[bot]
fix(deps): update kotlin monorepo to v2.1.0 - #2880, by @renovate[bot]
fix(deps): update dependency com.github.ajalt.clikt:clikt to v5.0.2 - #2886, by @renovate[bot]
chore(deps): update plugin org.gradle.toolchains.foojay-resolver-convention to v0.9.0 - #2887, by @renovate[bot]
fix(deps): update dependency dev.drewhamilton.poko:poko-gradle-plugin to v0.18.0 - #2889, by @renovate[bot]
v1.4.1Compare Source
🔧 Fixes
📦 Dependencies
v1.4.0Compare Source
🆕 Features
Suppress
backing-property-namingon@Suppress("PropertyName")- #2741, by @paul-dingemansCheck that code can still be parsed after a format - #2742, by @paul-dingemans
Support suppressing backing-property-naming via ObjectPropertyName - #2751, by @Goooler
Ignore properties starting with
_inbacking-property-namingrule - #2753, by @paul-dingemansSuppress
backing-property-namingrule with@Suppress("LocalVariableName")- #2785, by @paul-dingemansDo not repeat formatting if file is unchanged - #2805, by @paul-dingemans
Add new rule
when-entry-bracing- #2829, by @paul-dingemansAdd
.editorconfigpropertyij_kotlin_indent_before_arrow_on_new_line- #2838, by @paul-dingemansAdd CLI option
--stdin-pathto provide a virtual file location for stdin - #2836, by @adecker89Add property
.editorconfigpropertyktlint_enum_entry_name_casing- #2839, by @paul-dingemans🔧 Fixes
Prevent line separators to be changed from CRLF to LF - #2752, by @paul-dingemans
fix: don't remove arrow from lambdas that are when/if leaf nodes - #2758, by @tKe
Fix false positive in
no-semirule for enum class without enum entries - #2774, by @paul-dingemansPrevent conflict between
multiline-expression-wrappingandfunction-signature- #2775, by @paul-dingemansIgnore
max_line_lengthproperty unlessmax-line-lengthrule is enabled - #2783, by @paul-dingemansFix false positive in
class-signaturewhen EOL comment is between a class annotation and other class modifier - #2786, by @paul-dingemansFix globs ending with
**- #2787, by @paul-dingemansReturn exit code 1 in case violations have been found but file is unchanged - #2803, by @paul-dingemans
Ignore missing whitespace after trailing comma in single line parameter value list - #2806, by @paul-dingemans
Remove HEADER_KEYWORD & IMPL_KEYWORD - #2810, by @3flex
Function signature rule ignores context receiver when on separate line - #2814, by @paul-dingemans
Do not remove imports for which the fully qualified path is identical to the package name - #2822, by @paul-dingemans
Fix indentation of a multiline parameter list inside a function literal for code style
ktlint_official- #2823, by @paul-dingemansDo not insert a trailing comma in a multiline when-entry containing a guard - #2825, by @paul-dingemans
Fix wrapping of expression body when
max_line_lengthnot set - #2833, by @paul-dingemans📦 Dependencies
Update dependency io.github.oshai:kotlin-logging-jvm to v7 - #2701, by @renovate[bot]
Update dependency org.assertj:assertj-core to v3.26.3 - #2738, by @renovate[bot]
Update mikepenz/release-changelog-builder-action action to v5 - #2756, by @renovate[bot]
chore(deps): update plugin kotlinx-binary-compatibiltiy-validator to v0.16.3 - #2759, by @renovate[bot]
fix(deps): update dependency org.slf4j:slf4j-simple to v2.0.16 - #2764, by @renovate[bot]
Migrate to com.gradleup.shadow - #2763, by @Goooler
chore(deps): update gradle/actions action to v4 - #2760, by @renovate[bot]
chore(deps): update plugin com.gradle.develocity to v3.18.1 - #2792, by @renovate[bot]
chore(deps): update dependency gradle to v8.10.2 - #2812, by @renovate[bot]
chore(deps): update plugin shadow to v8.3.3 - #2820, by @renovate[bot]
fix(deps): update dependency com.github.ajalt.clikt:clikt to v5.0.1 - #2828, by @renovate[bot]
chore(deps): update kotlin monorepo to v2.0.21 - #2831, by @renovate[bot]
fix(deps): update dependency org.ec4j.core:ec4j-core to v1.1.0 - #2832, by @renovate[bot]
fix(deps): update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v2.1.0-beta2 - #2834, by @renovate[bot]
fix(deps): update dependency dev.drewhamilton.poko:poko-gradle-plugin to v0.17.2 - #2837, by @renovate[bot]
fix(deps): update dependency org.junit.jupiter:junit-jupiter to v5.11.3 - #2840, by @renovate[bot]
chore(deps): update actions/checkout digest to
11bd719- #2841, by @renovate[bot]v1.3.1Compare Source
🔧 Fixes
no-unused-imports- #2725, by @paul-dingemansFormat was not able to resolve all violations which (theoretically) can be autocorrected- #2727, by @paul-dingemans📦 Dependencies
692973e- #2699, by @renovate[bot]💬 Other
v1.3.0Compare Source
🆕 Features
Support partial formatting - #2631, by @paul-dingemans
Suppress
property-namerule forObjectPropertyNameorPrivatePropertyName- #2643, by @paul-dingemansLet API Consumer decide whether a LintError has to be autocorrected, or not - #2671, by @paul-dingemans
Promote experimental rules to non-experimental - #2674, by @paul-dingemans
🔧 Fixes
Do not wrap operation reference after multiline string template - #2591, by @paul-dingemans
Ignore max line length in case the line contains only a string template followed by a comma - #2598, by @paul-dingemans
Ignore nested reference expressions in
chain-method-continuation- #2606, by @paul-dingemansPrevent exception in
binary-expression-wrappingrule - #2607, by @paul-dingemansDo not merge opening quotes of multiline string template with (single line) function signature - #2609, by @paul-dingemans
Fix replacement of redundant curly braces - #2617, by @paul-dingemans
Set and reset Locale to pass test for non-english contributor. - #2622, by @Jaehwa-Noh
Fix unwanted whitespace between super class constructor and its argument list - #2630, by @tKe
Fix typo's - #2641, by @paul-dingemans
Handle trailing space on preceding line in call to
lineLengthWithoutNewlinePrefix- #2644, by @paul-dingemansFix KDoc for RuleSetProviderV3 - #2645, by @gumimin
Fix not checking for spacing around binary operators inside unary expression - #2653, by @cflee
Fix
blank line before declarationsrule code example - #2657, by @k-taro56Fixed [{ }] notation for issue #2675 - #2677, by @Jolanrensen
Simplify default properties loading - #2679, by @Goooler
📦 Dependencies
Update dependency org.jetbrains.dokka:dokka-gradle-plugin to v1.9.20 - #2590, by @renovate[bot]
Update softprops/action-gh-release action to v2 - #2600, by @renovate[bot]
Update dependency io.github.detekt.sarif4k:sarif4k to v0.6.0 - #2605, by @renovate[bot]
Update dependency gradle to v8.7 - #2616, by @renovate[bot]
Migrate to develocity plugin - #2625, by @Goooler
Update dependency org.slf4j:slf4j-simple to v2.0.13 - #2632, by @renovate[bot]
Update gradle/wrapper-validation-action action to v3 - #2633, by @renovate[bot]
Update dependency io.github.oshai:kotlin-logging-jvm to v6.0.9 - #2634, by @renovate[bot]
Update dependency com.github.ajalt.clikt:clikt to v4.4.0 - #2647, by @renovate[bot]
Update kotlin monorepo to v1.9.24 - #2649, by @renovate[bot]
Update plugin com.gradle.develocity to v3.17.4 - #2660, by @renovate[bot]
Update dependency dev.drewhamilton.poko:poko-gradle-plugin to v0.15.3 - #2662, by @renovate[bot]
Update actions/checkout digest to
a5ac7e5- #2664, by @renovate[bot]Update dependency org.assertj:assertj-core to v3.26.0 - #2669, by @renovate[bot]
v1.2.1Compare Source
🆕 Features
None
🔧 Fixes
v1.2.0Compare Source
🆕 Features
Break dependency between string-template-indent and multiline-expression-wrapping - #2505, by @paul-dingemans
Allow string template to exceed max line length when it is the only element on a line - #2480, by @paul-dingemans
Add configuration setting for ignoring
argument-list-wrappingabove threshold of argument - #2481, by @paul-dingemansNOTE: In code style
ktlint_officialthis threshold isunsetso that arguments are always wrapped. If this impacts your code too much, you can make it backward compatible by setting.editorconfigpropertyktlint_argument_list_wrapping_ignore_when_parameter_count_greater_or_equal_thanto value8. For other code styles this property is initialized with value8and as of that backward compatible by default.Ignore EOL comment that causes max_line_length to be exceeded, except in max-line-length rule - #2516, by @paul-dingemans
Add new rule for disallowing KDoc at non-whitelisted locations - #2548, by @paul-dingemans
Improve insert of suppression - #2546, by @paul-dingemans
Ignore modifier of backing property in
android_studiocode style - #2552, by @paul-dingemansAdd rule to check spacing around square brackets 'square-brackets-spacing' - #2555, by @paul-dingemans
Add rule
blank-line-between-when-conditions- #2564, by @paul-dingemans🔧 Fixes
Prevent IllegalArgumentException in
argument-list-wrappingrule - #2500, by @paul-dingemansIgnore function which is returned as result in a function body - #2526, by @paul-dingemans
Fix false positive newline expected before comment in enum - #2527, by @paul-dingemans
Report violation when parameter list is preceded by a comment - #2541, by @paul-dingemans
Ignore EOL comments in
value-argument-commentandvalue-parameter-comment- #2551, by @paul-dingemansDo not indent string template starting at first position of line - #2553, by @paul-dingemans
Prevent conflict when curly closing brace is followed by range (until) operator - #2554, by @paul-dingemans
Run argument-list-wrapping after function-signature - #2568, by @paul-dingemans
Ignore simple reference expressions in
chain-method-continuation- #2569, by @paul-dingemans📦 Dependencies
chore(deps): update plugin org.gradle.toolchains.foojay-resolver-convention to v0.8.0 - #2503, by @renovate[bot]
fix(deps): update dependency io.github.oshai:kotlin-logging-jvm to v6 - #2440, by @renovate[bot]
Replace gradle/gradle-build-action@v3 with gradle/actions/setup-gradle@v3 - #2518, by @paul-dingemans
chore(deps): update plugin kotlinx-binary-compatibiltiy-validator to v0.14.0 - #2522, by @renovate[bot]
chore(deps): update gradle/wrapper-validation-action action to v2 - #2523, by @renovate[bot]
chore(deps): update ffurrer2/extract-release-notes action to v2 - #2515, by @renovate[bot]
chore(deps): update dependency gradle to v8.6 - #2531, by @renovate[bot]
fix(deps): update dependency org.assertj:assertj-core to v3.25.3 - #2536, by @renovate[bot]
fix(deps): update dependency org.junit.jupiter:junit-jupiter to v5.10.2 - #2534, by @renovate[bot]
fix(deps): update dependency org.slf4j:slf4j-simple to v2.0.12 - #2538, by @renovate[bot]
fix(deps): update dependency org.codehaus.janino:janino to v3.1.12 - #2559, by @renovate[bot]
💬 Other
Simplify BOM exclude list - #2476, by @Goooler
2550 clikt - #2556, by @paul-dingemans
v1.1.1Compare Source
🆕 Features
None
🔧 Fixes
Fix incorrect generateEditorConfig example in documentation - #2444, by @stay7
Fix insert of suppression on binary expression - #2463, by @paul-dingemans
Loosen dependency between chain-method-continuation and argument-list-wrapping - #2468, by @paul-dingemans
Keep arrow when both parameter list and block of function literal are empty - #2469, by @paul-dingemans
Improve wrapping of binary expressions - #2479, by @paul-dingemans
Resolve conflict between parameter-list-spacing and parameter-list-wrapping - #2491, by [@p
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.