⭐ New Features
- Add configuration key spring.rabbitmq.template.allowed-list-patterns #40421
- Add spring.graphql.websocket.keep-alive property #40320
- Add Spring Pulsar transaction support #40189
- Make it harder to misconfigure logging.threshold.console in yaml #40124
- Make configuration properties for Pulsar failover more concise #40077
- Add support for Prometheus Client 1.x and simpleclient #40023
- Delay interaction with Lazy CqlSession bean until first required usage #39948
- Add property spring.data.jdbc.dialect #39941
- Make spring-test available to compile classpath of consumers of spring-boot-test #39901
- Exclude infrastructure beans from lazy initialization when lazy-initialization=true #39831
- Configure JpaBaseConfiguration with custom ManagedClassNameFilter #39813
- Add property to ignore running Docker Compose services #39749
- Add configuration property to disable long timers in Micrometer Observations #39618
- Upgrade Cassandra driver to 4.18.0 and change coordinates from com.datastax.oss to org.apache.cassandra #39090
- Add more gap between the orders of CloudFoundryVcapEnvironmentPostProcessor and ConfigDataEnvironmentPostProcessor #38684
- Add SNI support to embedded web server SSL auto-configuration #26022
🐞 Bug Fixes
- Executable JAR application startup is slower after 3.2.0 when Hibernate scanner is not disabled #40381
- NoClassDefFoundError can be thrown from LaunchedClassLoader when threads are interrupted #40379
- BindValidationFailureAnalyzer uses wrong target #40365
- Log4j2LoggingSystem pollutes Log4j2's environment with a SpringEnvironmentPropertySource that is never removed #40327
- When using Maven, configuring the spring-boot.excludes or spring-boot-includes user properties causes the build to fail with "Cannot find default setter" #40324
@ServletComponentScan
does not register servlet components in a mock web environment #40322- Loading of custom deny-all filter can cause a StackOverflowError when deploying to Tomcat with Log4j2 configured to use a single JVM-wide logger context #40313
- Jetty support doesn't set virtual thread name #40169
- Maven uses 'start-class' when the parent POM is being used and ignores 'spring-boot.run.main-class' #40145
- PropertiesLdapConnectionDetails should not be public #40081
- spring.datasource.dbcp2.username and spring.datasource.dbcp2.password are incorrectly marked as deprecated #40076
- spring-boot-dependencies should not manage org.flywaydb:flyway-community-db-support as it is not released as part of Flyway #40073
- Spring Config does not use environment conversion service on resolved properties #39944
📔 Documentation
- Producible's javadoc has the wrong link text for
@WriteOperation
and@DeleteOperation
#40387 - Refine Efficient Deployments section in the reference guide #40175
- Clarify requirements for -parameters and constructor binding #40164
- Ensure Reference Guides breadcrumb in page headers is hyperlinked #40135
- Document new tools mode #40094
- Replace links to code with links to javadoc #40065
- Document CDS support #40061
- Document SBOM Support #40059
- Fix forward-headers-strategy documentation regarding cloud defaults #40054
- Pull the whole "Testing" documentation section up to the top level #38361
🔨 Dependency Upgrades
- Upgrade to ActiveMQ 6.1.2 #40399
- Upgrade to Artemis 2.33.0 #40082
- Upgrade to AspectJ 1.9.22 #40239
- Upgrade to Awaitility 4.2.1 #40331
- Upgrade to Brave 6.0.3 #40332
- Upgrade to Byte Buddy 1.14.13 #40240
- Upgrade to Couchbase Client 3.6.1 #40241
- Upgrade to CycloneDX Maven Plugin 2.8.0 #40242
- Upgrade to Elasticsearch Client 8.13.2 #40333
- Upgrade to GraphQL Java 21.5 #40244
- Upgrade to Groovy 4.0.21 #40245
- Upgrade to Hazelcast 5.4.0 #40400
- Upgrade to Hibernate 6.5.0.CR2 #40378
- Upgrade to Infinispan 15.0.1.Final #40334
- Upgrade to Jakarta Json Bind 3.0.1 #40248
- Upgrade to Jersey 3.1.6 #40249
- Upgrade to Jetty 12.0.8 #40250
- Upgrade to jOOQ 3.19.7 #40251
- Upgrade to Json-smart 2.5.1 #40252
- Upgrade to Liquibase 4.27.0 #40253
- Upgrade to Logback 1.5.6 #40401
- Upgrade to Lombok 1.18.32 #40254
- Upgrade to Maven Invoker Plugin 3.6.1 #40255
- Upgrade to Maven Jar Plugin 3.4.0 #40402
- Upgrade to Maven Source Plugin 3.3.1 #40256
- Upgrade to Micrometer 1.13.0-RC1 #40257
- Upgrade to Micrometer Tracing 1.3.0-RC1 #40258
- Upgrade to MongoDB 5.0.1 #40259
- Upgrade to Neo4j Java Driver 5.19.0 #40232
- Upgrade to Netty 4.1.109.Final #40403
- Upgrade to OpenTelemetry 1.37.0 #40261
- Upgrade to Pulsar 3.2.2 #40262
- Upgrade to Pulsar Reactive 0.5.4 #40404
- Upgrade to R2DBC MySQL 1.1.3 #40263
- Upgrade to R2DBC Postgresql 1.0.5.RELEASE #40335
- Upgrade to Rabbit AMQP Client 5.21.0 #40264
- Upgrade to Reactor Bom 2023.0.5 #40221
- Upgrade to Selenium 4.19.1 #40265
- Upgrade to SLF4J 2.0.13 #40405
- Upgrade to Spring AMQP 3.1.4 #40222
- Upgrade to Spring Authorization Server 1.3.0-RC1 #40223
- Upgrade to Spring Data Bom 2024.0.0-RC1 #40224
- Upgrade to Spring Framework 6.1.6 #40225
- Upgrade to Spring GraphQL 1.3.0-RC1 #39895
- Upgrade to Spring HATEOAS 2.3.0-RC1 #40336
- Upgrade to Spring Integration 6.3.0-RC1 #40226
- Upgrade to Spring Kafka 3.2.0-RC1 #40227
- Upgrade to Spring LDAP 3.2.3 #40228
- Upgrade to Spring Pulsar 1.1.0-RC1 #40229
- Upgrade to Spring Security 6.3.0-RC1 #40230
- Upgrade to Spring Session 3.3.0-RC1 #40231
- Upgrade to SQLite JDBC 3.45.3.0 #40406
- Upgrade to Tomcat 10.1.20 #40266
- Upgrade to Zipkin Reporter 3.4.0 #40343
❤️ Contributors
Thank you to all the contributors who worked on this release:
@FelixDes, @ViliusS, @christophstrobl, @codefromthecrypt, @dependabot[bot], @eddumelendez, @izeye, @mstahv, @nahidshahin, @onobc, @ppkarwasz, @quaff, @schauder, @shakuzen, @snicoll, @spencergibb, @theborakompanioni, and @vpavic