github spring-projects/spring-boot v4.0.0-M3

pre-release9 hours ago

⭐ New Features

  • Deprecate JUnit 4 integration #47256
  • Add support for SimpleTaskExecutor#cancel-remaining-tasks-on-close #47244
  • Restructure foundational packages to remove dependency on 'org.springframework.boot' #47232
  • Add configuration property for Tomcat's static resource cache max size #47229
  • Introduce specialized interfaces in PropertiesConfigAdapter #47226
  • Make ConfigDataLocation.of non-nullable #47221
  • Make SanitizableData.key non-nullable #47220
  • Add methods to connector and request factory builds to apply pre-packaged customizations #47205
  • Finalize and document Spring Boot's HTTP Service client support #47179
  • Revisit Kotlin Serialization integration #47178
  • Remove explicit dependency management for Spring Authorization Server as it is now part of Spring Security #47174
  • Adapt RetryTopicConfiguration now that Spring Kafka no longer relies on Spring Retry #47125
  • Remove auto-configuration support for '@HttpServiceClient' #47123
  • Adapt RabbitRetryTemplateCustomizer now that Spring AMQP no longer relies on Spring Retry #47122
  • Rename spring.mongodb.uuid-representation #47052
  • Remove Spring Data MongoDB dependency from MongoDB health support #47051
  • Always use mongodb rather than mongo in MongoDB-related configuration properties #47050
  • Remove GridFs from MongoConnectionDetails #47044
  • Rename *DataProperties classes to Data*Properties #47043
  • Add a configuration property for configuring Spring Data MongoDB's BigDecimal representation #47041
  • Rename ConditionalOnEnabledTracing to ConditionalOnEnabledTracingExport #47029
  • Update PropertyMapper to better support nullability #47024
  • Drop support for Jersey, at least until it supports JAX-RS 4 (Jakarta EE 11) #47017
  • Rename ScheduledTasksObservabilityAutoConfiguration to ScheduledTasksObservationAutoConfiguration #46995
  • Refine JSpecify annotations #46926
  • Introduce Kotlin Serialization auto-configuration #46546
  • Exclude spring-boot-devtools from AOT processing in Maven #46533
  • Improve Log4j Core configuration file detection for Log4j 3 #46409
  • Remove dependency management for Spring Retry in favor of spring-core's new retry support #46309
  • Optimize resource lookup in DevTools restart #46289
  • Add support for authenticating with Elasticsearch using an API key #46167
  • Remove isImmutable and getPrefix from OriginLookup #45547
  • Update Jackson support to require Jackson 3 #45535
  • Use a shaded version of org.json in spring-boot-configuration-metadata and spring-boot-cli #45504
  • Replace @OptionalParameter with JSpecify's @Nullable #45390
  • Create spring-boot-persistence module to house general persistence-related code and properties #45328
  • Rename spring-boot-starter-aop to spring-boot-starter-aspectj #42948
  • Rename MongoDB properties that do not require Spring Data MongoDB #34954
  • Enable readiness and liveness probe endpoints by default #22825

🐞 Bug Fixes

  • App fails to start when trying to use Prometheus without Actuator #47175
  • Quoted -D arguments break system property resolution on Linux with Spring AOT #47167
  • available() does not behave correctly when reading stored entries from a NestedJarFile #47058
  • spring-boot-docker-compose doesn't create service connections when image has registry host but not project #47020
  • Flyway Ignore Migration Patterns setting can't be set to an empty string #47014

📔 Documentation

  • Default value of server.tomcat.resource.cache-ttl is not documented #47254
  • Document Java 25 support #47248
  • Fix links to Flyway reference documentation #46989
  • Clarify Javadoc of Customizer interfaces about overriding behavior #46943

🔨 Dependency Upgrades

  • Upgrade to Couchbase Client 3.9.1 #47129
  • Upgrade to Ehcache3 3.11.1 #46893
  • Upgrade to Elasticsearch Client 9.1.4 #47173
  • Upgrade to Flyway 11.13.1 #47261
  • Upgrade to Gson 2.13.2 #47153
  • Upgrade to Hibernate 7.1.1.Final #47217
  • Upgrade to HikariCP 7.0.2 #47060
  • Upgrade to HtmlUnit 4.16.0 #47061
  • Upgrade to HttpCore5 5.3.5 #47062
  • Upgrade to Infinispan 15.2.6.Final #47063
  • Upgrade to Jackson Bom 3.0.0-rc9 #47130
  • Upgrade to Jakarta Activation 2.1.4 #47161
  • Upgrade to Jakarta Mail 2.1.4 #47064
  • Upgrade to Jaybird 6.0.3 #47065
  • Upgrade to Jedis 6.2.0 #47045
  • Upgrade to Jetty 12.1.1 #47131
  • Upgrade to jOOQ 3.19.26 #47154
  • Upgrade to Kafka 4.1.0 #47066
  • Upgrade to Kotlin 2.2.10 #47067
  • Upgrade to Lettuce 6.8.1.RELEASE #47046
  • Upgrade to Lombok 1.18.40 #47068
  • Upgrade to MariaDB 3.5.6 #47168
  • Upgrade to Maven Failsafe Plugin 3.5.4 #47195
  • Upgrade to Maven Shade Plugin 3.6.1 #47196
  • Upgrade to Maven Surefire Plugin 3.5.4 #47197
  • Upgrade to Micrometer 1.16.0-M3 #46996
  • Upgrade to Micrometer Tracing 1.6.0-M3 #46997
  • Upgrade to MongoDB 5.6.0 #47169
  • Upgrade to Netty 4.2.6.Final #47132
  • Upgrade to OpenTelemetry 1.54.0 #47133
  • Upgrade to Pulsar 4.1.0 #47170
  • Upgrade to R2DBC MSSQL 1.0.3.RELEASE #47171
  • Upgrade to Reactor Bom 2025.0.0-M7 #46998
  • Upgrade to SnakeYAML 2.5 #47069
  • Upgrade to Spring AMQP 4.0.0-M5 #46999
  • Upgrade to Spring Batch 6.0.0-M3 #47001
  • Upgrade to Spring Data Bom 2025.1.0-M6 #47002
  • Upgrade to Spring Framework 7.0.0-M9 #47008
  • Upgrade to Spring GraphQL 2.0.0-M3 #47009
  • Upgrade to Spring HATEOAS 3.0.0-M5 #47003
  • Upgrade to Spring Integration 7.0.0-M3 #47010
  • Upgrade to Spring Kafka 4.0.0-M5 #47004
  • Upgrade to Spring LDAP 4.0.0-M3 #47005
  • Upgrade to Spring Pulsar 2.0.0-M3 #47006
  • Upgrade to Spring RESTDocs 4.0.0-M3 #47007
  • Upgrade to Spring Security 7.0.0-M3 #47199
  • Upgrade to Tomcat 11.0.11 #47070
  • Upgrade to Versions Maven Plugin 2.19.0 #47071
  • Upgrade to XmlUnit2 2.10.4 #47241

❤️ Contributors

Thank you to all the contributors who worked on this release:

@Chanwon-Seo, @HyunSangHan, @academey, @dmitrysulman, @doljae, @izeye, @jonatan-ivanov, @kzittritsch, @l-trotta, @maziyarbahramian, @move-hoon, @ppkarwasz, and @quaff

Don't miss a new spring-boot release

NewReleases is sending notifications on new releases.