Tags: diffplug/spotless
Tags
### Added - Add `<cacheDirectory>` to `<eclipse>`, `<greclipse>`, and `<eclipseCdt>` for the Equo/Solstice P2 cache. ([#2944](#2944)) - `EclipseJdtFormtterStep` now can conditionally set compiler source/compliance options. Allows for better parsing of AST Node for newer language features and more correct sorting; e.g. records or seal classes. ([#2942](#2942)) ### Fixed - `<versionCatalog>` no longer splits long inline tables across multiple lines — Gradle's TOML 1.0 parser cannot read multi-line inline tables. The `maxLineLength` option has been removed. ([#2948](#2948)) - `spotless:apply` no longer aborts on the first file with lints; it now formats all files and reports a single aggregated lint failure across every file, matching the Gradle plugin's behavior. ([#2937](#2937)) - `<greclipse>` and `<eclipseCdt>` now default P2 data to the Maven local repository. ([#2944](#2944)) - `forbidWildcardImports` and `forbidModuleImports` now detect imports that have leading whitespace (indentation/tabs). ([#2939](#2939)) ### Changes - Improved formatting performance by eliminating redundant per-step line-ending normalization in the core formatter loop. ([#2934](#2934))
### Fixed - `P2Provisioner` now passes cache directory overrides directly to Solstice. ([#2944](#2944)) - `forbidWildcardImports` and `forbidModuleImports` now detect imports that have leading whitespace (indentation/tabs). ([#2939](#2939)) - `versionCatalog` step no longer splits long inline tables across multiple lines — Gradle's TOML 1.0 parser cannot read multi-line inline tables. The `maxLineLength` option has been removed. ([#2948](#2948)) ### Changes - `EclipseJdtFormtterStep` now can conditionally set compiler source/compliance options. Allows for better parsing of AST Node for newer language features and more correct sorting; e.g. records or seal classes. ([#2942](#2942)) - `Formatter` no longer recomputes line-ending normalization (`LineEnding.toUnix`) a second time for every formatter step that changes content, removing redundant O(n) work from the core formatting loop. ([#2934](#2934)) - expandWildcardImports support pom type dependency. ([#2839](#2839))
### Added - Add `cacheDirectory(...)` to `eclipse()`, `eclipseCdt()`, and `greclipse()`; the default P2 cache is `$GRADLE_USER_HOME/caches/p2-data`. ([#2944](#2944)) ### Fixed - `forbidWildcardImports` and `forbidModuleImports` now detect imports that have leading whitespace (indentation/tabs). ([#2939](#2939)) - `versionCatalog()` no longer splits long inline tables across multiple lines — Gradle's TOML 1.0 parser cannot read multi-line inline tables. The `maxLineLength` option has been removed. ([#2948](#2948)) - `EclipseJdtFormtterStep` now can conditionally set compiler source/compliance options. Allows for better parsing of AST Node for newer language features and more correct sorting; e.g. records or seal classes. ([#2942](#2942)) ### Changes - Improved formatting performance by eliminating redundant per-step line-ending normalization in the core formatter loop. ([#2934](#2934))
### Fixed - `<licenseHeader>` with `<yearMode>SET_FROM_GIT</yearMode>` no longer runs `git log` through a shell, eliminating a shell-injection vector when formatting files whose names contain shell metacharacters. - Bump transitive `plexus-utils` `4.0.2` -> `4.0.3` to address [CVE-2025-67030](GHSA-6fmv-xxpf-w3cw). ([#2919](#2919))
### Fixed - `licenseHeader` with `setLicenseHeaderYearsFromGitHistory()` no longer runs `git log` through a shell, eliminating a shell-injection vector when formatting files whose names contain shell metacharacters.
### Added - `<scalafmt>` now reads the version from the `version` field in the scalafmt config file when no `<version>` is explicitly set, falling back to the built-in default only if neither is available. ([#2922](#2922)) - Add `<toml>` format type with `<versionCatalog>` step for formatting and sorting Gradle version catalog files. ([#2916](#2916)) - Add `<javaparserVersion>` option to `<cleanthat>`, allowing users to override the JavaParser version pulled in transitively by Cleanthat. ([#2903](#2903)) - Add a `expandWildcardImports` API for java ([#2829](#2930)) ### Fixed - Preserve case of JDBI named bind params that collide with SQL keywords (e.g. `:limit`, `:offset`) in the DBeaver SQL formatter. ([#2899](#2899)) - The `-Dspotless.ratchetFrom=...` user property now takes priority over `<ratchetFrom>` configured in the plugin or in individual formatters, instead of being overridden by them. ([#2896](#2896), fixes [#2842](#2842)) - Fix non-idempotent formatting when `importOrder()` is combined with `greclipse()`: a single catch-all group no longer strips blank lines that `greclipse()` independently inserted between import groups. ([#2914](#2914)) ### Changes - Fix `expandWildcardImports` failing on JDK XML types such as `org.xml.sax.InputSource`. ([#2921](#2921)) - Use Eclipse JDT's collator-based comparison when sorting Java members to better match Eclipse save actions. ([#2920](#2920)) - Bump default `cleanthat` version `2.24` -> `2.25`. ([#2903](#2903)) - Bump default `eclipse-jdt` version from `4.35` to `4.39`. ([#2912](#2912))
### Added - `scalafmt()` now reads the version from the `version` field in the scalafmt config file when no version is explicitly set in the plugin config, falling back to the built-in default only if neither is available. ([#2922](#2922)) - Add `versionCatalog` step for formatting and sorting Gradle version catalog (`.toml`) files. ([#2916](#2916)) - Add `javaparserVersion` option to the Cleanthat step, allowing callers to override the JavaParser version pulled in transitively by Cleanthat. ([#2903](#2903)) ### Fixed - Preserve case of JDBI named bind params that collide with SQL keywords (e.g. `:limit`, `:offset`) in the DBeaver SQL formatter. ([#2899](#2899)) - Fix non-idempotent formatting when `importOrder()` is combined with `greclipse()`: a single catch-all group no longer strips blank lines that `greclipse()` independently inserted between import groups. ([#2914](#2914)) ### Changes - Fix `expandWildcardImports` failing on JDK XML types such as `org.xml.sax.InputSource`. ([#2921](#2921)) - Use Eclipse JDT's collator-based comparison when sorting Java members to better match Eclipse save actions. ([#2920](#2920)) - Bump default `cleanthat` version `2.24` -> `2.25`. ([#2903](#2903)) - Bump default `eclipse-jdt` version from `4.35` to `4.39`. ([#2912](#2912))
### Added - `scalafmt()` now reads the version from the `version` field in the scalafmt config file when no version is explicitly set in the plugin config, falling back to the built-in default only if neither is available. ([#2922](#2922)) - Add `toml` format type with `versionCatalog()` step for formatting and sorting Gradle version catalog files. ([#2916](#2916)) - Add `withIndentStyle` and `withIndentSize` configuration to `tableTestFormatter` for setting the fallback indent when no `.editorconfig` is found. ([#2893](#2893)) - Add `javaparserVersion(...)` to `cleanthat`, allowing users to override the JavaParser version pulled in transitively by Cleanthat. ([#2903](#2903)) ### Fixed - Fix `tableTestFormatter` editorconfig cache not honoring `.editorconfig` changes across Gradle daemon runs due to a shared static `EditorConfigProvider`. ([#2893](#2893)) - Preserve case of JDBI named bind params that collide with SQL keywords (e.g. `:limit`, `:offset`) in the DBeaver SQL formatter. ([#2899](#2899)) - Fix non-idempotent formatting when `importOrder()` is combined with `greclipse()`: a single catch-all group no longer strips blank lines that `greclipse()` independently inserted between import groups. ([#2914](#2914)) - Fix `predeclareDepsFromBuildscript()` on Gradle 9 by avoiding mutation of the root buildscript configuration container. ([#2929](#2929), fixes [#2599](#2599)) ### Changes - Fix `expandWildcardImports` failing on JDK XML types such as `org.xml.sax.InputSource`. ([#2921](#2921)) - Use Eclipse JDT's collator-based comparison when sorting Java members to better match Eclipse save actions. ([#2920](#2920)) - Bump default `cleanthat` version `2.24` -> `2.25`. ([#2903](#2903)) - Bump default `eclipse-jdt` version from `4.35` to `4.39`. ([#2912](#2912)) - Make `spotlessPredeclare` visible to Gradle Kotlin DSL type-safe accessors. ([#2925](#2925)) - Allow `spotlessPredeclare` to be used directly without enabling it first in spotless extension. ([#2925](#2925))
PreviousNext