⭐ New Features
- Remove Spring Data Solr support #24939
- Automatically register HttpSessionIdListener beans with the servlet context #24879
- Register default resource path using ServletContextResource #24749
- Switch to Apache EL implementation by default #24744
- Add customizer for jOOQ's DefaultConfiguration #24732
- Support get requests for /actuator/startup #24717
- Change info endpoint to be secure and unexposed by default #24715
- Configure Couchbase to use the application's ObjectMapper #24616
- Provide a configuration property for endpoints' CORS origin patterns #24608
- Add configuration option to configure Kafka Listener's onlyLogRecordMetadata #24582
- Improve performance of Tomcat 'jar:war:file' URLs #24553
- Add API for PropertySource resource location retrieval #24524
- Move EntityManagerFactoryDependsOnPostProcessor from o.s.b.autoconfigure.data.jpa to o.s.b.autoconfigure.orm.jpa #24452
- Allow to configure ActiveMQ Artemis using broker url #24302
- Reduce the overhead of char[] creation #24204
- Expose configuration property for Cassandra's control queries timeout #24189
- Provide out-of-the-box support for Elasticsearch Sniffer #24174
- Add support for Apache Phoenix's jdbc:phoenix: JDBC URL prefix #24114
- Add keyStoreAlgorithm and trustStoreAlgorithm configuration option to configure RabbitConnectionFactory #24076
- Disable mappings endpoint related infrastructure when endpoint isn't available #23977
🪲 Bug Fixes
- When spring.mvc.pathmatch.matching-strategy is set to path-pattern-parser, the error handling of a management server listening on a separate port is broken #24949
- InvalidConfigDataPropertyException thrown when server processed ConfigData contains profiles #24893
- mappings endpoint fails due to an NPE when spring.mvc.pathmatch.matching-strategy is set to path-pattern-parser #24882
- Failures when recording metrics in MetricsClientHttpRequestInterceptor may interfere with RestTemplate's main behaviour #24873
- Auto-configured DataSourceTransactionManager uses spring.dao.exceptiontranslation.enable rather than spring.dao.exceptiontranslation.enabled to control exception translation #24871
- Configuration metadata for logging.charset.* has invalid reference for java.nio.charset.Charset #24861
- Wrong logging pattern with multiple web applications #24846
- DataSourceUnwrapper calls Wrapper.isWrapperFor with a interface rather than an class causing HikariDataSourceMetricsRegistry failure #24842
- Configuration metadata json does not include spring.config.use-legacy-processing #24832
- main application.yaml overrides test application.properties #24812
- Setting -Dspring.devtools.restart.enabled=true has no effect when the class loader class name does not contain AppClassLoader #24800
- Actuator 'configprops' endpoint does not show inputs for
@Name
parameters #24795 - Enforce that builder and run images are pulled from the same authenticated registry #24794
- spring.profiles.include is silently ignored when used in a profile-specific document #24793
- Auto-configured JdbcSessionDataSourceInitializer does not use the
@SpringSessionDataSource
if available #24791 - Error
Invalid entry size
when build application with a dependency jar larger than 2,147,483,647 bytes with Gradle #24769 - Exceptions are still translated by JdbcTransactionManager when spring.dao.exceptiontranslation.enabled is false #24746
- bootRun task does not use the project's toolchain by default #24739
- BootRun does not consider configured javaLauncher when determining JVM arguments for an optimized launch #24736
- Exploded archives launched using the launcher have an incorrectly ordered classpath that also contains non-existent jar files #24711
- spring-boot:build-image has a layout parameter that cannot be always be honoured #24690
- flashMapManager and themeResolver beans can no longer be configured without enabling bean overriding #24687
- FailureAnalyzers' unmet dependency errors add noise to logs #24684
- WebTestClient base path is not set to the application context path #24679
- ConfigDataEnvironment doesn't register updated Binder #24674
- JSR-305
@Nullable
cannot be used to indicate that a parameter to an endpoint operation is optional #24671 - WebServer implementations should return -1 if not listening on a port #24658
- configtree not working with Kubernetes projected volume #24652
- ConfigDataLocationNotFoundException thrown at application startup with configserver: config imports, that are not even meant for the current profile #24651
- Maven resources plugin execution generates a warning with a vanilla project #24600
- Handle missing manifest files in JarTypeFilter #24598
- Persistent and RelationshipProperties-annotated types are not scanned with Spring Data Neo4j #24589
- BootstrapContext Binder cannot be used if accessed early #24569
- Opening a connection to a jar:war: URL created by Tomcat results in an illegal reflective access warning on Java 13+ #24555
- Netty Web Server will not start if using Unix Domain Sockets #24544
- Actuator doesn't use the CORS Configuration with default security configuration and Spring MVC #24543
- Avoid duplicate classes in MergedContextConfiguration #24537
- Image is built from jar file when when using war packaging with Gradle #24534
- Application Startup Fails For Existing, Non-Optional Config Location, Resulting In ConfigDataLocationNotFoundException #24505
📔 Documentation
- WebMvcProperties.MatchingStrategy should be documented as being since 2.4.0 #24883
- CONTRIBUTING.adoc contains broken link to spring-javaformat-intellij-idea-plugin #24870
- Add version to reference docs index #24855
- Fix documentation on probes states during graceful shutdown #24844
- Clarify behaviour of WebServerFactory in reference guide #24708
- Fix javadoc typo in ConfigDataLocation #24685
- Migrate away from pivotal-legacy/homebrew-tap #24682
- Document warning about InMemoryOAuth2AuthorizedClientService #24595
- Update documentation containing examples of WebSecurityConfigurerAdapter #24593
- Update version of git-properties plugin in the docs #24573
- Improve "Git Commit Information" reference documentation #24571
- Clarify when SpEL expressions in application properties are evaluated #24566
- Reorder documentation about building images #24564
- Improve error message when attempting to build an image when using war packaging with Maven #24539
- Testing Properties missing from Application Properties Appendix #24519
- Update reference guide to refine note on excluding spring-boot-configuration-processor explicitly #24511
🔨 Dependency Upgrades
- Upgrade to ActiveMQ 5.16.1 #24954
- Upgrade to AppEngine SDK 1.9.84 #24895
- Upgrade to Artemis 2.16.0 #24896
- Upgrade to Byte Buddy 1.10.19 #24897
- Upgrade to Cassandra Driver 4.10.0 #24898
- Upgrade to Couchbase Client 3.1.1 #24899
- Upgrade to Dependency Management Plugin 1.0.11 #24830
- Upgrade to Dropwizard Metrics 4.1.17 #24900
- Upgrade to Elasticsearch 7.10.2 #24901
- Upgrade to Embedded Mongo 3.0.0 #24254
- Upgrade to Flyway 7.5.1 #24961
- Upgrade to Git Commit ID Plugin 4.0.3 #24955
- Upgrade to Groovy 3.0.7 #24946
- Upgrade to Hazelcast 4.1.1 #24902
- Upgrade to Hazelcast Hibernate5 2.2.0 #24903
- Upgrade to Hibernate 5.4.27.Final #24904
- Upgrade to Hibernate Validator 6.2.0.Final #24905
- Upgrade to HtmlUnit 2.46.0 #24906
- Upgrade to Infinispan 11.0.9.Final #24907
- Upgrade to InfluxDB Java 2.21 #24908
- Upgrade to Jackson 2.12.1 #24415
- Upgrade to Jaybird 4.0.2.java8 #24956
- Upgrade to Jersey 2.33 #24911
- Upgrade to Jetty 9.4.36.v20210114 #24913
- Upgrade to Jetty EL 9.0.29 #24957
- Upgrade to Jetty Reactive HTTPClient 1.1.5 #24912
- Upgrade to Johnzon 1.2.9 #24914
- Upgrade to Json Path 2.5.0 #24915
- Upgrade to Kafka 2.7.0 #24934
- Upgrade to Kotlin 1.4.21-2 #24958
- Upgrade to Lettuce 6.0.2.RELEASE #24916
- Upgrade to Liquibase 4.2.2 #24952
- Upgrade to Log4j2 2.14.0 #24917
- Upgrade to Micrometer 1.6.3 #24918
- Upgrade to Mockito 3.7.7 #24919
- Upgrade to MySQL 8.0.23 #24920
- Upgrade to Netty 4.1.58.Final #24921
- Upgrade to Netty tcNative 2.0.36.Final #24922
- Upgrade to Oracle Database 21.1.0.0 #24959
- Upgrade to Reactor 2020.0.3 #24740
- Upgrade to REST Assured 4.3.3 #24962
- Upgrade to Selenium HtmlUnit 2.46.0 #24924
- Upgrade to SendGrid 4.7.1 #24925
- Upgrade to Solr 8.7.0 #24963
- Upgrade to Spring AMQP 2.3.4 #24926
- Upgrade to Spring Data 2021.0.0-M2 #24931
- Upgrade to Spring Framework 5.3.3 #24750
- Upgrade to Spring HATEOAS 1.3.0-M1 #24935
- Upgrade to Spring Integration 5.5.0-M1 #24932
- Upgrade to Spring Kafka 2.7.0-M1 #24592
- Upgrade to Spring Retry 1.3.1 #24927
- Upgrade to Spring Security 5.5.0-M1 #24937
- Upgrade to Spring Session 2021.0.0-M1 #24933
- Upgrade to SQLite JDBC 3.34.0 #24928
- Upgrade to Thymeleaf 3.0.12 #24603
- Upgrade to Thymeleaf Layout Dialect 2.5.2 #24929
- Upgrade to XmlUnit2 2.8.2 #24930
❤️ Contributors
We'd like to thank all the contributors who worked on this release!