Tags: diffplug/spotless
Tags
### Changes - Generate formatter defaults from version catalog. ([#3045](#3045)) - Bump default `gson` version `2.13.2` -> `2.14.0`. ([#3045](#3045)) - Bump default `zjsonpatch` version `0.4.14` -> `0.4.16`. ([#3045](#3045)) - Bump default `jackson-dataformat-yaml` version `2.14.1` -> `2.20.1`. ([#3045](#3045)) - Bump default `ktfmt` version `0.63` -> `0.64`. ([2988](#2988)) - Bump default `cleanthat` version `2.25` -> `2.26`. ([#2882](#2882)) - Bump default `jackson` version `2.20.1` -> `2.22.2`. ([#2819](#2819)) - Bump default `javaparser` version `3.27.1` -> `3.28.2`. ([#3065](#3065)) - Bump default `palantir-java-format` version `2.80.0` -> `2.98.0`. ([#3068](#3068)) - Bump default `scalafmt` version `3.8.1` -> `3.11.5`. ([#2173](#2173)) - Bump default `google-java-format` version `1.30.0` -> `1.36.1`. ([#3075](#3075)) - Bump default `gherkin-utils` version `10.0.0` -> `12.0.2`. ([#2979](#2979)) ### Fixed - Fix release signing by using Gradle's required eight-digit signing subkey ID. ([#3105](#3105)) - Fix race when creating the npm install cache directory. (([#3096](#3096)) - GrEclipse no longer emits expected OSGi and nested-jar warnings during initialization. ([#2445](#2445)) - `typescript` `prettier()` no longer emits a warning when its parser is already set to `typescript`. ([#3098](#3098)) - `<versionCatalog>` preserves standalone comments at section boundaries and the end of the file. ([#3048](#3048)) - `<versionCatalog>` preserves entries when comments contain unmatched brackets, preserves commas inside quoted strings, and keeps significant line boundaries in multiline entries. ([#3042](#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](#3042)) - Eclipse JDT formatter step no longer fails with `NoClassDefFoundError` or `NoSuchMethodError` when lombok is active as a JVM agent (e.g. `-javaagent:lombok.jar` in Eclipse/VS Code/Cursor). ([#2795](#2795))
### Changes - Generate formatter defaults from version catalog. ([#3045](#3045)) - Bump default `gson` version `2.13.2` -> `2.14.0`. ([#3045](#3045)) - Bump default `zjsonpatch` version `0.4.14` -> `0.4.16`. ([#3045](#3045)) - Bump default `jackson-dataformat-yaml` version `2.14.1` -> `2.20.1`. ([#3045](#3045)) - Bump default `ktfmt` version `0.63` -> `0.64`. ([2988](#2988)) - Bump default `cleanthat` version `2.25` -> `2.26`. ([#2882](#2882)) - Bump default `jackson` version `2.20.1` -> `2.22.2`. ([#2819](#2819)) - Bump default `javaparser` version `3.27.1` -> `3.28.2`. ([#3065](#3065)) - Bump default `palantir-java-format` version `2.80.0` -> `2.98.0`. ([#3068](#3068)) - Bump default `scalafmt` version `3.8.1` -> `3.11.5`. ([#2173](#2173)) - Bump default `google-java-format` version `1.30.0` -> `1.36.1`. ([#3075](#3075)) - Bump default `gherkin-utils` version `10.0.0` -> `12.0.2`. ([#2979](#2979)) ### Fixed - Fix release signing by using Gradle's required eight-digit signing subkey ID. ([#3105](#3105)) - Fix race when creating the npm install cache directory. (([#3096](#3096)) - GrEclipse no longer emits expected OSGi and nested-jar warnings during initialization. ([#2445](#2445)) - `typescript` `prettier()` no longer emits a warning when its parser is already set to `typescript`. ([#3098](#3098)) - `VersionCatalogStep` preserves standalone comments at section boundaries and the end of the file. ([#3048](#3048)) - `VersionCatalogStep` preserves entries when comments contain unmatched brackets, preserves commas inside quoted strings, and keeps significant line boundaries in multiline entries. ([#3042](#3042)) - `VersionCatalogStep` 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](#3042)) - `FeatureClassLoader` now provides stub implementations of `lombok.*` classes (and synthesises empty classes for any unknown ones) so that the Eclipse JDT formatter step no longer fails with `NoClassDefFoundError` or `NoSuchMethodError` when lombok is active as a JVM agent (e.g. `-javaagent:lombok.jar` in Eclipse/VS Code/Cursor). ([#2795](#2795))
### Changes - Generate formatter defaults from version catalog. ([#3045](#3045)) - Bump default `gson` version `2.13.2` -> `2.14.0`. ([#3045](#3045)) - Bump default `zjsonpatch` version `0.4.14` -> `0.4.16`. ([#3045](#3045)) - Bump default `jackson-dataformat-yaml` version `2.14.1` -> `2.20.1`. ([#3045](#3045)) - Bump default `ktfmt` version `0.63` -> `0.64`. ([2988](#2988)) - Bump default `cleanthat` version `2.25` -> `2.26`. ([#2882](#2882)) - Bump default `jackson` version `2.20.1` -> `2.22.2`. ([#2819](#2819)) - Bump default `javaparser` version `3.27.1` -> `3.28.2`. ([#3065](#3065)) - Bump default `palantir-java-format` version `2.80.0` -> `2.98.0`. ([#3068](#3068)) - Bump default `scalafmt` version `3.8.1` -> `3.11.5`. ([#2173](#2173)) - Bump default `google-java-format` version `1.30.0` -> `1.36.1`. ([#3075](#3075)) - Bump default `gherkin-utils` version `10.0.0` -> `12.0.2`. ([#2979](#2979)) - We no longer publish a plugin marker for the legacy `com.diffplug.gradle.spotless` id, which has been redirecting to `com.diffplug.spotless` since 4.0. Builds that still request it now fail with `Plugin [id: 'com.diffplug.gradle.spotless'] was not found` instead of the migration message. ([#3086](#3086)) ### Fixed - Fix release signing by using Gradle's required eight-digit signing subkey ID. ([#3105](#3105)) - Fix race when creating the npm install cache directory. (([#3096](#3096)) - GrEclipse no longer emits expected OSGi and nested-jar warnings during initialization. ([#2445](#2445)) - `typescript` `prettier()` no longer emits a warning when its parser is already set to `typescript`. ([#3098](#3098)) - `versionCatalog()` preserves standalone comments at section boundaries and the end of the file. ([#3048](#3048)) - `versionCatalog()` preserves entries when comments contain unmatched brackets, preserves commas inside quoted strings, and keeps significant line boundaries in multiline entries. ([#3042](#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](#3042)) - Stop calling deprecated `Configuration.setVisible` from Gradle 9.0.0 ([#3053](#3053)) - Eclipse JDT formatter step no longer fails with `NoClassDefFoundError` or `NoSuchMethodError` when lombok is active as a JVM agent (e.g. `-javaagent:lombok.jar` in Eclipse/VS Code/Cursor). ([#2795](#2795))
### 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](#3039)) - Eclipse JDT formatter step no longer fails with `NoClassDefFoundError` when lombok is active as a JVM agent (e.g. `-javaagent:lombok.jar` in Eclipse/VS Code/Cursor). ([#2795](#2795))
### Fixed - `ShortenFullyQualifiedTypesStep` 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](#3039)) - `FeatureClassLoader` now provides stub implementations of `lombok.*` classes (and synthesises empty classes for any others) so that the Eclipse JDT formatter step no longer fails with `NoClassDefFoundError` when lombok is active as a JVM agent (e.g. `-javaagent:lombok.jar` in Eclipse/VS Code/Cursor). ([#2795](#2795))
### 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](#3039)) - Eclipse JDT formatter step no longer fails with `NoClassDefFoundError` when lombok is active as a JVM agent (e.g. `-javaagent:lombok.jar` in Eclipse/VS Code/Cursor). ([#2795](#2795))
### Fixed - `prettier()` and other npm-based steps no longer fail to start on npm 12 (`EUNKNOWNCONFIG` from `--scripts-prepend-node-path`). ([#3024](#3024)) - `spotlessInternalRegisterDependencies` now writes its output under a build directory that is configured after the plugin is applied, instead of always under the default `build/`. ([#2114](#2114)) - `targetExclude` now accepts a Gradle `Directory`, `DirectoryProperty`, or `Provider<Directory>` and excludes the files under it. Previously the directory was treated as a single file, so excluding one silently did nothing. ([#2667](#2667))
### Added - New `<shortenFullyQualifiedTypes>` step for Java, which replaces fully-qualified type names with their simple names and adds the imports they need. Best combined with `<importOrder>` and `<removeUnusedImports>`. ([#2945](#2945)) - Add embedded lockfiles to Eclipse JDT for every supported version (`4.9` through `4.40`), so `eclipse()` resolves from Maven Central instead of querying a P2 update site. Versions without an embedded lockfile still fall back to P2 provisioning. ([#1996](#1996)) - Add support to apply alternate license header within same format ([#872](#872)) - Add support to skip license header application based on source file content pattern ([#650](#650)). ### Fixed - `removeUnusedImports` no longer fails on Java `import module` declarations. ([#2890](#2890)) - Concurrent P2 provisioning no longer races Solstice's on-disk cache (affects Eclipse-based formatters under parallel builds). ([#3004](#3004)) ### Changes - Default `google-java-format` remains `1.28.0` on JVM 17; bumps to `1.30.0` on JVM 21+; require at least `1.30.0` on JVM 25+ for `import module` support. - Bump default `eclipse` version to latest `4.39` -> `4.40`. ([#1996](#1996)) - Document Maven skip properties `spotless.skip`, `spotless.check.skip`, and `spotless.apply.skip`. Goal-specific skips now live on their own mojos so they no longer leak across goals. ([#3009](#3009)) - Bump default `adocfmt` version `0.2.0` -> `0.3.1`, which adds table formatting support (`<formatTables>`, `<tableLayout>`, `<tableMaxLineWidth>`, `<tableBlankLines>`).
PreviousNext