Skip to content

fix(deps): Bump Spring Boot to 4.0.6#15676

Open
jamesfredley wants to merge 4 commits into
8.0.xfrom
deps/spring-boot-4.0.6
Open

fix(deps): Bump Spring Boot to 4.0.6#15676
jamesfredley wants to merge 4 commits into
8.0.xfrom
deps/spring-boot-4.0.6

Conversation

@jamesfredley
Copy link
Copy Markdown
Contributor

Bumps spring-boot.version from 4.0.5 to 4.0.6 in dependencies.gradle.

Release notes: https://github.com/spring-projects/spring-boot/releases/tag/v4.0.6

Dependency-version fallout (a.k.a. why this PR has three commits)

The validateDependencyVersions CI job caught two transitive-version conflicts introduced by the SB 4.0.5 → 4.0.6 bump. Both are upstream BOM drift, not anything broken in our build - but our pins (and the Micronaut platform's pins) had to be reconciled so the validator sees a single source of truth.

1. MongoDB driver 5.6.4 → 5.6.5

Spring Boot 4.0.6 bumps its managed mongodb.version from 5.6.4 to 5.6.5. Our dependencies.gradle was still pinning 5.6.4, so the higher SB version won during transitive resolution and the validator flagged every grails-data-mongodb module and mongodb test example:

org.mongodb:bson                - resolved 5.6.5, expected 5.6.4
org.mongodb:mongodb-driver-core - resolved 5.6.5, expected 5.6.4
org.mongodb:mongodb-driver-sync - resolved 5.6.5, expected 5.6.4
org.mongodb:bson-record-codec   - resolved 5.6.5, expected 5.6.4

Affected projects: grails-data-mongodb, -bson, -core, -ext, -spring-boot, -gson-templates, -docs, plus the grails-test-examples-mongodb-* set.

Fix: Bump mongodb.version to 5.6.5 in dependencies.gradle so our pin matches what Spring Boot 4.0.6 manages.

2. Jackson 3 BOM: SB 4.0.6 ships 3.1.2, Micronaut platform still pins 3.1.0

Spring Boot 4.0.6 also bumps tools.jackson:jackson-bom from 3.1.0 to 3.1.2. io.micronaut.platform:micronaut-platform:5.0.0-M2 has not caught up yet and still pins 3.1.0. Both platforms are imported into grails-micronaut-bom, so:

  • The validator's probe (using platform(:grails-micronaut-bom)) sees Micronaut's 3.1.0.
  • Real project resolution under enforcedPlatform(:grails-micronaut-bom) picks Spring Boot's higher 3.1.2.

Result: grails-test-examples-micronaut failed validation:

tools.jackson:jackson-bom - resolved 3.1.2, expected 3.1.0

Fix: Apply the same exclusion pattern already used for Groovy and Spock in grails-bom/micronaut/build.gradle - exclude tools.jackson from the Micronaut platform import so spring-boot-dependencies is the single source of truth for Jackson 3. The probe and actual resolution now agree on 3.1.2, and consumers stay aligned with the Jackson version Spring Boot tests against.

Assisted-by: claude-code:claude-opus-4-7
Spring Boot 4.0.6 bumps the managed `mongodb.version` from 5.6.4 to
5.6.5. Our `dependencies.gradle` still pinned 5.6.4, which lost to
Spring Boot's 5.6.5 during transitive resolution and tripped the
`validateDependencyVersions` task across every grails-data-mongodb
module and mongodb test example (bson, mongodb-driver-core,
mongodb-driver-sync, bson-record-codec).

Bump the explicit pin to 5.6.5 so our BOM matches what Spring Boot
4.0.6 manages and the validator sees a single source of truth.

Assisted-by: claude-code:claude-opus-4-7
Spring Boot 4.0.6 bumps `tools.jackson:jackson-bom` from 3.1.0 to
3.1.2, but `io.micronaut.platform:micronaut-platform:5.0.0-M2` still
pins 3.1.0. With both platforms imported into grails-micronaut-bom,
the probe in `validateDependencyVersions` sees Micronaut's 3.1.0 while
actual resolution in consuming projects picks Spring Boot's 3.1.2 -
flagging `grails-test-examples-micronaut` as a version mismatch.

Apply the same exclusion pattern already used for Groovy and Spock:
exclude `tools.jackson` from the Micronaut platform import so
spring-boot-dependencies is the single source of truth for Jackson 3,
mirroring how SB owns Groovy/Spock in grails-base-bom. The probe and
project resolution now agree on 3.1.2, and consumers stay aligned
with the Jackson version Spring Boot tests against.

Assisted-by: claude-code:claude-opus-4-7
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

Updates Grails’ dependency management to align with Spring Boot 4.0.6 and resolves BOM drift conflicts detected by validateDependencyVersions, ensuring consistent transitive resolution across Grails and Micronaut BOM imports.

Changes:

  • Bump spring-boot.version from 4.0.5 to 4.0.6 in dependencies.gradle.
  • Bump pinned MongoDB driver version from 5.6.4 to 5.6.5 to match Spring Boot 4.0.6.
  • Exclude tools.jackson from the Micronaut platform import in grails-micronaut-bom so Spring Boot remains the single source of truth for Jackson 3.

Reviewed changes

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

File Description
dependencies.gradle Updates Spring Boot and MongoDB pinned versions to match Spring Boot 4.0.6 managed dependencies.
grails-bom/micronaut/build.gradle Excludes tools.jackson from Micronaut platform import to avoid Jackson BOM version conflicts with Spring Boot.

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

@jamesfredley jamesfredley self-assigned this May 22, 2026
@jamesfredley jamesfredley moved this to In Progress in Apache Grails May 22, 2026
@jamesfredley jamesfredley added this to the grails:8.0.0-M2 milestone May 22, 2026
@testlens-app
Copy link
Copy Markdown

testlens-app Bot commented May 22, 2026

✅ All tests passed ✅

🏷️ Commit: d554d36
▶️ Tests: 5895 executed
⚪️ Checks: 35/35 completed


Learn more about TestLens at testlens.app.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

2 participants