Skip to content

Chore: upgrade to spring boot 4#1925

Open
netomi wants to merge 13 commits into
mainfrom
upgrade-spring-boot-4
Open

Chore: upgrade to spring boot 4#1925
netomi wants to merge 13 commits into
mainfrom
upgrade-spring-boot-4

Conversation

@netomi

@netomi netomi commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

This fixes #1843, #1608 .

Changes that are worth to mention:

  • use builtin @retryable support instead of explicit spring-retry
  • adjust for modularization of spring boot 4
  • adjust for changes in hibernate 7 wrt auto-commit in test cases
  • use the hibernate version from the spring bom to keep them in sync
  • update testcontainers to 2.0.3 and adjust tests accordingly
  • replace explicit jackson use from jackson 2 to jackson 3 used by spring boot
  • DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES is now disabled by default in jackson 3, no need for a custom ObjectMapper in some cases anymore
  • use JsonMapper.shared() or the injected bean instead of creating a new ObjectMapper instance
  • update elasticsearch to 9.2.8 to align with the client version that is used by spring boot
  • replace all jakarta annotations wrt Nullability to jspecify ones
  • some cases were using @NotNull from the jakarta bean validation package which were wrong anyways to the jspecify ones
  • keep the bean validation constraints in Property and Entity classes where these annotations are evaluated at runtime

jackson 2 is still inherited from various transitive dependencies, but the application code should not use it but prefer jackson 3 to avoid unexpected side-effects. The annotations are still coming from the 2.21 package as explained in the release notes: https://github.com/FasterXML/jackson/wiki/Jackson-Release-3.0

That will stay like that for a while.

@netomi netomi force-pushed the upgrade-spring-boot-4 branch from b87b731 to c525065 Compare June 26, 2026 18:49
@netomi netomi requested review from autumnfound and gnugomez June 26, 2026 21:40
this.registries = setupRegistries();
this.extensionQueryRequestHandler = extensionQueryRequestHandler;
this.objectMapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
this.jsonMapper = new JsonMapper();

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

that is now the default in jackson 3

@netomi netomi added the snapshot Pull requests with that label will automatically build and publish snapshot images label Jun 27, 2026
@netomi netomi marked this pull request as ready for review June 27, 2026 04:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

snapshot Pull requests with that label will automatically build and publish snapshot images

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bump spring boot version

1 participant