⭐ New Features
- Allow ContainerConnectionDetailsFactory to match on one of multiple different connection names #41543
- Add support for Postgres trust host auth method with Docker Compose #41511
- Add utility class to help write JSON #41489
- Deprecate LOGGED_APPLICATION_NAME log property in favor of APPLICATION_NAME with the verbatim value #41444
- Remove APIs that were deprecated for removal in 3.4 #41435
- Register Base64ProtocolResolver as protocol resolver by default #41433
- Deprecate spring.gson.lenient in favor of a new spring.gson.strictness property #41430
- Support untrusted CNB builders when building images #41352
- Group Kafka back-off properties #41335
- Support service connections for redis/redis-stack and redis/redis-stack-server #41327
- Publish an AuditEvent on logout #41278
- Add memory info to ProcessInfo #41262
- Add test auto-configuration for MockMvcTester #41198
- Raise the minimum supported version of Gradle to 7.6.4+ or 8.3+ #41180
- Auto-configure SpringLiquibase with Liquibase Customizer #40986
- Provide auto-configurations for OpenTelemetry Logs #40961
- Make it easier to provide a custom RequestToViewNameTranslator #40874
- Use Paketo tiny builder by default for JVM and native apps #40859
- Add support for org.testcontainers.kafka.KafkaContainer #40695
- Add a customizer for ProxyConnectionFactory.Builder from r2dbc-proxy #40555
- Add a customizer for Lettuce's ClientOptions #40484
- Align cascade behavior of
@Validated
@ConfigurationProperties
with the bean validation spec #40345 - Add support for webjars-locator-lite #40146
- Add SslBundle support to MailSender #40037
- Add standardized property to distinguish a group of applications #39957
- Deprecate
@MockBean
and@SpyBean
#39864 - Use native connection factory with JMS message listener containers #39816
- Provide a callback that enables customization of the properties used to create the JCache CacheManager #39350
- Allow NestedConfigurationProperty on getters #38844
- Add property to specify Docker Compose startup and shutdown flags #38763
- Disable trace exporting via properties #34620
- Support structured logging as alternative to pattern layout logging #5479
🐞 Bug Fixes
- Spring Authorization Server now defaults multipleIssuersAllowed to false and it cannot be easily re-enabled #41544
- ServiceConnection does not work with
@DataLdapTest
#41525 - No configuration property for defaultTimeout setting that was introduced in Spring Integration 6.2 #41522
- NPE during auto-configuration in OnClassCondition.resolveOutcomesThreaded because firstHalf is null #41505
@NestedConfigurationProperty
doesn't work on records #41317- PropertiesMigrationListener wrongly reports property as deprecated #41253
- TestcontainersLifecycleBeanPostProcessor does not work correctly with scoped beans #41239
- Error message can be misleading if spring.config.import fails to resolve #41237
- build-image failures after docker desktop update with 'Illegal char <:> at index 5: npipe:////' #41235
- When using Jetty, filters, listeners, and servlets are not initialized with the same thread context classloader #41226
- DirtiesContext used with Webflux, a random port and multiple contexts causes multiple contexts to misbehave #41222
- NoSuchMethodException on org.apache.activemq.ActiveMQConnectionFactory.
<init>
when using spring-boot-starter-activemq in a native image #41215 - Failure during test AOT processing when multiple merged context configurations result in the Logback model being written multiple times #36997
📔 Documentation
- Fix documentation links in the README #41546
- Document the types to which each spring.mvc.format and spring.webflux.format property applies #41519
- Document that logging.file.name and logging.file.path cannot be used together #41517
- Refine CDS how-to guide #41467
- Fix typos in javadoc of BootstrapContext #41449
- CDS link in "Efficient Deployments" documentation is broken #41322
- Update Kotlin DSL examples that configure the environment of bootBuildImage to be additive #41271
- Document tracing support for RestClient #41193
- Documentation wrongly states that zipkin-sender-urlconnection is needed #41190
🔨 Dependency Upgrades
- Upgrade to Artemis 2.35.0 #41400
- Upgrade to AspectJ 1.9.22.1 #41475
- Upgrade to AssertJ 3.26.3 #41437
- Upgrade to Build Helper Maven Plugin 3.6.0 #41402
- Upgrade to Byte Buddy 1.14.18 #41385
- Upgrade to Commons Codec 1.17.1 #41528
- Upgrade to Crac 1.5.0 #41404
- Upgrade to Dependency Management Plugin 1.1.6 #41386
- Upgrade to Flyway 10.15.2 #41387
- Upgrade to Git Commit ID Maven Plugin 9.0.1 #41406
- Upgrade to GraphQL Java 22.1 #41341
- Upgrade to Groovy 4.0.22 #41388
- Upgrade to Gson 2.11.0 #41407
- Upgrade to H2 2.3.230 #41538
- Upgrade to HtmlUnit 4.3.0 #41408
- Upgrade to HttpCore5 5.2.5 #41389
- Upgrade to Jackson Bom 2.17.2 #41390
- Upgrade to JBoss Logging 3.6.0.Final #41409
- Upgrade to Jetty 12.0.11 #41391
- Upgrade to JsonAssert 1.5.3 #41392
- Upgrade to JUnit Jupiter 5.10.3 #41393
- Upgrade to Kafka 3.7.1 #41394
- Upgrade to Liquibase 4.28.0 #41194
- Upgrade to Lombok 1.18.34 #41395
- Upgrade to MariaDB 3.4.0 #41410
- Upgrade to Maven Clean Plugin 3.4.0 #41411
- Upgrade to Maven Dependency Plugin 3.7.1 #41412
- Upgrade to Maven Enforcer Plugin 3.5.0 #41413
- Upgrade to Maven Failsafe Plugin 3.3.1 #41499
- Upgrade to Maven Invoker Plugin 3.7.0 #41415
- Upgrade to Maven Javadoc Plugin 3.7.0 #41416
- Upgrade to Maven Shade Plugin 3.6.0 #41417
- Upgrade to Maven Surefire Plugin 3.3.1 #41500
- Upgrade to Micrometer 1.14.0-M1 #41304
- Upgrade to Micrometer Tracing 1.4.0-M1 #41305
- Upgrade to Mockito 5.12.0 #41419
- Upgrade to MSSQL JDBC 12.6.3.jre11 #41396
- Upgrade to MySQL 9.0.0 #41420
- Upgrade to Neo4j Java Driver 5.22.0 #41397
- Upgrade to OpenTelemetry 1.39.0 #41313
- Upgrade to Oracle Database 23.4.0.24.05 #41147
- Upgrade to Prometheus Client 1.3.1 #41314
- Upgrade to R2DBC MariaDB 1.2.1 #41398
- Upgrade to Rabbit Stream Client 0.16.0 #41421
- Upgrade to Reactor Bom 2024.0.0-M4 #41438
- Upgrade to REST Assured 5.5.0 #41423
- Upgrade to Selenium 4.22.0 #41424
- Upgrade to Selenium HtmlUnit 4.22.0 #41425
- Upgrade to Spring AMQP 3.2.0-M1 #41306
- Upgrade to Spring Data Bom 2024.0.2 #41307
- Upgrade to Spring Framework 6.2.0-M6 #41555
- Upgrade to Spring GraphQL 1.3.2 #41529
- Upgrade to Spring HATEOAS 2.3.1 #41501
- Upgrade to Spring Integration 6.4.0-M1 #41309
- Upgrade to Spring Kafka 3.3.0-M1 #41310
- Upgrade to Spring Pulsar 1.1.2 #41537
- Upgrade to Spring Retry 2.0.7 #41486
- Upgrade to Spring Security 6.4.0-M1 #41311
- Upgrade to Spring Session 3.4.0-M1 #41312
- Upgrade to SQLite JDBC 3.46.0.0 #41426
- Upgrade to Tomcat 10.1.26 #41502
- Upgrade to Versions Maven Plugin 2.17.1 #41503
- Upgrade to WebJars Locator Core 0.59 #41428
- Upgrade to XmlUnit2 2.10.0 #41429
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Chu3laMan, @SOOHYUN-LIM, @acouvreur, @anbusampath, @asashour, @eddumelendez, @izeye, @jaredtbates, @jonatan-ivanov, @jxblum, @lijunyzzZ, @making, @mateusscheper, @opcooc, @rohitp-a, @ruifigueira, @sdeleuze, @theodorosidmar, @travisriegler, @ttddyy, and @wanger26