Releases: spring-projects/spring-boot
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
v3.5.3
v3.5.2
v3.5.1
⚠️ Noteworthy Changes
- This release upgrades to Tomcat 10.1.42 which has introduced limits for part count and header size in
multipart/form-data
requests. These limits can be customized usingserver.tomcat.max-part-count
andserver.tomcat.max-part-header-size
respectively.
⭐ New Features
- Allow Specifying ConfigData.Options On ConfigDataEnvironmentContributors #42932
🐞 Bug Fixes
- Executable JAR application class encounters performance issues when classpath URLs reference a host #46028
- Loading from spring.factories may fail with a ClassNotFoundException when the TCCL changes between calls #46019
- spring.couchbase.authentication.jks.private-key-password has no effect #46006
- Actuator heapdump endpoint is failing on modern OpenJ9 JVMs #46005
- UnboundConfigurationPropertiesException is no longer thrown from IndexedElementsBinder #45994
- DataSouceBuilder can fail with a NPE when the driver is null #45992
- JSON writer incorrectly escapes forward slash which can cause structure logging issues #45980
- ManagementContextAutoConfiguration adds a property source that degrades binding performance #45968
- ClientHttpConnectorAutoConfiguration fails to load when 'java.net.http.HttpClient' is unavailable #45955
- It is not possible to opt-out of profile validation or use profile names that contain '.' #45947
- GraphQlProperties.DeprecatedSse is not annotated as deprecated #45878
- SpringApplication.setEnvironmentPrefix is ignored when reading MANAGEMENT_SERVER_PORT #45857
- Write and delete operations no longer work in the Cloud Foundry actuator support with Spring Security due to CSRF protection #45848
- ConditionalOnAvailableEndpoint does not use the ConditionContext's ClassLoader to load exposure outcome contributors #45803
- Binding no longer works with sytem environment properties that are not upper case #45741
- ManagementWebServerFactoryCustomizer and ManagementErrorPageCustomizer should not have the same order #45736
- Default version of Awailitility is not compatible with Kotlin 1.9 baseline #45673
- Spring Boot 3.5's dependency management should have been upgraded to Lettuce 6.6.0.RELEASE #45670
- Spring Boot 3.5's dependency management should have been upgraded to Jedis 6.0.0 #45669
- SAML2 autoconfiguration is not imported by
@WebMvcTest
#45666 - Spring Boot 3.5's dependency management should have been upgraded to MongoDB 5.5.0 #45660
📔 Documentation
- Fix Docker security options links in Packaging OCI images sections #46021
- Improve documentation for configuring Spring Security with '/error' #46009
- Timestamps in Retrieving Audit Events examples do not match the accompanying text #45997
- Add SSL response structure to actuator info endpoint documentation #45921
- Update javadoc of test slice annotations to suggest MockitoBean rather than MockBean #45915
- Include configuration classes from all modules in the "Auto-configuration Classes" appendix #45863
- Links to Testcontainers javadoc for many classes not in the core testcontainers module do not work #45844
- Update documentation to reflect changes in TestRestTemplate's default redirect behavior #45842
- Deprecation replacement for spring.codec.* properties has a typo #45743
- Gradle Shadow Plugin link in the reference guide is outdated #45740
- Example of using prometheus-metrics-exporter-pushgateway has wrong artifactId #45684
- Document use of git-commit-id-maven-plugin consistently #45683
- Update javadoc of Configurer classes that apply sensible defaults to describe how they're typically used #45656
🔨 Dependency Upgrades
- Upgrade to Build Helper Maven Plugin 3.6.1 #45827
- Upgrade to Byte Buddy 1.17.6 #45981
- Upgrade to Caffeine 3.2.1 #45864
- Upgrade to DB2 JDBC 12.1.2.0 #45942
- Upgrade to Git Commit ID Maven Plugin 9.0.2 #45828
- Upgrade to Groovy 4.0.27 #45829
- Upgrade to Hibernate 6.6.18.Final #45958
- Upgrade to HttpClient5 5.5 #46031
- Upgrade to Infinispan 15.2.4.Final #45943
- Upgrade to Jackson Bom 2.19.1 #45982
- Upgrade to Jaybird 6.0.2 #45832
- Upgrade to Jetty 12.0.22 #45834
- Upgrade to Jetty Reactive HTTPClient 4.0.10 #45833
- Upgrade to jOOQ 3.19.24 #45944
- Upgrade to Micrometer 1.15.1 #45776
- Upgrade to Micrometer Tracing 1.5.1 #45777
- Upgrade to MongoDB 5.5.1 #45865
- Upgrade to Netty 4.1.122.Final #45835
- Upgrade to Postgresql 42.7.7 #45945
- Upgrade to Prometheus Client 1.3.8 #45837
- Upgrade to Pulsar 4.0.5 #45838
- Upgrade to Reactor Bom 2024.0.7 #45778
- Upgrade to REST Assured 5.5.5 #45839
- Upgrade to Spring Authorization Server 1.5.1 #45779
- Upgrade to Spring Data Bom 2025.0.1 #45780
- Upgrade to Spring Framework 6.2.8 #45781
- Upgrade to Spring HATEOAS 2.5.1 #45946
- Upgrade to Spring Kafka 3.3.7 #45782
- Upgrade to Spring LDAP 3.3.1 #45783
- Upgrade to Spring Pulsar 1.2.7 #45784
- Upgrade to Spring RESTDocs 3.0.4 #45785
- Upgrade to Spring Security 6.5.1 #45786
- Upgrade to Spring Session 3.5.1 #45787
- Upgrade to Testcontainers 1.21.2 #46029
- Upgrade to Tomcat 10.1.42 #45872
- Upgrade to UnboundID LDAPSDK 7.0.3 #45983
- Upgrade to XmlUnit2 2.10.2 #45841
- Upgrade to Zipkin Reporter 3.5.1 #45826
❤️ Contributors
Thank you to all the contributors ...
v3.4.7
⚠️ Noteworthy Changes
- This release upgrades to Tomcat 10.1.42 which has introduced limits for part count and header size in
multipart/form-data
requests. These limits can be customized usingserver.tomcat.max-part-count
andserver.tomcat.max-part-header-size
respectively.
🐞 Bug Fixes
- Executable JAR application class encounters performance issues when classpath URLs reference a host #46027
- Loading from spring.factories may fail with a ClassNotFoundException when the TCCL changes between calls #46018
- Actuator heapdump endpoint is failing on modern OpenJ9 JVMs #46004
- DataSouceBuilder can fail with a NPE when the driver is null #45991
- JSON writer incorrectly escapes forward slash which can cause structure logging issues #45972
- spring.couchbase.authentication.jks.private-key-password has no effect #45883
- ConditionalOnAvailableEndpoint does not use the ConditionContext's ClassLoader to load exposure outcome contributors #45800
- ManagementWebServerFactoryCustomizer and ManagementErrorPageCustomizer should not have the same order #45728
- SAML2 autoconfiguration is not imported by
@WebMvcTest
#45650
📔 Documentation
- Fix Docker security options links in Packaging OCI images sections #46020
- Improve documentation for configuring Spring Security with '/error' #46008
- Timestamps in Retrieving Audit Events examples do not match the accompanying text #45996
- Update javadoc of test slice annotations to suggest MockitoBean rather than MockBean #45887
- Include configuration classes from all modules in the "Auto-configuration Classes" appendix #45861
- Links to Testcontainers javadoc for many classes not in the core testcontainers module do not work #45843
- Add SSL response structure to actuator info endpoint documentation #45792
- Gradle Shadow Plugin link in the reference guide is outdated #45739
- Document use of git-commit-id-maven-plugin consistently #45682
- Update javadoc of Configurer classes that apply sensible defaults to describe how they're typically used #45655
- Clarify the situation with support for Prometheus PushGateway and the deprecated simpleclient #45649
🔨 Dependency Upgrades
- Upgrade to Build Helper Maven Plugin 3.6.1 #45812
- Upgrade to Git Commit ID Maven Plugin 9.0.2 #45813
- Upgrade to Groovy 4.0.27 #45814
- Upgrade to Hibernate 6.6.18.Final #45956
- Upgrade to Infinispan 15.0.15.Final #45816
- Upgrade to Jackson Bom 2.18.4.1 #45957
- Upgrade to Jaybird 5.0.8.java11 #45817
- Upgrade to Jetty 12.0.22 #45819
- Upgrade to Jetty Reactive HTTPClient 4.0.10 #45818
- Upgrade to Micrometer 1.14.8 #45763
- Upgrade to Micrometer Tracing 1.4.7 #45764
- Upgrade to Netty 4.1.122.Final #45820
- Upgrade to Postgresql 42.7.6 #45821
- Upgrade to Prometheus Client 1.3.8 #45822
- Upgrade to Pulsar 3.3.7 #45823
- Upgrade to Reactor Bom 2024.0.7 #45765
- Upgrade to REST Assured 5.5.5 #45824
- Upgrade to Spring Authorization Server 1.4.4 #45766
- Upgrade to Spring Data Bom 2024.1.7 #45767
- Upgrade to Spring Framework 6.2.8 #45768
- Upgrade to Spring Kafka 3.3.7 #45769
- Upgrade to Spring LDAP 3.2.13 #45770
- Upgrade to Spring Pulsar 1.2.7 #45771
- Upgrade to Spring RESTDocs 3.0.4 #45772
- Upgrade to Spring Security 6.4.7 #45773
- Upgrade to Spring Session 3.4.4 #45774
- Upgrade to Spring WS 4.0.15 #45775
- Upgrade to Tomcat 10.1.42 #45870
- Upgrade to XmlUnit2 2.10.2 #45825
❤️ Contributors
Thank you to all the contributors who worked on this release:
@chanbinme, @csbiy, @davidlj95, @izeye, @ngocnhan-tran1996, @nicolasgarea, @nosan, @quaff, @shekharAggarwal, and @wonyongg