⭐ New Features
- Add StatsD transport protocol configuration option #22125
- Upgrade to Flyway 6.5 and support new create schemas property #22120
- Disable LogbackLoggingSystem's XML support when spring.xml.ignore is true #22106
- Disable XML bean definition loading when spring.xml.ignore is true #22093
- LoggingApplicationListener: Trim trailing whitespace from value of logging.config #22078
- Remove plugin management for Flatten Maven Plugin #21984
- Add run-image option for image building #21933
- Support user info in Elasticsearch URIs #21747
- Optimize SystemEnvironmentPropertyMapper #21726
- Add Java 15 to JavaVersion enum #21691
- Provide better diagnostics when building an OCI image fails due to a 500 response from Docker #21685
- Provide dependency management for Oracle?s JDBC driver under new com.oracle.database Maven coordinates #21665
- Spring Cloud's CachedRandomPropertySource is not adapted correctly #21661
- Remove JUnit 4 from spring-boot-starter-test #21625
- Provide better error message if Docker is not running #21623
- Print the java version being used on startup #21559
- Support filtered scrape for Prometheus #21545
- Support for webAdminPassword property of H2 Console #21533
- RedisReactiveHealthIndicator should provide cluster details in cluster mode #21514
- Add Cassandra health indicator that uses CqlSession #20887
🪲 Bug Fixes
- layertools with a wrong option seems to fail silently #22121
- RedisReactiveHealthIndicator is broken with Redis cluster mode #22095
- Management health group does not inherit show-details property #22064
- NamedPipeSocket does not handle FileSystemException when establishing the file channel #22037
- In a context hierarchy, timeout-per-shutdown-phase is only honoured in the root context #22019
- Image references passed to a CNB builder are not validated #22017
- LOGBACK: No context given for c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy #22011
- Projects using Maven and spring-security-oauth2-client end up with a downgraded version of json-smart that isn't compatible with the managed version of json-path #22009
- MockBean does not resolve the right type for abstract test class #22007
- spring-boot-starter-parent contains elements that must be overridden and aren't documented as such #21994
- Dependencies enforced without applying plugin #21940
- Welcome page support bypasses controllers mapped to / #21925
- AvailabilityChangeEvent does not carry generic information #21904
- Not able to use digest in 'builder' reference #21895
- Docker calls may hang forever #21892
- Default log levels are inconsistent between log4J2 and logback #21883
- Actuator 'loggers' endpoint does not return all loggers for log4j #21881
- Different actuator management server port changes response on errors #21874
- Configuring server.* properties in a child context has no effect in Spring Boot 2.3 #21869
- Auto-Configuration for Cassandra does not back off if a custom ReactiveSessionFactory is defined #21867
- WebMvcTest does not use the auto-configured ordering for Spring Security's filter #21839
- Password-based authentication with Cassandra does not work with Spring Boot 2.3.0 #21802
- STOMP does not work with lazy initialization #21788
- Fix BasicErrorController to use binding error cfg #21770
- Fix MustacheEnvironmentCollector to not ignore native fetcher #21766
- Spring Boot CLI adds classes from current directory to the classpath on Unix-like platforms #21756
- @SpringBootTest not picking @nAmed classes with a non-public constructor #21735
- PropertiesLauncher cannot load a resource in jar via URL #21727
- UnsupportedOperationException is thrown from war when shutting down Tomcat #21690
- Scope of some dependencies has changed from compile to runtime #21669
- SpringConfigurationPropertySource incorrectly returns ABSENT for sub properties #21656
- Maven plugin help is missing #21649
- Management security configuration does not back off when SAML is configured #21644
📔 Documentation
- Remove Javadoc throw for ConfigurationPropertyName.ofIfValid() #22029
- Document how to exclude an annotation processor with Maven #22024
- Document Kafka metrics support #21918
- Fix wrong property reference to keys-to-sanitize in Javadoc #21917
- Fix formatting of
@Bean
in reference documentation #21915 - spring.config.name is not formatted as an environment variable in multi-page reference documentation #21891
- Document using system properties in gradle plugin docs #21799
- Document deprecations of org.springframework.boot.loader.archive.Archive.iterator() #21768
- Change liveness-port to management-port #21765
- Clarify that configuring a custom health HTTP status mapping replaces the default mappings #21763
- Document the difference in dispatch type and the effect on the security filter caused by the error page filter when deployed to a standalone container #21761
- Document support for Gradle 5 #21753
- Replace whitelist with a term that does not have racist connotations #21745
- Polish #21734
- Use highlightjs for syntax highlighting in HTML documentation #21703
- Mark new public API added to spring-boot-loader in 2.3 with @SInCE tags #21657
- {gradle-project-version}, rather than the project's actual version, appears in the Gradle plugin's reference documentation #21651
- Version-specific content is missing from Gradle Plugin's reference documentation #21641
🔨 Dependency Upgrades
- Upgrade to WebJars Locator Core 0.46 #22135
- Upgrade to Spring Kafka 2.5.3.RELEASE #22134
- Upgrade to Oracle Database 19.7.0.0 #22133
- Upgrade to Micrometer 1.5.2 #22132
- Upgrade to MariaDB 2.6.1 #22131
- Upgrade to Jackson Bom 2.11.1 #22130
- Upgrade to Hazelcast 3.12.8 #22129
- Upgrade to Spring AMQP 2.3.0-M1 #22127
- Upgrade to Spring Batch 4.3.0-M1 #22126
- Upgrade to SQLite JDBC 3.32.3 #22058
- Upgrade to Jetty Reactive HTTPClient 1.1.4 #22057
- Upgrade to Jakarta Servlet 4.0.4 #22056
- Upgrade to Hibernate 5.4.18.Final #22055
- Upgrade to Byte Buddy 1.10.12 #22054
- Upgrade to Cassandra Driver 4.7.2 #22052
- Upgrade to Undertow 2.1.3.Final #21983
- Upgrade to Tomcat 9.0.36 #21982
- Upgrade to Spring Retry 1.3.0 #21981
- Upgrade to Spring Kafka 2.5.2.RELEASE #21980
- Upgrade to SendGrid 4.6.0 #21977
- Upgrade to Selenium HtmlUnit 2.41.0 #21976
- Upgrade to RSocket 1.0.1 #21975
- Upgrade to R2DBC Bom Arabba-SR5 #21974
- Upgrade to Postgresql 42.2.14 #21973
- Upgrade to OkHttp3 3.14.9 #21971
- Upgrade to OAuth2 OIDC SDK 7.5 #21970
- Upgrade to Netty tcNative 2.0.31.Final #21969
- Upgrade to Netty 4.1.50.Final #21968
- Upgrade to Neo4j OGM 3.2.12 #21967
- Upgrade to MongoDB 4.0.4 #21966
- Upgrade to Maven War Plugin 3.3.0 #21965
- Upgrade to Log4j2 2.13.3 #21964
- Upgrade to Liquibase 3.10.0 #21963
- Upgrade to Lettuce 5.3.1.RELEASE #21962
- Upgrade to Kotlin Coroutines 1.3.7 #21961
- Upgrade to Johnzon 1.2.7 #21960
- Upgrade to Jetty 9.4.30.v20200611 #21959
- Upgrade to Jersey 2.31 #21957
- Upgrade to Jaybird 3.0.9 #21956
- Upgrade to Javax Money 1.1 #21955
- Upgrade to InfluxDB Java 2.19 #21954
- Upgrade to HtmlUnit 2.41.0 #21953
- Upgrade to Groovy 2.5.12 #21951
- Upgrade to Elasticsearch 7.7.1 #21948
- Upgrade to Dropwizard Metrics 4.1.9 #21947
- Upgrade to Couchbase Client 3.0.5 #21946
- Upgrade to Caffeine 2.8.4 #21945
- Upgrade to Awaitility 4.0.3 #21943
- Upgrade to Artemis 2.13.0 #21942
- Upgrade to Spring Security 5.4.0-M1 #21932
- Upgrade to Spring Integration 5.4.0-M1 #21931
- Upgrade to Spring Data 2020.0.0-M1 #21930
- Upgrade to Spring Framework 5.3.0-M1 #21929
- Upgrade to Spring Session 2020.0.0-M1 #21928
- Upgrade to Reactor 2020.0.0-M1 #21927
❤️ Contributors
We'd like to thank all the contributors who worked on this release!