Spring Boot v2.4.0-RC1 Release Notes

Release Date: 2020-10-30 // over 3 years ago
  • ๐Ÿฑ โญ New Features

    • Provide dependency management for jOOQ's new jooq-kotlin module #23964
    • ๐Ÿ”ง Provide a configuration property for the driverClassName of the Liquibase DataSource #23958
    • ๐ŸŒ Move spring.resources.* properties to spring.web.resources.* #23917
    • ๐Ÿ”ง Provide configuration properties for setting the logging charsets #23827
    • โž• Add auto-trimming support to configtree property sources #23826
    • โž• Add configuration properties for RabbitMQ's batch listener config #23766
    • ๐Ÿ”ฆ Expose BootBuildImage's cleanCache property as a command-line option #23753
    • ๐Ÿ‘ Allow a SAML2 relying party registration's assertion consumer service binding and location to be configured via application properties #23746
    • ๐Ÿ”’ Rename spring.security.saml2.relyingparty.*.relying-party-entity-id to spring.security.saml2.relyingparty.*.entityId #23745
    • โž• Add a command line option for image.cleanCache when building with Maven #23719
    • ๐Ÿ‘ Allow a SAML2 relying party registration's decryption X509 credentials to be configured via application properties #23705
    • โž• Add support for CNB platform API 0.4 #23692
    • ๐Ÿ‘ Allow TestPropertyValues.of to take a Map source #23685
    • ๐ŸŒฒ Rationalize Logback logging properties #23609
    • ๐Ÿ— When building with Maven, include project dependencies in the application layer by default #23463
    • ๐Ÿ”ง Provide properties to configure WebFlux's locale and how it's resolved #23449
    • โœ‚ Remove skipping of spring-boot-* projects when determining what is eligible for DevTools restart #23158
    • ๐Ÿ‘‰ Make @PropertyMapping support nested annotations #23146
    • ๐Ÿ”„ Change favicon default StaticResourceLocation #23126
    • โšก๏ธ Update TextResourceOrigin to show the source jar of a ClasspathResource #23019
    • ๐Ÿ‘‰ Use stricter multi-document properties separator logic #22963
    • ๐Ÿ‘Œ Support wildcard configtree imports #22958
    • ๐Ÿ‘Œ Support Gradle's configuration cache with Gradle 6.7 and later #22922
    • ๐Ÿ”ง Provide a property for configuring the base path of the Actuator's endpoints when using WebFlux #22906
    • ๐Ÿ‘ Allow proxied @SpyBeans to be used with Mockito's inline mock maker #22416
    • ๐Ÿ‘ป Fail with exception if management.server.address is set but actuator is on the same port #22187
    • ๐Ÿ”ง Don't adapt RandomPropertySource to ConfigurationPropertySource #21659
    • ๐Ÿ”ง Auto-configuration of MethodValidationPostProcessor prevents the use of @Validated on final @ConfigurationProperties classes #21454
    • ๐Ÿ‘ Allow @WebListener ServletContextListeners to programmatically add servlets and filters #18303

    ๐Ÿฑ ๐Ÿž Bug Fixes

    • ๐Ÿ”ง Configuration property annotation processor does not notice overriding getter methods #23970
    • ๐Ÿ“‡ Incremental compilation does not keep metadata for inner classes #23960
    • ๐Ÿ— Maven plugin build-image creator step fails in Bitbucket pipelines #23957
    • ๐Ÿ”ง Datasource initialisation with JPA schema configured in deferred mode happens asynchronously #23933
    • ๐Ÿ“‡ ConfigurationMetadataAnnotationProcessor can add duplicate entries #23916
    • Jar entries are duplicated in BOOT-INF/lib with layered jars and Maven #23819
    • โœ… HttpEncodingAutoConfiguration is not added to the WebMvcTest slice #23817
    • ๐Ÿ“œ Wildcard locations for configs causes files to be parsed multiple times on k8s #23815
    • ๐Ÿ‘ป Exception thrown from /actuator/env endpoint when spring.config.import=configtree:xxxx is used #23805
    • ๐ŸŒฒ Exceptions when initializing logging system are not shown #23802
    • excludeProjectDependencies() does not work when customising a jar's layers with Gradle #23763
    • ๐Ÿ”ง A reactive web application using Spring Session uses server.servlet.session.timeout to configure its session timeout #23752
    • โฑ server.servlet.session.timeout not in effect when using Jetty starter without jakarta.annotation and javax.annotation #23751
    • If the JVM is killed while refresh is in progress, the shutdown hook does not close the context #23744
    • Hang on AbstractEntityManagerFactoryBean.getNativeEntityManagerFactory() #23735
    • BootJar.getConfigurations() should not be public API #23732
    • Renaming of CompositeMeterRegistryAutoConfiguration breaks code that was excluding it or referring to it from @AutoConfigureBefore/After #23724
    • ๐Ÿ‘ Databases that support embedded and non-embedded modes are always detected as embedded #23693
    • โœ… @MockBean fields are not reset for JUnit 5 @Nested tests #12470

    ๐Ÿ“” Documentation

    • โœ‚ Remove version elements from Maven plugin documentation #23931
    • ๐Ÿ“š Polish HTTP/2 Cleartext documentation #23820
    • ๐Ÿ”ง Document how to enable h2c via programmatic configuration #23816
    • Note that using LiveReload requires Devtools restart to be enabled #23765
    • ๐Ÿ›  Fix links to Spring Framework documentation #23737
    • ๐Ÿ“š Maven layers documentation is incomplete #23731
    • โž• Add reference to JobRunr Spring Boot starter #23725
    • ๐Ÿ’… Polish titles on configblocks #23722
    • ๐Ÿ”ง Document how to override attributes already specified in Maven plugin configuration #23718
    • ๐Ÿ“„ Block selection in docs only works in single page HTML #23709

    โฌ†๏ธ ๐Ÿ”จ Dependency Upgrades

    • โฌ†๏ธ Upgrade to AssertJ 3.18.0 #23888
    • โฌ†๏ธ Upgrade to Commons Pool2 2.9.0 #23889
    • โฌ†๏ธ Upgrade to Dropwizard Metrics 4.1.14 #23890
    • โฌ†๏ธ Upgrade to Elasticsearch 7.9.3 #23891
    • โฌ†๏ธ Upgrade to Flyway 7.1.1 #23932
    • โฌ†๏ธ Upgrade to Jetty 9.4.33.v20201020 #23893
    • โฌ†๏ธ Upgrade to jOOQ 3.14.0 #23894
    • โฌ†๏ธ Upgrade to Kotlin Coroutines 1.4.0 #23913
    • ๐Ÿš€ Upgrade to Lettuce 6.0.1.RELEASE #23923
    • โฌ†๏ธ Upgrade to Lombok 1.18.16 #23895
    • โฌ†๏ธ Upgrade to Micrometer 1.6.0 #23525
    • โฌ†๏ธ Upgrade to Mockito 3.6.0 #23924
    • โฌ†๏ธ Upgrade to MongoDB 4.1.1 #23897
    • โฌ†๏ธ Upgrade to MSSQL JDBC 8.4.1.jre8 #23742
    • โฌ†๏ธ Upgrade to MySQL 8.0.22 #23898
    • โฌ†๏ธ Upgrade to Netty 4.1.53.Final #23899
    • โฌ†๏ธ Upgrade to Nimbus JOSE JWT 9.1.1 #23901
    • โฌ†๏ธ Upgrade to OAuth2 OIDC SDK 8.23.1 #23900
    • โฌ†๏ธ Upgrade to Oracle Database 19.8.0.0 #23902
    • โฌ†๏ธ Upgrade to Postgresql 42.2.18 #23903
    • โฌ†๏ธ Upgrade to R2DBC Bom Arabba-SR8 #23904
    • โฌ†๏ธ Upgrade to Rabbit AMQP Client 5.10.0 #23905
    • โฌ†๏ธ Upgrade to Reactor 2020.0.0 #23771
    • โฌ†๏ธ Upgrade to RSocket 1.1.0 #23912
    • โฌ†๏ธ Upgrade to SendGrid 4.6.7 #23906
    • โฌ†๏ธ Upgrade to Spring AMQP 2.3.0 #23785
    • โฌ†๏ธ Upgrade to Spring Batch 4.3.0 #23963
    • โฌ†๏ธ Upgrade to Spring Data 2020.0.0 #23778
    • โฌ†๏ธ Upgrade to Spring Framework 5.3.0 #23774
    • โฌ†๏ธ Upgrade to Spring HATEOAS 1.2.0 #23779
    • โฌ†๏ธ Upgrade to Spring Integration 5.4.0 #23781
    • โฌ†๏ธ Upgrade to Spring Session 2020.0.0 #23788

    ๐Ÿฑ โค๏ธ Contributors

    ๐Ÿš€ We'd like to thank all the contributors who worked on this release!