Repository navigation
Releases: diffplug/spotless
Releases · diffplug/spotless
Release list
Maven Plugin v3.11.0
Added
- Add
<cleanup>false</cleanup>to<googleJavaFormat>to disable google-java-format's non-whitespace cleanups. (#3157) - Add a
<maxLineLength>parameter to<googleJavaFormat>. (#3151)
Overrides the 100-column limit prescribed by the GOOGLE and AOSP styles; requiresgoogle-java-format2.0.0or later.
Changes
- Bump default
google-java-formatversion1.36.1->2.0.0. (#3157)
This version applies some small non-whitespace cleanups by default (removing redundant semicolons, empty annotation parentheses, and parentheses around single lambda parameters), which can be disabled with<cleanup>false</cleanup>.
Lib v4.11.0
Added
- Add a
cleanupoption toGoogleJavaFormatStepto disable google-java-format's non-whitespace cleanups. (#3157) - Add a
maxLineLengthoption toGoogleJavaFormatStep. (#3151)
Overrides the 100-column limit prescribed by the GOOGLE and AOSP styles. Requiresgoogle-java-format2.0.0or later, the bug-fixing major release which stabilized the configurableJavaFormatterOptions.Styleintroduced experimentally in1.37.0(no1.38.0was ever published).
Changes
- Bump default
google-java-formatversion1.36.1->2.0.0. (#3157)
Gradle Plugin v8.11.0
Added
- Add
cleanup(false)togoogleJavaFormat()to disable google-java-format's non-whitespace cleanups. (#3157) - Add
maxLineLength(int)togoogleJavaFormat(). (#3151)
Overrides the 100-column limit prescribed by the GOOGLE and AOSP styles; requiresgoogle-java-format2.0.0or later.
Changes
- Bump default
google-java-formatversion1.36.1->2.0.0. (#3157)
This version applies some small non-whitespace cleanups by default (removing redundant semicolons, empty annotation parentheses, and parentheses around single lambda parameters), which can be disabled withcleanup(false).
Maven Plugin v3.10.4
Changes
- Bump default
eclipseversion from4.40to4.41. - Bump default
gherkinversion42.0.0->42.0.1. (#3088) - Bump default
jacksonversion2.22.2->2.22.3. (#3101) - Bump default
palantir-java-formatversion2.98.0->2.102.0. (#3103, #3132) - Bump default
mockito-coreversion5.23.0->5.24.0. (#3106) - Bump default
greclipseversion to latest4.40->4.41. (#3123) - Bump default
ktfmtversion0.64->0.65. (#3135)
Which moved to theorg.jetbrains.kotlinx:ktfmtcoordinate andorg.jetbrains.kotlinx.ktfmtpackage. Older versions are still supported. - Bump default
palantir-java-formatversion2.99.0->2.102.0. (#3132)
Fixed
- Migrate Plexus component injection to JSR-330 and Maven parameter. (#3122)
shortenFullyQualifiedTypesleaves a qualified name alone when the enclosing type extends or implements a type that is not in the same file, so an inherited member type cannot take the simple name. (#3117)expandWildcardImportsno longer drops the import of a type that is only used to qualify a static member (such asCollections.sort(list)orTimeUnit.SECONDS), or the static import of a field or enum constant (such asPIfromimport static java.lang.Math.*), which produced code that did not compile. (#2833)
Lib v4.10.4
Changes
- Bump default Eclipse JDT formatter version from
4.40to4.41. - GitPrePushHookInstaller takes optional parameter for pre push hook directory, instead of always writing to .git/hooks. (#3115
- Bump default
gherkinversion42.0.0->42.0.1. (#3088) - Bump default
jacksonversion2.22.2->2.22.3. (#3101) - Bump default
palantir-java-formatversion2.98.0->2.102.0. (#3103, #3132) - Bump default
mockito-coreversion5.23.0->5.24.0. (#3106) - Bump default
greclipseversion to latest4.40->4.41. (#3123) - Bump default
ktfmtversion0.64->0.65. (#3135)
Which moved to theorg.jetbrains.kotlinx:ktfmtcoordinate andorg.jetbrains.kotlinx.ktfmtpackage. Older versions are still supported. - Bump default
palantir-java-formatversion2.99.0->2.102.0. (#3132)
Fixed
shortenFullyQualifiedTypesno longer corrupts a method reference on a field/variable (localVar.field::method), which JavaParser parses as a type-shaped scope; such scopes now go through the same known-package / minimum-depth heuristic as other expression scopes before being treated as fully-qualified types. (#3133)shortenFullyQualifiedTypesleaves a qualified name alone when the enclosing type extends or implements a type that is not in the same file, so an inherited member type cannot take the simple name. (#3117)expandWildcardImportsno longer drops the import of a type that is only used to qualify a static member (such asCollections.sort(list)orTimeUnit.SECONDS), or the static import of a field or enum constant (such asPIfromimport static java.lang.Math.*), which produced code that did not compile. (#2833)
Gradle Plugin v8.10.4
Changes
- Bump default
eclipseversion from4.40to4.41. - spotlessInstallGitPrePushHook now respects Git’s core.hooksPath when installing the pre-push hook, instead of always writing to .git/hooks. (#3115
- Bump default
gherkinversion42.0.0->42.0.1. (#3088) - Bump default
jacksonversion2.22.2->2.22.3. (#3101) - Bump default
palantir-java-formatversion2.98.0->2.102.0. (#3103, #3132) - Bump default
mockito-coreversion5.23.0->5.24.0. (#3106) - Bump default
greclipseversion to latest4.40->4.41. (#3123) - Bump default
ktfmtversion0.64->0.65. (#3135)
Which moved to theorg.jetbrains.kotlinx:ktfmtcoordinate andorg.jetbrains.kotlinx.ktfmtpackage. Older versions are still supported. - Bump default
palantir-java-formatversion2.99.0->2.102.0. (#3132)
Fixed
shortenFullyQualifiedTypesleaves a qualified name alone when the enclosing type extends or implements a type that is not in the same file, so an inherited member type cannot take the simple name. (#3117)expandWildcardImportsno longer drops the import of a type that is only used to qualify a static member (such asCollections.sort(list)orTimeUnit.SECONDS), or the static import of a field or enum constant (such asPIfromimport static java.lang.Math.*), which produced code that did not compile. (#2833)
Maven Plugin v3.10.3
Changes
- Generate formatter defaults from version catalog. (#3045)
- Bump default
gsonversion2.13.2->2.14.0. (#3045) - Bump default
zjsonpatchversion0.4.14->0.4.16. (#3045) - Bump default
jackson-dataformat-yamlversion2.14.1->2.20.1. (#3045) - Bump default
ktfmtversion0.63->0.64. (2988) - Bump default
cleanthatversion2.25->2.26. (#2882) - Bump default
jacksonversion2.20.1->2.22.2. (#2819) - Bump default
javaparserversion3.27.1->3.28.2. (#3065) - Bump default
palantir-java-formatversion2.80.0->2.98.0. (#3068) - Bump default
scalafmtversion3.8.1->3.11.5. (#2173) - Bump default
google-java-formatversion1.30.0->1.36.1. (#3075) - Bump default
gherkin-utilsversion10.0.0->12.0.2. (#2979)
Fixed
- Fix release signing by using Gradle's required eight-digit signing subkey ID. (#3105)
- Fix race when creating the npm install cache directory. ((#3096)
- GrEclipse no longer emits expected OSGi and nested-jar warnings during initialization. (#2445)
typescriptprettier()no longer emits a warning when its parser is already set totypescript. (#3098)<versionCatalog>preserves standalone comments at section boundaries and the end of the file. (#3048)<versionCatalog>preserves entries when comments contain unmatched brackets, preserves commas inside quoted strings, and keeps significant line boundaries in multiline entries. (#3042)<versionCatalog>now reports unfinished entries as lints at their starting line. These fail formatting by default, so upgrading may expose catalog errors that previously caused silent data loss. (#3042)- Eclipse JDT formatter step no longer fails with
NoClassDefFoundErrororNoSuchMethodErrorwhen lombok is active as a JVM agent (e.g.-javaagent:lombok.jarin Eclipse/VS Code/Cursor). (#2795)
Gradle Plugin v8.10.3
Changes
- Generate formatter defaults from version catalog. (#3045)
- Bump default
gsonversion2.13.2->2.14.0. (#3045) - Bump default
zjsonpatchversion0.4.14->0.4.16. (#3045) - Bump default
jackson-dataformat-yamlversion2.14.1->2.20.1. (#3045) - Bump default
ktfmtversion0.63->0.64. (2988) - Bump default
cleanthatversion2.25->2.26. (#2882) - Bump default
jacksonversion2.20.1->2.22.2. (#2819) - Bump default
javaparserversion3.27.1->3.28.2. (#3065) - Bump default
palantir-java-formatversion2.80.0->2.98.0. (#3068) - Bump default
scalafmtversion3.8.1->3.11.5. (#2173) - Bump default
google-java-formatversion1.30.0->1.36.1. (#3075) - Bump default
gherkin-utilsversion10.0.0->12.0.2. (#2979) - We no longer publish a plugin marker for the legacy
com.diffplug.gradle.spotlessid, which has been redirecting tocom.diffplug.spotlesssince 4.0. Builds that still request it now fail withPlugin [id: 'com.diffplug.gradle.spotless'] was not foundinstead of the migration message. (#3086)
Fixed
- Fix release signing by using Gradle's required eight-digit signing subkey ID. (#3105)
- Fix race when creating the npm install cache directory. ((#3096)
- GrEclipse no longer emits expected OSGi and nested-jar warnings during initialization. (#2445)
typescriptprettier()no longer emits a warning when its parser is already set totypescript. (#3098)versionCatalog()preserves standalone comments at section boundaries and the end of the file. (#3048)versionCatalog()preserves entries when comments contain unmatched brackets, preserves commas inside quoted strings, and keeps significant line boundaries in multiline entries. (#3042)versionCatalog()now reports unfinished entries as lints at their starting line. These fail formatting by default, so upgrading may expose catalog errors that previously caused silent data loss. (#3042)- Stop calling deprecated
Configuration.setVisiblefrom Gradle 9.0.0 (#3053) - Eclipse JDT formatter step no longer fails with
NoClassDefFoundErrororNoSuchMethodErrorwhen lombok is active as a JVM agent (e.g.-javaagent:lombok.jarin Eclipse/VS Code/Cursor). (#2795)
Maven Plugin v3.10.2
Fixed
<shortenFullyQualifiedTypes>now shortens fully-qualified types used in expression contexts (such as static method calls, static fields, and enum constants) while avoiding imports that would change how existing unqualified type references resolve. (#3039)- Eclipse JDT formatter step no longer fails with
NoClassDefFoundErrorwhen lombok is active as a JVM agent (e.g.-javaagent:lombok.jarin Eclipse/VS Code/Cursor). (#2795)
Lib v4.10.2
Fixed
ShortenFullyQualifiedTypesStepnow shortens fully-qualified types used in expression contexts (such as static method calls, static fields, and enum constants) while avoiding imports that would change how existing unqualified type references resolve. (#3039)FeatureClassLoadernow provides stub implementations oflombok.*classes (and synthesises empty classes for any others) so that the Eclipse JDT formatter step no longer fails withNoClassDefFoundErrorwhen lombok is active as a JVM agent (e.g.-javaagent:lombok.jarin Eclipse/VS Code/Cursor). (#2795)