🪲 Bug Fixes
- Actuator doesn't use the CORS Configuration with default security configuration and Spring MVC #26611
- An active request delays Jetty's shutdown by 30 seconds #26607
- SmartInitializingSingleton beans are not working with lazy initialization #26605
- MVC and WebFlux metrics filters adversely affect the response when metrics recording fails #26595
- Mandatory locations with pattern fail with exception #26577
- Non-optional locations with wildcards fail if no files are contributed #26468
- ConfigurationProperties is retrieved via classpath scanning but does not indicate it should be indexed #26462
- The error message when a wildcard directory location does not match any files is misleading #26415
- StandardConfigDataLoader can import profile specific files in incorrect order #26400
- Resolvability and consumability of productionRuntimeClasspath are not aligned with runtimeClasspath #26364
- Empty value in spring.config.import causes NullPointerException #26342
@DataRedisTest
does not considerRedisReactiveAutoConfiguration
#26327- When a single bean causes a dependency cycle the failure analysis does not clearly illustrate the cycle #26322
- SpringBootConfiguration is retrieved via classpath scanning but does not indicate it should be indexed #26317
- Maven spring-boot:build-image ignores ZIP layout #26312
- bootBuildImage does not pick up targetCompatibility when it's configured after task is customised #26300
- Configuration item metadata ordering is not consistent #26275
@EnableAutoConfiguration
and@ImportAutoConfiguration
use different class loaders to find candidate configurations #26236- 'spring.web.resources.cache.use-last-modified=false' doesn't work with Spring MVC #26212
- Use of spring.profiles.include in a profile-specific document is not detected when it's configured as a YAML list #26205
- SpringApplication additional profiles and active profiles ordering changed with Spring Boot 2.4 #26189
- Profiles programmatically set on the Envionment are no longer merged with active profile properties #26151
- When classes in spring-core and spring-boot are loaded by different ClassLoaders, spring-boot cannot find its own config data location resolvers #26149
- Config data location does not exist error can be thrown if a profile-specific properties file is directly imported #26147
- Profile cannot easily be deduced from StandardConfigDataResource #25940
- ConfigDataResolvers cannot signal that they should be skipped #25894
- Remote devtools endpoint cannot be accessed if actuator and spring security are on the classpath #25868
- Additional profiles are processed too late when legacy processing is used #25817
- BufferingApplicationStartup fails with NoSuchElementException #25792
@Scheduled
method not triggered when spring.main.lazy-initialization=true #25315- Actuator doesn't use the CORS Configuration with default security configuration and Spring Webflux #24541
📔 Documentation
- Update Gradle docs to use module replacement rather than dependency substitution #26525
- Improve documentation of TestRestTemplate's fault tolerance #26521
- Document that the heap dump endpoint requires a HotSpot JVM #26473
- Fix wrong reference to Cassandra in DockerImageNames#couchbase #26405
- Move Working with the Code from CONTRIBUTING.adoc to the wiki #26333
- Fix typo in NamedContributors Javadoc #26324
- Document property names to enable reactive health indicators #26298
- Documentation has wrong key for DataSourceHealthIndicator #26282
- Align documentation with main default branch name #26256
- Align Maven version in system requirements with what is actually tested #26210
- Document that MeterFilters are only applied to the Spring-managed MeterRegistry #26185
- Use new update site for Spring Java Format's Eclipse plugin #26171
- spring.profiles.include has outdated sourceType in configuration metadata #26163
- Enhance multiple entity manager factories online documentation #26159
- Include spring.profiles.group in additional-spring-configuration-metadata.json #26127
- Suggest enabling the default servlet when using Jersey as a filter #25733
🔨 Dependency Upgrades
- Upgrade to ActiveMQ 5.16.2 #26496
- Upgrade to Dropwizard Metrics 4.1.21 #26497
- Upgrade to Ehcache 2.10.9.2 #26498
- Upgrade to Ehcache3 3.9.3 #26499
- Upgrade to Hibernate 5.4.31.Final #26500
- Upgrade to Infinispan 11.0.11.Final #26501
- Upgrade to Janino 3.1.4 #26502
- Upgrade to JBoss Transaction SPI 7.6.1.Final #26503
- Upgrade to Jetty 9.4.41.v20210516 #26601
- Upgrade to Jetty Reactive HTTPClient 1.1.8 #26504
- Upgrade to Johnzon 1.2.11 #26506
- Upgrade to jOOQ 3.14.9 #26507
- Upgrade to Json-smart 2.3.1 #26508
- Upgrade to JUnit Jupiter 5.7.2 #26509
- Upgrade to Kafka 2.6.2 #24247
- Upgrade to Lettuce 6.0.5.RELEASE #26510
- Upgrade to MariaDB 2.7.3 #26511
- Upgrade to Micrometer 1.6.7 #26430
- Upgrade to MySQL 8.0.25 #26512
- Upgrade to Neo4j Java Driver 4.1.2 #26513
- Upgrade to Netty 4.1.65.Final #26602
- Upgrade to Netty tcNative 2.0.39.Final #26514
- Upgrade to Pooled JMS 1.2.2 #26515
- Upgrade to Postgresql 42.2.20 #26516
- Upgrade to R2DBC Bom Arabba-SR10 #26517
- Upgrade to Reactor 2020.0.7 #26358
- Upgrade to Spring AMQP 2.3.7 #26383
- Upgrade to Spring Batch 4.3.3 #26391
- Upgrade to Spring Data 2020.0.9 #26381
- Upgrade to Spring Framework 5.3.7 #26360
- Upgrade to Spring HATEOAS 1.2.6 #26442
- Upgrade to Spring Integration 5.4.7 #26587
- Upgrade to Spring Kafka 2.6.8 #26385
- Upgrade to Spring LDAP 2.3.4 #26393
- Upgrade to Thymeleaf Layout Dialect 2.5.3 #26518
- Upgrade to Tomcat 9.0.46 #26519
❤️ Contributors
We'd like to thank all the contributors who worked on this release!