Skip to content

chore(deps): upgrade Spring Boot 4.0.3, MariaDB 12.2, and Gradle 9.3.1#54

Merged
devondragon merged 2 commits intomainfrom
upgrade/mariadb-and-dependencies
Feb 21, 2026
Merged

chore(deps): upgrade Spring Boot 4.0.3, MariaDB 12.2, and Gradle 9.3.1#54
devondragon merged 2 commits intomainfrom
upgrade/mariadb-and-dependencies

Conversation

@devondragon
Copy link
Copy Markdown
Owner

Summary

Upgrades core dependencies to their latest versions:

  • Spring Boot 4.0.2 → 4.0.3
  • Gradle 9.0.0 → 9.3.1
  • MariaDB Docker image 11.6 → 12.2
  • springdoc-openapi 2.8.9 → 3.0.1
  • WireMock migrated from com.github.tomakehurst:wiremock-jre8-standalone to org.wiremock:wiremock-standalone 3.13.2
  • hibernate-validator version now managed by Spring Boot BOM (removed explicit version pin and separate jakarta.validation-api dependency)
  • Groovy pinned to 5.0.3 to work around GROOVY-11745

Groovy 5.0.4 workaround

Spring Boot 4.0.3 bumps Groovy from 5.0.3 to 5.0.4. Groovy 5.0.4 has a regression (GROOVY-11745) that causes an NPE when Groovy 5 code calls setters on objects from Groovy 4-compiled libraries. This breaks thymeleaf-layout-dialect 3.4.0 (compiled with Groovy 4.0.25) at runtime in DecorateProcessor.doProcess().

The fix is committed upstream but Groovy 5.0.5 is not yet released. As a workaround, we exclude Groovy from thymeleaf-layout-dialect and pin to 5.0.3 explicitly. This can be removed once Spring Boot adopts Groovy 5.0.5+.

See also: ultraq/thymeleaf-layout-dialect#251

Test plan

  • ./gradlew test — all tests pass
  • Verified groovy:5.0.3 is resolved on the runtime classpath
  • Manual smoke test of the application with ./gradlew bootRun

- 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
Copilot AI review requested due to automatic review settings February 21, 2026 22:09
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR upgrades core dependencies to their latest versions, including Spring Boot 4.0.3, Gradle 9.3.1, and several third-party libraries. The upgrade includes a workaround for a Groovy regression that affects the thymeleaf-layout-dialect library.

Changes:

  • Upgraded Spring Boot from 4.0.2 to 4.0.3 and Gradle from 9.0.0 to 9.3.1
  • Migrated WireMock from deprecated package to new org.wiremock artifact and upgraded springdoc-openapi to 3.0.1
  • Implemented Groovy 5.0.3 pinning workaround to address GROOVY-11745 regression affecting thymeleaf-layout-dialect

Reviewed changes

Copilot reviewed 4 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
build.gradle Updated Spring Boot, springdoc-openapi, WireMock, and hibernate-validator versions; added Groovy 5.0.3 workaround
compose.yaml Updated MariaDB Docker image version
gradle/wrapper/gradle-wrapper.properties Updated Gradle distribution URL to 9.3.1
gradle/wrapper/gradle-wrapper.jar Updated Gradle wrapper binary
gradlew Updated Gradle wrapper script with new copyright, SPDX identifier, and execution changes
gradlew.bat Updated Gradle wrapper batch script with SPDX identifier and error handling improvements

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

OAuth tokens expire periodically, requiring manual regeneration.
API keys are stable and don't expire.
@devondragon devondragon merged commit 604a736 into main Feb 21, 2026
5 of 6 checks passed
@devondragon devondragon deleted the upgrade/mariadb-and-dependencies branch February 22, 2026 01:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants