Releases: spring-projects/spring-boot
v4.0.0-M3
⭐ 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 B...
v3.5.6
🐞 Bug Fixes
- Quoted -D arguments break system property resolution on Linux with Spring AOT #47166
- Groovy Templates fails with an NPE when rendering an auto new line #47139
- available() does not behave correctly when reading stored entries from a NestedJarFile #47057
- spring-boot-docker-compose doesn't create service connections when image has registry host but not project #47019
- Flyway Ignore Migration Patterns setting can't be set to an empty string #47013
📔 Documentation
- Default value of server.tomcat.resource.cache-ttl is not documented #47253
- Document Java 25 support #47245
- Fix links to Flyway reference documentation #46988
- Clarify Javadoc of Customizer interfaces about overriding behavior #46942
🔨 Dependency Upgrades
- Upgrade to Ehcache3 3.10.9 #47106
- Upgrade to Elasticsearch Client 8.18.6 #47094
- Upgrade to Gson 2.13.2 #47158
- Upgrade to Hibernate 6.6.29.Final #47216
- Upgrade to HikariCP 6.3.3 #47187
- Upgrade to HttpCore5 5.3.5 #47108
- Upgrade to Infinispan 15.2.6.Final #47109
- Upgrade to Jakarta Activation 2.1.4 #47188
- Upgrade to Jakarta Mail 2.1.4 #47110
- Upgrade to Jaybird 6.0.3 #47111
- Upgrade to Jetty 12.0.27 #47159
- Upgrade to jOOQ 3.19.26 #47160
- Upgrade to Lombok 1.18.40 #47113
- Upgrade to MariaDB 3.5.6 #47189
- Upgrade to Maven Failsafe Plugin 3.5.4 #47190
- Upgrade to Maven Shade Plugin 3.6.1 #47191
- Upgrade to Maven Surefire Plugin 3.5.4 #47192
- Upgrade to Micrometer 1.15.4 #47083
- Upgrade to Micrometer Tracing 1.5.4 #47084
- Upgrade to Netty 4.1.127.Final #47127
- Upgrade to R2DBC MSSQL 1.0.3.RELEASE #47193
- Upgrade to Reactor Bom 2024.0.10 #47085
- Upgrade to Spring AMQP 3.2.7 #47086
- Upgrade to Spring Batch 5.2.3 #47087
- Upgrade to Spring Data Bom 2025.0.4 #47088
- Upgrade to Spring Framework 6.2.11 #47089
- Upgrade to Spring GraphQL 1.4.2 #47090
- Upgrade to Spring Integration 6.5.2 #47091
- Upgrade to Spring Kafka 3.3.10 #47092
- Upgrade to Spring Pulsar 1.2.10 #47093
- Upgrade to Spring Security 6.5.5 #47257
- Upgrade to Tomcat 10.1.46 #47194
- Upgrade to Undertow 2.3.19.Final #47115
- Upgrade to XmlUnit2 2.10.4 #47243
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Chanwon-Seo, @doljae, @izeye, and @quaff
v3.4.10
🐞 Bug Fixes
- available() does not behave correctly when reading stored entries from a NestedJarFile #47056
- Flyway Ignore Migration Patterns setting can't be set to an empty string #46984
- spring-boot-docker-compose doesn't create service connections when image has registry host but not project #46974
- Quoted -D arguments break system property resolution on Linux with Spring AOT #46555
📔 Documentation
- Default value of server.tomcat.resource.cache-ttl is not documented #47252
- Fix links to Flyway reference documentation #46976
- Clarify Javadoc of Customizer interfaces about overriding behavior #46938
🔨 Dependency Upgrades
- Upgrade to Ehcache3 3.10.9 #47096
- Upgrade to Hibernate 6.6.29.Final #47215
- Upgrade to HttpCore5 5.3.5 #47098
- Upgrade to Infinispan 15.0.21.Final #47099
- Upgrade to Jakarta Activation 2.1.4 #47181
- Upgrade to Jakarta Mail 2.1.4 #47100
- Upgrade to Jaybird 5.0.9.java11 #47101
- Upgrade to Jetty 12.0.27 #47156
- Upgrade to jOOQ 3.19.26 #47157
- Upgrade to Lombok 1.18.40 #47103
- Upgrade to Maven Failsafe Plugin 3.5.4 #47182
- Upgrade to Maven Shade Plugin 3.6.1 #47183
- Upgrade to Maven Surefire Plugin 3.5.4 #47184
- Upgrade to Micrometer 1.14.11 #47073
- Upgrade to Micrometer Tracing 1.4.10 #47074
- Upgrade to Netty 4.1.127.Final #47128
- Upgrade to R2DBC MSSQL 1.0.3.RELEASE #47185
- Upgrade to Reactor Bom 2024.0.10 #47075
- Upgrade to Spring AMQP 3.2.7 #47076
- Upgrade to Spring Batch 5.2.3 #47077
- Upgrade to Spring Data Bom 2024.1.10 #47078
- Upgrade to Spring Framework 6.2.11 #47079
- Upgrade to Spring Integration 6.4.7 #47080
- Upgrade to Spring Kafka 3.3.10 #47081
- Upgrade to Spring Pulsar 1.2.10 #47082
- Upgrade to Spring Security 6.4.11 #47258
- Upgrade to Tomcat 10.1.46 #47186
- Upgrade to Undertow 2.3.19.Final #47105
- Upgrade to XmlUnit2 2.10.4 #47238
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Chanwon-Seo, @doljae, @izeye, and @quaff
v4.0.0-M2
⭐ New Features
- Rename metrics, observation, and tracing modules to include micrometer in their names and packages #46925
- Drop support for Undertow as it is not Servlet 6.1 compatible #46917
- Harmonize Logback's console and file logging charset #46846
- Make spring-boot-starter-opentelemetry produce OTLP output from instrumentation #46842
- Add '
@HttpServiceClient
' scanning auto-configuration #46782 - Add dependency management for JSpecify #46776
- Drop Actuator endpoint parameter support for javax.annotations.NonNull #46773
- Remove StreamBuilderFactoryBeanCustomizer in favor of Spring Kafka's StreamsBuilderFactoryBeanConfigurer #46675
- Rely on org.springframework.core.Nullness to determine if an Actuator endpoint is optional #46593
- Provide configuration property to disable console logging #46592
- Add JSpecify nullability annotations #46587
- Add auto-configuration and properties support for Spring Framework's new API Versioning #46519
- Ensure RestClient uses Virtual Thread Executor when spring.threads.virtual.enabled=true and JdkClientHttpRequestFactoryBuilder #46404
- Create spring-boot-autoconfigure-classic module #46233
- Auto-configure Elasticsearch's new Rest5Client rather than the legacy RestClient #46061
- Raise the minimum supported version of Gradle to 8.14 #43574
- Support Gradle 9 #43573
- Make auto-configurations final and remove public members #32883
🐞 Bug Fixes
- HTTP Service Client properties are not applied #46915
- Hazelcast health indicator reports the wrong status when Hazelcast has shut down due to an out-of-memory error #46910
- Configuration Metadata for Actuator endpoints does not take Nullness into account #46854
- Performance critical tracing code has high overhead due to the use of the Stream API #46845
- Default authorization server filter chain configuration is excluded in M1 release when actuator starter is on the classpath #46841
- SpringLiquibaseCustomizer is exposed outside its defined visibility scope #46759
- Race condition in OutputCapture can result in stale data #46722
- Auto-configured WebClient no longer uses context's ReactorResourceFactory #46684
- WebTestClientAutoConfiguration fails when WebFlux is on the classpath and spring-boot-http-codec is not #46678
- Default value not detected for a field annoted with
@Name
#46667 - Missing metadata when using
@Name
with a constructor-bound property #46664 - Missing property for Spring Authorization Server's PAR endpoint #46648
- Auto-configured MockMvc ignores
@FilterRegistration
annotation #46647 - Property name is incorrect when reporting a mis-configured OAuth 2 Resource Server JWT public key location #46637
- Memory not freed on context restart in JpaMetamodel#CACHE with spring.main.lazy-initialization=true #46635
- Failure to discover default value for a primitive should not lead to document its default value #46562
- WebTestClient is now bound to previous test server port when test application context is paused #46557
- Spring Boot 4.0.0-M1 has a typo in spring-boot-dependencies.pom for spring-boot-starter-opentelemetry #46549
- spring-boot-metrics with micrometer-registry-otlp throws exception if spring-boot-opentelemetry is missing #46303
📔 Documentation
- Update Servlet container system requirements #46918
- Kotlin samples for configuration metadata are in the wrong package #46858
- Observability examples in the reference guide are missing the Kotlin version #46799
- Align method descriptions for SslOptions getCiphers and getEnabledProtocols with '
@returns
' #46770 - Tracing samples in the reference guide are missing the Kotlin version #46768
- Improve Virtual Threads section to mention the changes in Java 24 #46611
- spring.test.webtestclient.timeout is not documented #46589
- spring-boot-test-autoconfigure should use the configuration properties annotation processor like other modules #46586
- spring.test.mockmvc properties are not documented #46579
🔨 Dependency Upgrades
- Upgrade to Angus Mail 2.0.4 #46735
- Upgrade to AssertJ 3.27.4 #46736
- Upgrade to Byte Buddy 1.17.7 #46887
- Upgrade to Couchbase Client 3.9.0 #46797
- Upgrade to Elasticsearch 9.1.0 #46686
- Upgrade to Elasticsearch Client 9.1.1 #46827
- Upgrade to Flyway 11.11.1 #46894
- Upgrade to GraphQL Java 25.0.beta-5 #46880
- Upgrade to Hibernate 7.1.0.Final #46738
- Upgrade to HikariCP 7.0.1 #46739
- Upgrade to HtmlUnit 4.15.0 #46895
- Upgrade to Jackson Bom 2.20.0-rc1 #46815
- Upgrade to Jedis 6.1.0 #46687
- Upgrade to Jetty 12.1.0 #46906
- Upgrade to Jetty Reactive HTTPClient 4.0.11 #46888
- Upgrade to jOOQ 3.19.25 #46809
- Upgrade to Json-smart 2.6.0 #46742
- Upgrade to Lettuce 6.8.0.RELEASE #46750
- Upgrade to MariaDB 3.5.5 #46810
- Upgrade to Maven Javadoc Plugin 3.11.3 #46889
- Upgrade to Micrometer 1.16.0-M2 #46811
- Upgrade to Micrometer Tracing 1.6.0-M2 #46812
- Upgrade to Mockito 5.19.0 #46896
- Upgrade to MSSQL JDBC 13.2.0.jre11 #46897
- Upgrade to MySQL 9.4.0 #46743
- Upgrade to Native Build Tools Plugin 0.11.0 #46501
- Upgrade to Netty 4.2.4.Final #46829
- Upgrade to OpenTelemetry 1.53.0 #46813
- Upgrade to Oracle Database 23.9.0.25.07 #46744
- Upgrade to Prometheus Client 1.4.1 [#46898](https://github.com/spring-project...
v3.5.5
🐞 Bug Fixes
- Hazelcast health indicator reports the wrong status when Hazelcast has shut down due to an out-of-memory error #46909
- Performance critical tracing code has high overhead due to the use of the Stream API #46844
- SpringLiquibaseCustomizer is exposed outside its defined visibility scope #46758
- Race condition in OutputCapture can result in stale data #46721
- Auto-configured WebClient no longer uses context's ReactorResourceFactory #46673
- Default value not detected for a field annoted with
@Name
#46666 - Missing metadata when using
@Name
with a constructor-bound property #46663 - Missing property for Spring Authorization Server's PAR endpoint #46641
- Property name is incorrect when reporting a mis-configured OAuth 2 Resource Server JWT public key location #46636
- Memory not freed on context restart in JpaMetamodel#CACHE with spring.main.lazy-initialization=true #46634
- Auto-configured MockMvc ignores
@FilterRegistration
annotation #46605 - Failure to discover default value for a primitive should not lead to document its default value #46561
📔 Documentation
- Kotlin samples for configuration metadata are in the wrong package #46857
- Observability examples in the reference guide are missing the Kotlin version #46798
- Align method descriptions for SslOptions getCiphers and getEnabledProtocols with
@returns
#46769 - Tracing samples in the reference guide are missing the Kotlin version #46767
- Improve Virtual Threads section to mention the changes in Java 24 #46610
- spring.test.webtestclient.timeout is not documented #46588
- spring-boot-test-autoconfigure should use the configuration properties annotation processor like other modules #46585
- Adapt deprecation level for management.health.influxdb.enabled #46580
- spring.test.mockmvc properties are not documented #46578
🔨 Dependency Upgrades
- Upgrade to Angus Mail 2.0.4 #46725
- Upgrade to AssertJ 3.27.4 #46726
- Upgrade to Byte Buddy 1.17.7 #46883
- Upgrade to Couchbase Client 3.8.3 #46794
- Upgrade to Elasticsearch Client 8.18.5 #46830
- Upgrade to Hibernate 6.6.26.Final #46884
- Upgrade to Hibernate Validator 8.0.3.Final #46728
- Upgrade to HikariCP 6.3.2 #46729
- Upgrade to Jersey 3.1.11 #46730
- Upgrade to Jetty 12.0.25 #46831
- Upgrade to Jetty Reactive HTTPClient 4.0.11 #46885
- Upgrade to jOOQ 3.19.25 #46808
- Upgrade to MariaDB 3.5.5 #46779
- Upgrade to Maven Javadoc Plugin 3.11.3 #46886
- Upgrade to Micrometer 1.15.3 #46701
- Upgrade to Micrometer Tracing 1.5.3 #46702
- Upgrade to MySQL 9.4.0 #46732
- Upgrade to Netty 4.1.124.Final #46832
- Upgrade to Pulsar 4.0.6 #46733
- Upgrade to Reactor Bom 2024.0.9 #46703
- Upgrade to REST Assured 5.5.6 #46849
- Upgrade to Spring Authorization Server 1.5.2 #46704
- Upgrade to Spring Data Bom 2025.0.3 #46705
- Upgrade to Spring Framework 6.2.10 #46706
- Upgrade to Spring Kafka 3.3.9 #46871
- Upgrade to Spring LDAP 3.3.3 #46707
- Upgrade to Spring Pulsar 1.2.9 #46708
- Upgrade to Spring RESTDocs 3.0.5 #46920
- Upgrade to Spring Security 6.5.3 #46709
- Upgrade to Spring Session 3.5.2 #46710
- Upgrade to Tomcat 10.1.44 #46734
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Kguswo, @deejay1, @ganjisriver, @izeye, @jetflo, @ngocnhan-tran1996, @nicolasgarea, @nosan, @prishedko, @quaff, @schmidti159, @scordio, @shakuzen, @tommyk-gears, @zahra7, and @zakaria-shahen
v3.4.9
🐞 Bug Fixes
- Hazelcast health indicator reports the wrong status when Hazelcast has shut down due to an out-of-memory error #46877
- Performance critical tracing code has high overhead due to the use of the Stream API #46838
- SpringLiquibaseCustomizer is exposed outside its defined visibility scope #46752
- Race condition in OutputCapture can result in stale data #46685
- Default value not detected for a field annoted with
@Name
#46662 - Memory not freed on context restart in JpaMetamodel#CACHE with spring.main.lazy-initialization=true #46630
- Property name is incorrect when reporting a mis-configured OAuth 2 Resource Server JWT public key location #46627
- Missing metadata when using
@Name
with a constructor-bound property #46599 - Failure to discover default value for a primitive should not lead to document its default value #46551
📔 Documentation
- Observability examples in the reference guide are missing the Kotlin version #46775
- Kotlin samples for configuration metadata are in the wrong package #46774
- Align method descriptions for SslOptions getCiphers and getEnabledProtocols with
@returns
#46756 - Tracing samples in the reference guide are missing the Kotlin version #46699
- spring-boot-test-autoconfigure should use the configuration properties annotation processor like other modules #46584
- spring.test.webtestclient.timeout is not documented #46577
- spring.test.mockmvc properties are not documented #46576
- Adapt deprecation level for management.health.influxdb.enabled #46574
- Improve Virtual Threads section to mention the changes in Java 24 #46547
🔨 Dependency Upgrades
- Upgrade to Angus Mail 2.0.4 #46711
- Upgrade to Hibernate 6.6.26.Final #46881
- Upgrade to Hibernate Validator 8.0.3.Final #46713
- Upgrade to Infinispan 15.0.19.Final #46847
- Upgrade to Jersey 3.1.11 #46723
- Upgrade to Jetty 12.0.25 #46833
- Upgrade to Jetty Reactive HTTPClient 4.0.11 #46882
- Upgrade to jOOQ 3.19.25 #46807
- Upgrade to Micrometer 1.14.10 #46689
- Upgrade to Micrometer Tracing 1.4.9 #46690
- Upgrade to MySQL 9.4.0 #46715
- Upgrade to Netty 4.1.124.Final #46834
- Upgrade to Pulsar 3.3.8 #46716
- Upgrade to Reactor Bom 2024.0.9 #46691
- Upgrade to REST Assured 5.5.6 #46848
- Upgrade to Spring Authorization Server 1.4.5 #46692
- Upgrade to Spring Data Bom 2024.1.9 #46693
- Upgrade to Spring Framework 6.2.10 #46694
- Upgrade to Spring Kafka 3.3.9 #46870
- Upgrade to Spring LDAP 3.2.14 #46695
- Upgrade to Spring Pulsar 1.2.9 #46696
- Upgrade to Spring RESTDocs 3.0.5 #46919
- Upgrade to Spring Security 6.4.9 #46697
- Upgrade to Spring Session 3.4.5 #46698
- Upgrade to Tomcat 10.1.44 #46724
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Kguswo, @Pankraz76, @deejay1, @ganjisriver, @izeye, @nicolasgarea, @nosan, @prishedko, @quaff, @schmidti159, @scordio, @shakuzen, @tommyk-gears, @zahra7, and @zakaria-shahen
v4.0.0-M1
⭐ New Features
- Move org.springframework.boot.autoconfigure.thread package to org.springframework.boot.thread #46406
- Add support for JmsClient #46293
- Rationalize starters following modularization #46245
- Provide better exception message when configuration properties binding fails due to class not found error #46232
- Migrate to Spring Batch 6 #46216
- Align reactive auto-configuration names #46156
- Create spring-boot-health module #46155
- Create spring-boot-hibernate module #46154
- Create spring-boot-tracing module #46153
- Create spring-boot-cloudfoundry module #46152
- Create spring-boot-servlet module #46151
- Create spring-boot-observation module #46150
- Create spring-boot-opentelemetry module #46149
- Create sping-boot-zipkin module #46148
- Create spring-boot-metrics module #46147
- Create spring-boot-graphql-test module #46146
- Create spring-boot-web-server module #46145
- Create spring-boot-websocket module #46144
- Create spring-boot-netty module #46143
- Create spring-boot-reactor module #46142
- Create spring-boot-graphql module #46141
- Create spring-boot-sql module #46140
- Create spring-boot-session modules #46139
- Create spring-boot-webflux module #46138
- Create spring-boot-security-saml2 module #46137
- Create spring-boot-security-oauth2-authorization-server #46136
- Create spring-boot-security-oauth2-resource-server module #46135
- Create spring-boot-security-oauth2-client module #46134
- Create spring-boot-security module #46133
- Create spring-boot-cache module #46132
- Create spring-boot-data-commons module #46131
- Create spring-boot-data-rest module #46130
- Create spring-boot-data-r2dbc module #46129
- Create spring-boot-data-jdbc module #46128
- Create spring-boot-data-couchbase module #46127
- Create spring-boot-data-redis module #46126
- Create spring-boot-webservices module #46125
- Create spring-boot-data-neo4j module #46124
- Create spring-boot-data-elasticsearch module #46123
- Create spring-boot-data-cassandra module #46122
- Create spring-boot-webmvc module #46121
- Create spring-boot-http-converter module #46120
- Create spring-boot-http-codec module #46119
- Create spring-boot-http-client module #46118
- Create spring-boot-hateoas module #46117
- Create spring-boot-jersey module #46116
- Create spring-boot-data-mongodb module #46115
- Create spring-boot-mongodb module #46114
- Create spring-boot-h2console module #46113
- Create spring-boot-gson module #46112
- Create spring-boot-sendgrid module #46111
- Create spring-boot-thymeleaf module #46110
- Create spring-boot-data-ldap module #46109
- Create spring-boot-ldap module #46108
- Create spring-boot-quartz module #46107
- Create spring-boot-neo4j module #46106
- Create spring-boot-mustache module #46105
- Create spring-boot-cassandra module #46104
- Create spring-boot-couchbase module #46103
- Create spring-boot-jooq module #46101
- Create spring-boot-batch module #46100
- Create spring-boot-hazelcast module #46099
- Create spring-boot-integration module #46098
- Create spring-boot-rsocket module #46097
- Create spring-boot-data-jpa module #46096
- Create spring-boot-jpa module #46095
- Create spring-boot-r2dbc module #46094
- Create spring-boot-pulsar module #46093
- Create spring-boot-kafka module #46092
- Create spring-boot-elasticsearch module #46091
- Create spring-boot-freemarker module #46090
- Create spring-boot-groovy-templates module #46089
- Create spring-boot-liquibase module #46088
- Create spring-boot-validation module #46087
- Create spring-boot-flyway module #46086
- Create spring-boot-jdbc module #46085
- Create spring-boot-tx module #46084
- Create spring-boot-artemis module #46083
- Create spring-boot-activemq module #46082
- Create spring-boot-jms module #46081
- Create spring-boot-jsonb module #46080
- Create spring-boot-mail module #46079
- Create spring-boot-jackson-module #46078
- Create spring-boot-amqp module #46077
- Create spring-boot-reactor-netty module #46076
- Create spring-boot-jetty module #46075
- Create spring-boot-undertow module #46074
- Create spring-boot-tomcat module #46073
- Publish milestones and release candidates to Maven Central #46024
- Support
@MeterTag
on@Counted
and@Timed
methods #46007 - Support pluggable types for EndpointObjectMapper [#45876](https://github.com/spring-projects/spring-b...
v3.5.4
🐞 Bug Fixes
- LambdaSafe.withFilter is not public #46474
- Executable JAR application class encounters performance issues when used with Palo Alto Network Cortex XDR agent #46402
- Runtime dependencies are missing from aotCompileClasspath and aotTestCompileClasspath when using Kotlin #46398
- Additional fields for structured JSON logging incompatible with nested ecs logging in 3.5.x #46351
- Change in DefaultErrorAttributes alters the shape of API validation error responses #46260
- jdbc.connections.active and jdbc.connections.idle metrics are not available when using Hikari in a native image #46225
- developmentOnly and testAndDevelopmentOnly dependencies may prevent implementation dependencies from being included in the uber-jar #46205
- Hash calculation for uber archive entries that require unpacking is inefficient #46203
- Permissions are applied inconsistently when building uber archives with Gradle #46194
- Environment variables using legacy dash format can no longer be bound #46184
- EmbeddedWebServerFactoryCustomizerAutoConfiguration fails when undertow-core is on the classpath and undertow-servlet is not #46180
- Executable JAR application class encounters performance issues #46177
- Executable JAR application class encounters performance issues #46176
- Setting spring.reactor.context-propagation has no effect when lazy initialization is enabled #46174
- Setting spring.netty.leak-detection has no effect when lazy initialization is enabled #46170
- SslInfo does not use its Clock when checking certificate validity #46011
📔 Documentation
- Fix description of spring.batch.job.enabled #46247
- Fix broken Kotlin examples in reference documentation #46168
- Add Logback Access Reactor Netty to community starters #46060
🔨 Dependency Upgrades
- Upgrade to ActiveMQ 6.1.7 #46373
- Upgrade to Caffeine 3.2.2 #46432
- Upgrade to Couchbase Client 3.8.2 #46460
- Upgrade to GraphQL Java 24.1 #46395
- Upgrade to Groovy 4.0.28 #46516
- Upgrade to Hibernate 6.6.22.Final #46492
- Upgrade to HikariCP 6.3.1 #46493
- Upgrade to Infinispan 15.2.5.Final #46461
- Upgrade to Jackson Bom 2.19.2 #46494
- Upgrade to Jetty 12.0.23 #46375
- Upgrade to MariaDB 3.5.4 #46376
- Upgrade to Maven Invoker Plugin 3.9.1 #46377
- Upgrade to Micrometer 1.15.2 #46280
- Upgrade to Micrometer Tracing 1.5.2 #46281
- Upgrade to MSSQL JDBC 12.10.1.jre11 #46378
- Upgrade to MySQL 9.3.0 #46371
- Upgrade to Neo4j Java Driver 5.28.9 #46434
- Upgrade to Netty 4.1.123.Final #46435
- Upgrade to Prometheus Client 1.3.10 #46379
- Upgrade to Reactor Bom 2024.0.8 #46282
- Upgrade to RxJava3 3.1.11 #46380
- Upgrade to Spring AMQP 3.2.6 #46283
- Upgrade to Spring Data Bom 2025.0.2 #46284
- Upgrade to Spring Framework 6.2.9 #46218
- Upgrade to Spring GraphQL 1.4.1 #46381
- Upgrade to Spring Integration 6.5.1 #46359
- Upgrade to Spring Kafka 3.3.8 #46360
- Upgrade to Spring LDAP 3.3.2 #46285
- Upgrade to Spring Pulsar 1.2.8 #46286
- Upgrade to Spring Security 6.5.2 #46477
- Upgrade to Spring WS 4.1.1 #46362
- Upgrade to Testcontainers 1.21.3 #46382
- Upgrade to Tomcat 10.1.43 #46383
- Upgrade to XmlUnit2 2.10.3 #46384
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Dockerel, @PiyalAhmed, @benelog, @dmitrysulman, @izeye, @ngocnhan-tran1996, @nosan, and @quaff
v3.4.8
🐞 Bug Fixes
- LambdaSafe.withFilter is not public #46472
- Executable JAR application class encounters performance issues when used with Palo Alto Network Cortex XDR agent #46401
- Runtime dependencies are missing from aotCompileClasspath and aotTestCompileClasspath when using Kotlin #46397
- jdbc.connections.active and jdbc.connections.idle metrics are not available when using Hikari in a native image #46214
- Hash calculation for uber archive entries that require unpacking is inefficient #46202
- Permissions are applied inconsistently when building uber archives with Gradle #46193
- EmbeddedWebServerFactoryCustomizerAutoConfiguration fails when undertow-core is on the classpath and undertow-servlet is not #46178
- Setting spring.netty.leak-detection has no effect when lazy initialization is enabled #46164
- Executable JAR application class encounters performance issues #46063
- developmentOnly and testAndDevelopmentOnly dependencies may prevent implementation dependencies from being included in the uber-jar #46043
- Binder context does not restore previous source causing missing data on Spring Boot 3.5 or above #46039
- Setting spring.reactor.context-propagation has no effect when lazy initialization is enabled #45846
📔 Documentation
- Fix description of spring.batch.job.enabled #46228
- Fix broken Kotlin examples in reference documentation #46064
🔨 Dependency Upgrades
- Upgrade to ActiveMQ 6.1.7 #46385
- Upgrade to GraphQL Java 22.4 #46394
- Upgrade to Groovy 4.0.28 #46512
- Upgrade to Hibernate 6.6.22.Final #46491
- Upgrade to Infinispan 15.0.18.Final #46462
- Upgrade to Jetty 12.0.23 #46388
- Upgrade to Micrometer 1.14.9 #46273
- Upgrade to Micrometer Tracing 1.4.8 #46274
- Upgrade to MySQL 9.3.0 #46370
- Upgrade to Neo4j Java Driver 5.28.9 #46430
- Upgrade to Netty 4.1.123.Final #46431
- Upgrade to Prometheus Client 1.3.10 #46389
- Upgrade to Reactor Bom 2024.0.8 #46275
- Upgrade to RxJava3 3.1.11 #46390
- Upgrade to Spring AMQP 3.2.6 #46276
- Upgrade to Spring Data Bom 2024.1.8 #46277
- Upgrade to Spring Framework 6.2.9 #46278
- Upgrade to Spring GraphQL 1.3.6 #46391
- Upgrade to Spring Integration 6.4.6 #46361
- Upgrade to Spring Kafka 3.3.8 #46363
- Upgrade to Spring Pulsar 1.2.8 #46279
- Upgrade to Spring Security 6.4.8 #46476
- Upgrade to Tomcat 10.1.43 #46392
- Upgrade to XmlUnit2 2.10.3 #46393
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Dockerel, @PiyalAhmed, @benelog, @dmitrysulman, @izeye, @nosan, and @quaff