Skip to content

Spring Boot 4.0.0 M3 Release Notes

Phillip Webb edited this page Sep 5, 2025 · 42 revisions

Spring Boot 4.0.0-M3 Release Notes

For changes in earlier milestones, please refer to:

Upgrading from Spring Boot 3.5

Migration Guide

To help with upgrading, a migration guide is available.

Jackson

Spring Boot now uses Jackson 3 as its preferred JSON library. Jackson 3 uses new group IDs and package names with com.fasterxml.jackson becoming tools.jackson. An exception to this is the jackson-annotations module which continues to use the com.fasterxml.jackson.core group ID and com.fasterxml.jackson.annotation package. To learn more about the changes in Jackson 3, refer to the Jackson wiki.

For libraries that require Jackson 2, dependency management for Jackson 2 remains and a manually configured Jackson 2 ObjectMapper can be used alongside Boot’s auto-configuration for Jackson 3 if needed.

Property Mapper API Changes

The PropertyMapper class no longer calls adapter or predicate methods by default when the source value is null. This has removed the need for the alwaysApplyingNotNull() method which has been removed.

If you need to perform a mapping even for null values you can use the new always() method.

For example,

map.from(source::method).to(destination::method);

Will not call destination.method(…​) if source.method() returns null.

Where as:

map.from(source::method).always().to(destination::method);

Will call destination.method(null) if source.method() returns null.

If you use the PropertyMapper, you might want to review commit 239f384ac0 which shows how Spring Boot itself adapted to the new API.

Minimum Requirements Changes

None.

New and Noteworthy

Tip
Check the configuration changelog for a complete overview of the changes in configuration.

MongoDB

Health Indicators

The MongoDB health indicators have been reworked so that they no longer require Spring Data MongoDB. This allows health information to be provided when using the MongoDB Java Driver directly.

As part of this change, the health indicators have moved from spring-boot-data-mongodb to spring-boot-mongodb. Their packages have also been updated accordingly.

Properties

A new property, spring.data.mongodb.representation.big-decimal, has been introduced to control how Spring Data MongoDB stores BigDecimal (and BigInteger) values in MongoDB.

A number of properties have also been renamed. See the migration guide for details.

Dependency Upgrades

Spring Boot 4.0.0-M3 moves to new versions of several Spring projects:

  • …​

Numerous third-party dependencies have also been updated, some of the more noteworthy of which are the following:

Miscellaneous

Apart from the changes listed above, there have also been lots of minor tweaks and improvements including:

  • Log4j Core configuration file detection for Log4j 3 has been improved

  • Resource lookup in DevTools restart has been optimized

  • ScheduledTasksObservabilityAutoConfiguration has been renamed to ScheduledTasksObservationAutoConfiguration for consistency

  • Authenticating with Elasticsearch using an API key is now supported using the new spring.elasticsearch.api-key property.

  • ConditionalOnEnabledTracing has been renamed to ConditionalOnEnabledTracingExport

  • The property management.tracing.enabled has been renamed to management.tracing.export.enabled

Deprecations in Spring Boot 4.0.0-M1

  • …​

Clone this wiki locally