⭐ New Features
- Add DataCouchbaseTest annotation #29912
- Add DataElasticsearchTest annotation #29911
- Allow relative auto-configuration ordering to be configured using
@AutoConfiguration
#29907 - Add Kafka immediateStop Property #29884
- Move away from spring.factories for auto-configurations #29872
- Introduce
@AutoConfiguration
#29870 - Remove separate dependency management for netty-tcnative in favor of the entry in Netty’s bom #29816
- Support constructor injection for FailureAnalyzers #29811
- Move away from spring.factories for management context configuration imports #29730
- Add redis sentinel username support for authentication with ACL #29661
- Adapt OpaqueTokenIntrospector auto-configuration so that Nimbus is no longer required #29572
- Implement InputStream.available() for RandomAccessDataFile-backed input streams #29295
🐞 Bug Fixes
- Default JmxAutoConfiguration changes JConsole hierarchy for multi-property
@ManagedResource
object names #29971 - GraphQlService may not used contributed BatchLoaderRegistry #29929
- The active profiles log message is ambiguous when a profile's name contains a comma #29916
@SpyBean
causes BeanCurrentlyInCreationException when there are circular references #29910- Failed application contexts are not deregistered from SpringApplicationShutdownHook #29906
- Gradle Plugin triggers eager configuration of some tasks #29818
- MimeMapping for ots has a trailing space in its mime type #29751
- A fat jar built with Gradle moves META-INF beneath BOOT-INF/classes while Maven leaves it at the jar's root #29749
- WebSessionIdResolverAutoConfiguration should only be active in a reactive web application #29744
- Dependency management for Liquibase does not include its liquibase-cdi module #29742
- server.tomcat.use-relative-redirects=true not honored when server.forward-headers-strategy=framework #29732
- Ignore invalid stream types when reading log update events #29692
- bootJar, bootRun, and bootWar do not pick up changes to the main source set's runtime classpath that are made after Boot's plugin has been applied #29680
- Health Web Endpoint Extension Failed to Initialize When Some Conditions Hit #29584
- ErrorPageSecurityFilter cannot be destroyed in a Servlet 3.1 compatible container #29565
📔 Documentation
- Document that placeholders in
@DefaultValue
annotations are not resolved #29981 - Clarify relation of import path to resultant properties in configtree import data #29979
- bootRun example should use mainClass, rather than main which was deprecated in Gradle 7.1 #29967
- Rectify incorrect sanitizing regex example provided in how-to docs #29960
- "Customizing the Banner" should make it more obvious that any environment property can be used #29935
- Update javadoc to reflect move from WebSecurityConfigurerAdapter to SecurityFilterChain #29902
- Link directly to the Integration Properties section of the appendix when cross-referencing Kafka properties #29808
- Update documentation to reflect Hibernate's CamelCaseToUnderscoresNamingStrategy now being used by default #29752
- Add documentation for WebMvc.fn #29729
- Move appendix subsections under appendix section #29690
- In Gradle plugin docs, replace classifier (deprecated) with archiveClassifier in examples #29686
- Warn about the dangers of early bean initialization when using
@ConditionalOnExpression
#29617 - Rename Boxfuse to CloudCaptain #29540
- Upgrade version of gradle-git-properties in reference doc #29538
- Add Kotlin alternatives to Java samples #29499
🔨 Dependency Upgrades
- Upgrade to ActiveMQ 5.16.4 #29828
- Upgrade to AppEngine SDK 1.9.95 #29943
- Upgrade to Artemis 2.19.1 #29829
- Upgrade to Byte Buddy 1.12.8 #29830
- Upgrade to Couchbase Client 3.2.5 #29831
- Upgrade to Dropwizard Metrics 4.2.8 #29832
- Upgrade to Elasticsearch 7.17.0 #29848
- Upgrade to Flyway 8.5.1 #29986
- Upgrade to Glassfish JAXB 2.3.6 #29835
- Upgrade to Gson 2.9.0 #29836
- Upgrade to H2 2.1.210 #29651
- Upgrade to Hibernate 5.6.5.Final #29837
- Upgrade to Hibernate Validator 6.2.2.Final #29838
- Upgrade to HtmlUnit 2.58.0 #29839
- Upgrade to HttpClient5 5.1.3 #29840
- Upgrade to Infinispan 13.0.6.Final #29841
- Upgrade to Jetty 9.4.45.v20220203 #29843
- Upgrade to Jetty Reactive HTTPClient 1.1.11 #29842
- Upgrade to Johnzon 1.2.16 #29844
- Upgrade to Json Path 2.7.0 #29845
- Upgrade to Json-smart 2.4.8 #29846
- Upgrade to Kafka 3.1.0 #29700
- Upgrade to Liquibase 4.8.0 #29987
- Upgrade to MariaDB 3.0.3 #29945
- Upgrade to Maven Compiler Plugin 3.10.0 #29850
- Upgrade to Maven Javadoc Plugin 3.3.2 #29851
- Upgrade to Micrometer 1.9.0-M3 #29763
- Upgrade to Mockito 4.3.1 #29852
- Upgrade to MongoDB 4.5.0 #29853
- Upgrade to MSSQL JDBC 10.2.0.jre8 #29946
- Upgrade to Neo4j Java Driver 4.4.3 #29854
- Upgrade to Netty 4.1.74.Final #29855
- Upgrade to Netty tcNative 2.0.48.Final #29856
- Upgrade to OkHttp 4.9.3 #18506
- Upgrade to Oracle Database 21.5.0.0 #29857
- Upgrade to Postgresql 42.3.3 #29858
- Upgrade to Prometheus Client 0.15.0 #29859
- Upgrade to R2DBC Borca-RELEASE #28524
- Upgrade to Rabbit AMQP Client 5.14.2 #29860
- Upgrade to Reactor 2020.0.16 #29760
- Upgrade to REST Assured 4.5.1 #29861
- Upgrade to Selenium 4.1.2 #29862
- Upgrade to Selenium HtmlUnit 3.58.0 #29863
- Upgrade to SendGrid 4.8.3 #29864
- Upgrade to SLF4J 1.7.36 #29865
- Upgrade to Solr 8.11.1 #29517
- Upgrade to Spring Batch 4.3.5 #29652
- Upgrade to Spring Data 2021.2.0-M3 #29765
- Upgrade to Spring Framework 5.3.16 #29761
- Upgrade to Spring HATEOAS 1.5.0-M2 #29893
- Upgrade to Spring Integration 5.5.9 #29964
- Upgrade to Spring Kafka 2.8.3 #29759
- Upgrade to Spring LDAP 2.4.0-M2 #29764
- Upgrade to Spring Security 5.7.0-M2 #29766
- Upgrade to Thymeleaf 3.0.15.RELEASE #29866
- Upgrade to UnboundID LDAPSDK 6.0.3 #29947
- Upgrade to Undertow 2.2.16.Final #29867
- Upgrade to Versions Maven Plugin 2.9.0 #29868
- Upgrade to WebJars Locator Core 0.50 #29948
- Upgrade to XmlUnit2 2.9.0 #29869
❤️ Contributors
We'd like to thank all the contributors who worked on this release!