Skip to content

Commit 9709d79

Browse files
committed
chore(deps): upgrade Spring Boot 4.0.3, MariaDB 12.2, and Gradle 9.3.1
- Bump Spring Boot from 4.0.2 to 4.0.3 - Bump Gradle wrapper from 9.0.0 to 9.3.1 - Bump MariaDB Docker image from 11.6 to 12.2 - Bump springdoc-openapi from 2.8.9 to 3.0.1 - Migrate wiremock from tomakehurst to org.wiremock artifact (3.13.2) - Let Spring Boot BOM manage hibernate-validator version - Pin Groovy to 5.0.3 to work around GROOVY-11745 NPE in thymeleaf-layout-dialect with Groovy 5.0.4
1 parent 62ae523 commit 9709d79

6 files changed

Lines changed: 45 additions & 32 deletions

File tree

build.gradle

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
plugins {
22
id 'java'
3-
id 'org.springframework.boot' version '4.0.2'
3+
id 'org.springframework.boot' version '4.0.3'
44
id 'io.spring.dependency-management' version '1.1.7'
55
id "com.github.ben-manes.versions" version "0.53.0"
66

@@ -53,10 +53,20 @@ dependencies {
5353

5454
// Thymeleaf extras - Spring Boot 4 manages the version
5555
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6'
56-
implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:3.4.0'
56+
// Workaround for GROOVY-11745: Groovy 5.0.4 (shipped with Spring Boot 4.0.3) has a
57+
// regression that causes an NPE when Groovy 5 code calls setters on objects from
58+
// Groovy 4-compiled libraries. This breaks thymeleaf-layout-dialect 3.4.0 (compiled
59+
// with Groovy 4.0.25) in DecorateProcessor.doProcess().
60+
// See: https://issues.apache.org/jira/browse/GROOVY-11745
61+
// See: https://github.com/ultraq/thymeleaf-layout-dialect/issues/251
62+
// TODO: Remove this workaround when Groovy 5.0.5+ is available and adopted by Spring Boot
63+
implementation('nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:3.4.0') {
64+
exclude group: 'org.apache.groovy'
65+
}
66+
implementation 'org.apache.groovy:groovy:5.0.3'
5767

5868
// OpenAPI (Swagger)
59-
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.9'
69+
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:3.0.1'
6070

6171
// Runtime dependencies
6272
runtimeOnly 'org.springframework.boot:spring-boot-devtools'
@@ -69,8 +79,7 @@ dependencies {
6979
// Utility libraries
7080
implementation 'org.passay:passay:1.6.6'
7181
implementation 'com.google.guava:guava:33.5.0-jre'
72-
implementation 'jakarta.validation:jakarta.validation-api:3.1.1'
73-
implementation 'org.hibernate.validator:hibernate-validator:8.0.2.Final'
82+
implementation 'org.hibernate.validator:hibernate-validator'
7483

7584
// Compile-only dependencies
7685
compileOnly 'org.projectlombok:lombok'
@@ -90,7 +99,7 @@ dependencies {
9099
testImplementation 'io.github.bonigarcia:webdrivermanager:6.3.3'
91100

92101
// OAuth2 Testing dependencies
93-
testImplementation 'com.github.tomakehurst:wiremock-jre8-standalone:3.0.1'
102+
testImplementation 'org.wiremock:wiremock-standalone:3.13.2'
94103
testImplementation 'io.jsonwebtoken:jjwt-api:0.13.0'
95104
testRuntimeOnly 'io.jsonwebtoken:jjwt-impl:0.13.0'
96105
testRuntimeOnly 'io.jsonwebtoken:jjwt-jackson:0.13.0'

compose.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
services:
77
mariadb:
8-
image: mariadb:11.6
8+
image: mariadb:12.2
99
environment:
1010
MARIADB_DATABASE: springuser
1111
MARIADB_USER: springuser

gradle/wrapper/gradle-wrapper.jar

-17.8 KB
Binary file not shown.

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

gradlew

Lines changed: 14 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gradlew.bat

Lines changed: 14 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)