⭐ New Features
- Provide a specific exception and failure analysis for situations where more than one mutually exclusive configuration property has been configured #28121
- Log ready time under 'spring.boot.application.ready' rather than 'spring.boot.application.running' #28080
- Expose default value for imageName in bootBuildImage task #28040
- Allow users to contribute a RedisStandaloneConfiguration bean #28028
- Add Spring Integration default poller auto-config #27992
- Auto-Configure Kafka CommonErrorHandler #27927
- Add startup time metrics #27878
- Auto-configure JVM heap pressure metrics #27868
- Auto-configure Micrometer's Lettuce latency metrics #27865
- Provide a pluggable abstraction for applying custom sanitization rules #27840
- Drop dependency management for Oracle drivers with old groupId #27827
- Include WebMvcRegistrations in
@WebMvcTest
#27823 - Provide a configuration property for setting the path used by auto-configured disk space metrics #27660
- Sort the contents of BOOT-INF/lib in a reproducible Maven build #27436
- Provide a configuration property for Elasticsearch path prefix #25010
- Switch default spring.mvc.pathmatch.matching-strategy #24805
- Enable PathPattern based matching for MVC actuators #24645
- Consolidate common Elasticsearch configuration properties #23106
- Log failing calls to health indicators #22632
🐞 Bug Fixes
- Actuator endpoints do not sanitize SPRING_APPLICATION_JSON by default #28082
- Web MVC metrics may have the wrong status when a filter throws an exception other than NestedServletException #28070
- War deployment in standalone Tomcat causes memory leak (Metaspace) #28034
- Embedded Undertow throws MalformedURLException when archive filename contains characters that are reserved in a URL #28033
- Concurrent image builds cause error deleting builder image #27994
- IndexOutOfBoundsException when running a Zip64 jar file larger than 4,294,967,295 bytes #27901
- Azure App Service is not correctly detected on Windows #27879
- NullPointerException in RoutingDataSourceHealthContributor when a routing data source has a target with a null routing key #27800
@MockBean
combined with@Repeat
results in "the field cannot have an existing value" error #27799
📔 Documentation
- Document support for Java 17 #28099
- Document that devtools restart doesn't work when using AspectJ weaving #28084
- Default value for spring.data.elasticsearch.client.reactive.endpoints is not documented #28073
- Expand English contractions from the documentation #28064
- Fix some typos in docs #27968
- Clarify Selenium auto-configuration requires HtmlUnit #27944
- Polish javadoc comments #27925
- Update documentation of spring.redis.jedis.pool.enabled to note that pooling is implicitly enabled in Sentinel mode #27891
- Document that spring-boot-starter-parent configures Java compilation to use -parameters #27886
- Fix inconsistent devtools doc #27877
- Fix typo in javadoc #27874
- Document how to parameterize output directory for REST Docs with WebTestClient #27804
- Only link to the two alternative formats from each format of the reference documentation #27737
- Split spring boot features in reference documentation into smaller sections #27132
🔨 Dependency Upgrades
- Upgrade to ActiveMQ 5.16.3 #27997
- Upgrade to AppEngine SDK 1.9.91 #27998
- Upgrade to AssertJ 3.21.0 #28090
- Upgrade to Byte Buddy 1.11.18 #28110
- Upgrade to Cassandra Driver 4.13.0 #28000
- Upgrade to Commons Pool2 2.11.1 #28001
- Upgrade to Couchbase Client 3.2.1 #28002
- Upgrade to Ehcache3 3.9.6 #28003
- Upgrade to Elasticsearch 7.14.1 #28004
- Upgrade to Flyway 7.15.0 #28049
- Upgrade to Glassfish EL 3.0.4 #28005
- Upgrade to Groovy 3.0.9 #28006
- Upgrade to Gson 2.8.8 #28007
- Upgrade to Hibernate 5.5.7.Final #28008
- Upgrade to HtmlUnit 2.53.0 #28092
- Upgrade to InfluxDB Java 2.22 #28050
- Upgrade to Jackson Bom 2.12.5 #28009
- Upgrade to Jedis 3.7.0 #28010
- Upgrade to Jersey 2.35 #28051
- Upgrade to Jetty EL 9.0.52 #28011
- Upgrade to Jolokia 1.7.1 #28093
- Upgrade to jOOQ 3.14.15 #28094
- Upgrade to JUnit Jupiter 5.8.1 #28052
- Upgrade to Kafka 2.8.1 #28095
- Upgrade to Kotlin 1.5.31 #28096
- Upgrade to Kotlin Coroutines 1.5.2 #28014
- Upgrade to Lettuce 6.1.5.RELEASE #28043
- Upgrade to Logback 1.2.6 #28015
- Upgrade to Maven Javadoc Plugin 3.3.1 #28016
- Upgrade to Maven War Plugin 3.3.2 #28017
- Upgrade to Micrometer 1.8.0-M3 #27931
- Upgrade to Mockito 3.12.4 #28053
- Upgrade to MongoDB 4.3.2 #28018
- Upgrade to Neo4j Java Driver 4.3.4 #28019
- Upgrade to Netty 4.1.68.Final #28020
- Upgrade to Netty tcNative 2.0.43.Final #28021
- Upgrade to Oracle Database 21.3.0.0 #28054
- Upgrade to Prometheus Client 0.12.0 #28055
- Upgrade to Rabbit AMQP Client 5.13.1 #28022
- Upgrade to Rabbit Stream Client 0.4.0 #28056
- Upgrade to Reactor 2020.0.11 #27929
- Upgrade to Selenium HtmlUnit 2.53.0 #28097
- Upgrade to SendGrid 4.7.5 #28111
- Upgrade to Spring AMQP 2.4.0-M3 #27933
- Upgrade to Spring Data 2021.1.0-M3 #27932
- Upgrade to Spring Framework 5.3.10 #27930
- Upgrade to Spring HATEOAS 1.4.0-M3 #27971
- Upgrade to Spring Integration 5.5.4 #27950
- Upgrade to Spring Kafka 2.8.0-M3 #27934
- Upgrade to Spring Security 5.6.0-M3 #27935
- Upgrade to SQLite JDBC 3.36.0.3 #28098
- Upgrade to Thymeleaf Layout Dialect 3.0.0 #28057
- Upgrade to Tomcat 9.0.53 #27964
- Upgrade to WebJars Locator Core 0.48 #28058
❤️ Contributors
We'd like to thank all the contributors who worked on this release!