All Versions
56
Latest Version
Avg Release Cycle
31 days
Latest Release
1587 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v2.4.0 Changes
November 12, 2020🍱 ⭐ New Features
- Provide a property or environment variable to enable DevTools' restarter irrespective of how the application was launched #21424
🍱 🐞 Bug Fixes
- 💻 Using last modified for static resources in reproducible archives and images causes unwanted browser caching #24099
- 🔧 BootJar's afterResolve action causes resolution failures with the Versions plugin due to configurations being copied and made resolvable #24072
- 📇 Configuration metadata annotation processor may use the wrong accessor for boolean properties #24059
- When using Tomcat, key and trust store passwords set via javax.net.ssl system properties are overwritten with null when Spring Boot's equivalent properties have not been set #24053
- Config files no longer loaded if they contain a hidden path element #24043
- ✅
@DataJpaTest
using H2 with schema.sql and spring.datasource.schema-username fails #24024 - "java.lang.IllegalStateException: zip file closed" when call JarFileWrapper.stream() of spring-boot-loader #24017
- JdbcStoreTypeConfiguration picks transaction of primary data source when Quartz data source is not the primary data source #24015
- ✅ TestTypeExcludeFilter does not implement hashCode and equals as required by its super-class #24013
- 🔧 Our auto-configuration should not use
@PostConstruct
as it's ignored on Java 11+ without a dependency on jakarta-annotation-api #24010 - ✅
@MockBean
fields are not reset for JUnit 5@Nested
tests using@WebMvcTest
#23984 - 🔊 ClasspathLoggingApplicationListener logs the classpath as unknown on Java 11 and later #23138
📔 Documentation
- 🛠 Fix link to Flyway callback docs #24122
- 🛠 Fix deprecation warnings in javadoc comments #24120
- Provide more details about overriding SpringPhysicalNamingStrategy's case insensitive flag #24062
- 📚 Clarify documentation regarding relaxed binding of environment variables #24033
- ✨ Enhance spring.datasource.initialization-mode property description #24030
- Recommend disabling context path redirects when using proxy-terminated SSL with Tomcat #24026
- 👌 Improve Spring Session back off documentation #24019
- ✅ Clarify the javadoc of AutoConfigureTestDatabase to make it clearer that it only replaces the main DataSource #24007
- Recommend that bean definitions provide as much type information as possible #24005
- 🌲 logging.file.* properties flagged with error level while they are still honoured #23995
- ➕ Add missing default value for enum-based configuration properties #23992
- 📇 Configuration property replacement metadata for spring.resources.cache.cachecontrol.stale-while-revalidate is invalid #23980
⬆️ 🔨 Dependency Upgrades
- ⬆️ Upgrade to AppEngine SDK 1.9.83 #24082
- ⬆️ Upgrade to AssertJ 3.18.1 #24126
- ⬆️ Upgrade to Byte Buddy 1.10.18 #24083
- ⬆️ Upgrade to Couchbase Client 3.0.10 #24084
- ⬆️ Upgrade to Hibernate 5.4.23.Final #24085
- ⬆️ Upgrade to Infinispan 11.0.5.Final #24127
- ⬆️ Upgrade to Jetty 9.4.34.v20201102 #24047
- ⬆️ Upgrade to jOOQ 3.14.3 #24128
- ⬆️ Upgrade to Kotlin Coroutines 1.4.1 #24087
- ⬆️ Upgrade to Micrometer 1.6.1 #24051
- ⬆️ Upgrade to Netty 4.1.54.Final #24129
- ⬆️ Upgrade to Nimbus JOSE JWT 9.1.2 #24088
- ⬆️ Upgrade to Pooled JMS 1.2.1 #24089
- ⬆️ Upgrade to Reactor 2020.0.1 #24110
- ⬆️ Upgrade to SendGrid 4.6.8 #24090
- ⬆️ Upgrade to Spring AMQP 2.3.1 #24073
- ⬆️ Upgrade to Spring Data 2020.0.1 #24036
- ⬆️ Upgrade to Spring Framework 5.3.1 #24035
- ⬆️ Upgrade to Spring HATEOAS 1.2.1 #24091
- ⬆️ Upgrade to Spring Integration 5.4.1 #24097
- ⬆️ Upgrade to Spring Kafka 2.6.3 #24074
- ⬆️ Upgrade to Spring Session 2020.0.1 #24098
🍱 ❤️ Contributors
🚀 We'd like to thank all the contributors who worked on this release!
-
v2.4.0-RC1 Changes
October 30, 2020🍱 ⭐ 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
tospring.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!
-
v2.4.0-M4 Changes
October 15, 2020🍱 ⭐ New Features
- 👌 Improve ConfigData processing code #23711
- Apply FailureAnalyzers even if the ApplicationContext was not created #23710
- 🏗 Set platform API version when invoking image builder #23682
- Align name of UndertowServletWebServerFactory's eagerInitFilters with Undertow's naming #23674
- ➕ Add KafkaStream's CleanupConfig properties #23636
- ➕ Add a FailureAnalyzer for ConfigDataNotFoundException #23633
- ⚡️ Update default builder image for image builds with buildpacks #23628
- 🔧 Override Undertow's defaults so that the request URL of a forwarded request is spec-compliant and make it configurable via an application property #23619
- 🔧 Use a Property named mainClass to configure the main class name in the Gradle plugin #23608
- ✂ Remove org.synchronoss.cloud:nio-multipart-parser from spring-boot-starter-webflux in favour of WebFlux's own parser #23601
- ➕ Address inconsistencies in enabling configuration properties #23593
- ➕ Add configuration properties for Flyway 7.0's new configuration options #23579
- 👉 Use JdbcTransactionManager in favor of DatasourceTransactionManager #23572
- 🗄 Deprecate HSQL in EmbeddedDatabaseConnection and add HSQLDB as its preferred replacement #23565
- ➕ Add configuration option to configure RabbitConnectionFactory's channelRpcTimeout #23564
- 🏗 Avoid resolving configurations unnecessarily when building a layered jar #23528
- ➕ Add BootstrapContext methods that deal with missing registrations #23438
- 🔧 Configure the bootBuildInfo task lazily #23435
- 🏗 When building with Gradle, include project dependencies in the application layer by default and make it easer to customise their location #23431
- 👍 Allow users to define their own LocaleContextResolver bean when using WebFlux #23419
- ➕ Add support for Oracle UCP #23403
- 🏗 Configure Docker host in build plugins #23400
- 👍 Allow to create a custom RestTemplateBuilder whilst retaining default auto-configuration #23389
- 🔧 Don't apply MeterFilter to auto-configured composite registry #23381
- ➕ Add configuration option to customize RSocketServer's fragment size #23247
- 👌 Improve CassandraHealthIndicator with more robust mechanism #23041
- 👍 Allow binding to collections when a boolean 'is' method also exists #23007
- 0️⃣ Stop registering the default servlet by default #22915
- ➕ Add support for Redis 6 authentication with username #22702
- 🔦 Expose cache metrics for RedisCache #22701
- 🔧 Configure ApplicationContext's ResourceLoader on RabbitConnectionFactory #22332
- ➕ Add origin support for empty YAML list and map #21704
- ➕ Add support for publishing docker images to a registry #21001
- ➕ Add support for Hazelcast 4 #20856
🍱 🐞 Bug Fixes
- Setting server.undertow.eager-filter-init has no effect #23677
- 🔧
@ConfigurationPropertiesBinding
does not apply Formatter beans #23615 - 🏗 spring-boot-configuration-processor prevents builds from being incremental when source retention annotations are present #23580
- H2 Console error with AbstractRoutingDataSource #23570
- When using embedded Jetty, an error response to a HEAD request has a body #23557
- Custom layer definition does not pick up snapshots #23541
- 🔧 Datasource initialisation with JPA schema configured in deferred mode happens asynchronously #23535
- Dependency management for Netty tcNative does not include its netty-tcnative module #23509
- PropertiesLauncher requires spring-core on the classpath #23501
- 0️⃣ Log4j's tag library doesn't work out of the box as log4j-*.jar is skipped by default #23482
- 🔧 DataSourceBuilder should only alias a property when the expected DataSource is configured #23480
- ✅ Unexpected application context cache hit when testing with SpringBootTest webEnvironment MOCK and DEFINED_PORT #23478
- 🔧 Log4j2 configuration is not picking up some properties #23430
- 🔧 Flyway configuration ignores init-sqls when using spring.datasource.* properties #23409
- Kubernetes configmap hidden files are exposed as property sources #23232
📔 Documentation
- 🛠 Fix XML tag in image publishing example #23632
- ✅ Document that
@DataNeo4jTest
does not support transactional tests with a reactive setup #23630 - 🔧 Document that a reactive transaction manager is not auto-configured with Spring Data Neo4j #23629
- 🏗 Document how JAVA_OPTS can be used with the buildpack #23626
- ➕ Add example of default Cloud Native Buildpacks Builder #23623
- ➕ Add upgrading section to reference docs with a link to the wiki #23612
- ➕ Add example of setting system property in gradle bootRun #23599
- 🛠 Fix typos in reference documentation and contributing guidelines #23573
- 📇 Update configuration metadata appendix to remove description for Gradle 4.5 and earlier as it is no longer supported #23568
- 🔧 Provide both properties and YAML for each configuration properties example #23515
- ➕ Add reference to desensitization spring boot starter #23507
- 🛠 Fix typos #23465
- 🛠 Fix link to Log4j's JDK Logging Adapter in reference documentation #23462
- 🛠 Fix typo #23456
- Revisit hint on using classpath* for retrieving templates #23453
- 🔧 Note the Kt class name suffix when describing how to configure a Kotlin application's main class name #23423
- ➕ Add anchor links to section headers in Gradle and Maven plugin reference docs #23407
⬆️ 🔨 Dependency Upgrades
- ⬆️ Upgrade to Byte Buddy 1.10.17 #23639
- ⬆️ Upgrade to Caffeine 2.8.6 #23640
- ⬆️ Upgrade to Commons DBCP2 2.8.0 #23641
- ⬆️ Upgrade to Couchbase Client 3.0.9 #23642
- ⬆️ Upgrade to Dropwizard Metrics 4.1.13 #23643
- ⬆️ Upgrade to Elasticsearch 7.9.2 #23644
- ⬆️ Upgrade to Flyway 7.0.2 #23645
- ⬆️ Upgrade to Hazelcast 4.0.3 #23475
- ⬆️ Upgrade to Hazelcast Hibernate5 2.1.1 #23476
- ⬆️ Upgrade to Hibernate 5.4.22.Final #23646
- ⬆️ Upgrade to Hibernate Validator 6.1.6.Final #23647
- ⬆️ Upgrade to HtmlUnit 2.44.0 #23648
- ⬆️ Upgrade to HttpClient 4.5.13 #23649
- ⬆️ Upgrade to Infinispan 11.0.4.Final #23650
- ⬆️ Upgrade to Jackson Bom 2.11.3 #23651
- ⬆️ Upgrade to Jersey 2.32 #23652
- ⬆️ Upgrade to Jetty 9.4.32.v20200930 #23653
- ⬆️ Upgrade to jOOQ 3.13.5 #23654
- ⬆️ Upgrade to JUnit 4.13.1 #23655
- ⬆️ Upgrade to Kotlin 1.4.10 #23656
- ⬆️ Upgrade to Kotlin Coroutines 1.4.0-M1 #23678
- 🚀 Upgrade to Lettuce 6.0.0.RELEASE #23657
- ⬆️ Upgrade to Liquibase 3.10.3 #23658
- ⬆️ Upgrade to Lombok 1.18.14 #23659
- ⬆️ Upgrade to MariaDB 2.7.0 #23660
- ⬆️ Upgrade to Mockito 3.5.13 #23661
- ⬆️ Upgrade to OAuth2 OIDC SDK 8.22 #23673
- ⬆️ Upgrade to Postgresql 42.2.17 #23662
- ⬆️ Upgrade to QueryDSL 4.4.0 #23663
- ⬆️ Upgrade to Reactor 2020.0.0-RC2 #23621
- ⬆️ Upgrade to RSocket 1.1.0-RC1 #23637
- ⬆️ Upgrade to RxJava2 2.2.20 #23664
- ⬆️ Upgrade to Selenium HtmlUnit 2.44.0 #23665
- ⬆️ Upgrade to SendGrid 4.6.6 #23666
- ⬆️ Upgrade to Spring AMQP 2.3.0-RC1 #23680
- ⬆️ Upgrade to Spring Data 2020.0.0-RC2 #23594
- ⬆️ Upgrade to Spring Framework 5.3.0-RC2 #23534
- ⬆️ Upgrade to Spring Integration 5.4.0-RC1 #23695
- ⬆️ Upgrade to Spring Kafka 2.6.2 #23679
- 🔒 Upgrade to Spring Security 5.4.1 #23667
- ⬆️ Upgrade to Tomcat 9.0.39 #23668
- ⬆️ Upgrade to Undertow 2.2.2.Final #23669
🍱 ❤️ Contributors
🚀 We'd like to thank all the contributors who worked on this release!
-
v2.4.0-M3 Changes
September 17, 2020🍱 ⭐ New Features
- 👍 Allow trailing whitespace on properties document split marker #23399
- ➕ Add startup Actuator endpoint #23213
- 👌 Support constructor binding on 3rd party classes #23172
- ➕ Add mainApplicationClass information as a tag to "starting" StartupStep #23162
- 👍 Allow EntityScanner to be extended to provide a custom ClassPathScanningCandidateComponentProvider #23154
- 👍 Allow redis's connect and read/command timeouts to be configured separately #23137
- 👍 Allow default binder to work with multiple constructors #23117
- Avoid unnecessary reflection in TaskExecutorBuilder #23107
- ➕ Add global optional config data opt-out #23097
- 🔧 Provide a property for configuring Spring AMQP's address shuffle mode #23091
- 📇 Generate a default value in the metadata for configuration properties initialised with Period.ZERO and Duration.ZERO #23082
- 🛠 Fix some typos in tests #23050
- 🔧 Provide a configuration property for Kafka listener container's idleBetweenPolls #23048
- 📇 Configure SAML 2.0 Service Provider via Metadata #23045
- Fail if import locations are not found #23032
- Provide a simple Instantiator utility class #23029
- 👍 Allow placeholders to be used in config import locations #23020
- 👌 Improve origin of imported config #23018
- 📇 Rename CompositeMeterRegistryAutoConfiguration #22988
- 🔧 Auto-configure ConcurrentKafkaListenerContainerFactory with a user-provided RecordFilterStrategy bean if available #22973
- 👌 Support authentication from Docker daemon to private docker registry. #22972
- ➕ Add a registry to support long lived instances during environment processing #22956
- 📇 Rename neo4j.version to neo4j-java-driver.version #22952
- ⏪ Restore support for spring.profiles.include for non profile specific documents #22944
- 🔧 Mark
bootArchives
as nonresolvable configuration in Gradle plugin to better convey its purpose #22943 - 🔧 Make GridFsTemplate's bucket configurable #22854
- Align WebClient uri metric tag with RestTemplate's #22832
- 🔒 Disable default security configuration when SecurityFilterChain bean is present #22739
- Provide a buffering implementation for application startup metrics #22603
- ✂ Remove Elasticsearch RestClient auto-configuration #22358
- 👌 Support loading external configuration from files with no file extension #22280
- Exclude empty starters jars and annotation processors when running or packaging with Maven and Gradle #22036
- 👉 Make Devtools file detection more resilient across application restarts #19543
- ➕ Add SSL support to RSocketServer #19399
🍱 🐞 Bug Fixes
- spring-boot-dependencies should not define a spring-boot.version property #23378
- 🔧 @ManagementContextConfiguration is meta-annotated with @configuration(proxyBeanMethods=false) which does not disable proxying #23306
- 🐎 Signed jar dependency performance problem when repackaged in a single jar #23265
- ValidationHandler no longer works with certain map keys #23261
- MVC error model unnecessarily requires timestamp entry to be a java.util.Date #23259
- Missing sanitization in lists of URIs properties on actuator endpoints #23253
- Cassandra's pool duration mapping uses a wrong duration unit #23251
- PropertiesLauncher fails to load PBKDF-OpenSSL of bcprov-jdk15on-1.64.jar #23241
- ErrorPageFilter is no longer ordered at HIGHEST_PRECEDENCE + 1 #23205
- 🔊 When using HSQLDB, Hikari logs a warning message about the driver class name when the first connection is retrieved from the pool #23204
- Large files can throw YAMLException due to node limits #23153
- 🔧 Configurable SSL Logback extensions can't be supported due to URL checks #23136
- 🏗 Image building support does not zero-pad digest hashes to 64 characters #23134
- 🏗 Image builder fails silently when there's an error loading the ephemeral image #23133
- RSocketPortInfoApplicationContextInitializer can throw NPE #23089
- Dependency convergence error for nimbus-jose-jwt when depending on spring-boot-starter-oauth2-client #23072
- UndertowWebServerFactoryCustomizer requires commons lang via an unintended import on ClassUtils #23064
- 🔧 Freemarker is configured to prefer filesystem access by default #23051
- 🏗 Too much logging when building an OCI image with Maven #23015
- LayoutFactory can be presented with empty source file #23001
- Extracting layers with layertools doesn't work with executable JAR files #23000
- JarFile can cause memory issues when running on Java 11+ #22999
- 🔧 Metrics auto-configurations are not ordered correctly #22990
- 🗄 Exception inclusion cannot be disabled when sub-classing DefaultErrorAttributes and using its deprecated constructor #22984
- The @TypeExcludeFilters annotation is not @inherited #22967
- ⚡️ Update transaction auto-configuration to backoff if a TransactionManager is defined #22851
- 0️⃣ MongoClientFactorySupport overrides existing uuidRepresentation with MongoProperties default value #22321
📔 Documentation
- 🔧 Document that @ConfigurationProperties beans are not scanned in sliced tests #23244
- 🏗 Document that buildpacks use non-root users for building container images and running containers #23201
- ➕ Add reference to AOProfiling Spring Boot starter #23161
- 🏗 Document setting buildpack Java version from compiler plugin version #23148
- Document how to perform tasks after application startup #23145
- 🛠 Fix documentation on Elasticsearch client configuration #23144
- 📚 Update Maven Plugin's documentation to note the importance of configuring start and stop goals with the same JMX port #23143
- 🔧 Document how to use spring.factories to add auto-configuration to a test slice #23142
- Document that graceful shutdown may not work from IDEs #23140
- 📚 Provide examples of Actuator custom endpoints in the reference documentation #23061
- ➕ Add Hyperledger Fabric for Spring Boot Starter to the community starters #23058
- ✅ Mention correct JUnit 5 annotations in Kotlin testing section #23005
- 🛠 Fix Gradle Plugin custom image name example and documentation #22980
- Javadoc inaccuracy in SpringApplicationBuilder.properties(Properties) #22965
- 🛠 Fix typo
Assert4J
->AssertJ
#22961 - 👍 Document that Java 15 is a supported version #22366
- 📚 Publish Actuator API and Maven/Gradle plugin reference documentation under htmlsingle #21585
- ➕ Add more anchors in the properties appendix #16267
⬆️ 🔨 Dependency Upgrades
- ⬆️ Upgrade to SendGrid 4.6.5 #23397
- ⬆️ Upgrade to Micrometer 1.5.5 #23396
- ⬆️ Upgrade to Flyway 6.5.6 #23395
- ⬆️ Upgrade to Spring Kafka 2.6.1 #23382
- 🚀 Upgrade to Spring REST Docs 2.0.5.RELEASE #23377
- ⬆️ Upgrade to Mockito 3.5.10 #23368
- ⬆️ Upgrade to Undertow 2.2.0.Final #23367
- ⬆️ Upgrade to Thymeleaf Layout Dialect 2.5.1 #23366
- ⬆️ Upgrade to SnakeYAML 1.27 #23365
- ⬆️ Upgrade to Postgresql 42.2.16 #23364
- ⬆️ Upgrade to Pooled JMS 1.2.0 #23363
- ⬆️ Upgrade to InfluxDB Java 2.20 #23362
- ⬆️ Upgrade to Artemis 2.15.0 #23361
- ⬆️ Upgrade to Lettuce 6.0.0.RC2 #23360
- ⬆️ Upgrade to Tomcat 9.0.38 #23359
- 🚀 Upgrade to Spring WS 3.0.10.RELEASE #23358
- ⬆️ Upgrade to SendGrid 4.6.4 #23357
- ⬆️ Upgrade to R2DBC Bom Arabba-SR7 #23356
- ⬆️ Upgrade to Nimbus JOSE JWT 9.0.1 #23355
- ⬆️ Upgrade to OAuth2 OIDC SDK 8.19.2 #23354
- ⬆️ Upgrade to Netty tcNative 2.0.34.Final #23353
- ⬆️ Upgrade to Netty 4.1.52.Final #23352
- ⬆️ Upgrade to JUnit Jupiter 5.7.0 #23351
- ⬆️ Upgrade to Hibernate 5.4.21.Final #23350
- ⬆️ Upgrade to Hazelcast 3.12.9 #23349
- ⬆️ Upgrade to Flyway 6.5.5 #23348
- ⬆️ Upgrade to Elasticsearch 7.9.1 #23347
- ⬆️ Upgrade to Ehcache3 3.9.0 #23346
- ⬆️ Upgrade to Couchbase Client 3.0.8 #23345
- ⬆️ Upgrade to Commons Codec 1.15 #23344
- ⬆️ Upgrade to Cassandra Driver 4.9.0 #23343
- ⬆️ Upgrade to AppEngine SDK 1.9.82 #23342
- 🔒 Upgrade to Spring Security 5.4.0 #23225
- ⬆️ Upgrade to RSocket 1.1.0-M2 #23214
- ⬆️ Upgrade to Spring Data 2020.0.0-RC1 #23197
- ⬆️ Upgrade to Spring Batch 4.3.0-RC1 #23189
- ⬆️ Upgrade to Spring Session 2020.0.0-RC1 #23188
- ⬆️ Upgrade to Assertj 3.17.2 #23179
- ⬆️ Upgrade to Spring Framework 5.3 RC1 #23170
- ⬆️ Upgrade to Reactor 2020.0.0-RC1 #23065
- ⬆️ Upgrade to Kotlin Coroutines 1.3.9 #23025
- ⬆️ Upgrade to Kotlin 1.4.0 #23024
- ⬆️ Upgrade to Spring AMQP 2.3.0-M3 #23011
- ⬆️ Upgrade to Spring Integration 5.4.0-M3 #23010
🍱 ❤️ Contributors
🚀 We'd like to thank all the contributors who worked on this release!
-
v2.4.0-M2 Changes
August 13, 2020🍱 ⭐ New Features
- 🔧 Prefer non-reflective access to ConfigurationClassPostProcessor #22858
- 0️⃣ Do not include cookie headers in HTTP traces by default #22829
- Jetty with Conscrypt no longer a requirement for easy HTTP/2 #22826
- ➕ Add no-pull option for image building #22736
- 👉 Use new core framework r2dbc support #22708
- Fail hard if spring.profiles.include is used with new config processing #22693
- 👍 Allow DurationFormat and PeriodFormat to be used on parameters #22646
- 👍 Allow for programatic access to new ConfigDataEnvironment processing #22601
- Instrument SpringBootApplication for application startup metrics #22600
- ➕ Add configuration to disable Redis Cluster dynamic sources refresh #22571
- 👍 Allow Jedis to be selected when both Jedis and Lettuce are on the classpath #22569
- ➕ Add basic auth support for Prometheus pushgateway #22548
- ➕ Add functional constructor to EnvironmentPostProcessorApplicationListener #22529
- ➕ Add support for profile groups #22522
- 0️⃣ Extract DefaultPropertiesPropertySource class #22520
- ➕ Add plugin management for liquibase-maven-plugin #22499
- ➕ Add CloudPlatform.isEnforced that uses a Binder #22498
- 👍 Replace ConfigFileApplicationListener and rework application properties support #22497
- ➕ Add DeferredLogFactory support #22496
- ➕ Add multi-document properties file support #22495
- ➕ Add ConfigurationPropertySource.from factory method #22494
- ➕ Add @name support for value object binding #22492
- 👌 Improve Liveness/Readiness health indicators and probes configuration #22483
- ✂ Remove version management for exec-maven plugin #22397
- 0️⃣ Make DefaultErrorAttributes easier to subclass for message customization #22378
- ➕ Add properties for Netty HttpDecoderSpec #22367
- 💅 Avoid unnecessary allocations in ConditionMessage for NORMAL style #22331
- 👍 Allow SpringApplication to create its application context without requiring reflection #22322
- ➕ Add failure analyzer for missing Liquibase changelog #22320
- Switch Neo4j health checks to the new Neo4j driver #22302
- ➕ Add auto-configuration for Neo4j driver #22301
- ⬆️ Upgrade to Spring Data Neo4j 6 #22299
- Measure with nanoseconds in HttpExchangeTracer #22266
- 👌 Support configuration of localEntityIdTemplate for a SAML Relying Party #22258
- ➕ Add a property to not create HealthIndicators from AbstractRoutingDatasources #22222
- ➕ Add support for reactive Elasticsearch healthcheck #22215
- 👌 Support incremental annotation processing with Gradle #22150
- 👍 Allow exclude only health groups #22053
- 🔧 Auto-configure Rabbit connection factory with CredentialsProvider and CredentialsRefreshService when available #22016
- 👍 Allow specifying unit type of configuration property when injected via constructor #21746
- ➕ Add option to configure PathPatternParser in Spring MVC #21694
- ➕ Add support for easily disabling metrics export #21658
- 👌 Support iso offset time and date-time conversion with MVC and WebFlux by setting time or date-time properties to iso-offset #21630
- ➕ Add properties to control exceptions ignored by LdapTemplate #21289
- 👌 Support additional R2DBC pool properties #21219
- 0️⃣ Switching default to include layers index for fat jar #20983
- ➕ Add support for creating property sources from volume-mounted Kubernetes ConfigMaps and Secrets #19990
- ➕ Add a test slice for Spring Data Cassandra #17490
- 🔧 Consider spring.profiles.default when processing configuration files #15994
- Application properties outside of jar should take precedence over profile-specific variants inside the jar #3845
🍱 🐞 Bug Fixes
- MustacheEnvironmentCollector with nullValue compiler option no longer works in version 2.3.1 #22938
- Externalized Configuration ignores null values in SPRING_APPLICATION_JSON #22897
- CouchbaseCacheManager can no longer be customized using CacheManagerCustomizer #22874
- Requests that should be handled by an additional DispatcherServlet result in a 404 response #22856
- Legacy endpoint ids with '-' do not migrate cleanly #22850
- When Reactor's debug agent fails to initialize, the cause of the failure is discarded #22848
- StartupStep are closed twice in SpringApplicationRunListeners #22776
- 🏗 OCI image build fails if environment has any empty properties #22735
- Kubernetes readiness probe endpoint returning 404 #22698
- 👍 NPE in BeanDefinitionLoader when loading non-Class sources and XML support is disabled #22696
- 👀 LiquibaseEndpoint does not report change sets from ancestor contexts #22687
- 🚀 Async exceptions not handled by error pages in war deployments #22673
- XADataSourceAutoConfiguration is difficult to use with DB2XADataSource as it does not have a URL property #22642
- 🔧 TaskExecutorBuilder only uses second-precision when configuring the await termination period #22612
- Profile groups are not applied to the environment #22605
- 🔧 Setting ignoreInvalidFields=true on @ConfigurationProperties causes unknown fields to be ignored as well #22586
- Spring Boot 2.3.2: new context is created for every IT class if SpyBean is used #22584
- ⚠ Background preinitialisation may cause Jackson2ObjectMapperBuilder's Kotlin detection warning to be silently dropped #22581
- 👍 UndertowWebServerFactoryCustomizer does not support Options but only UndertowOptions #22579
- ✅ WebMvcTest and WebFluxTest do not include Jackson Module beans #22577
- CouchbaseCacheConfiguration is not ordered properly #22568
- 📇 AbstractRepositoryConfigurationSourceSupport does not override registerBeanDefinitions(AnnotationMetadata, BeanDefinitionRegistry) #22546
- Filter empty YAML documents #22493
- 🔊 Numerous logs mentioning a failed JNDI lookup when using Jetty #22419
- ConditionMessage#items throws an NPE with a null list of items although the Javadoc states it is tolerated #22357
- 🏗 Image building fails with an unhelpful error message when building an image from a jar that includes the launch script #22349
- 🔌 Temporary files not cleaned up after Maven plugin execution #22328
- 🔧 OnClassCondition tries to determine the outcome for single auto-configuration classes in parallel #22327
- 🔧 ConfigurationPropertiesBeanDefinitionValidator interferes with EclipseLink load-time weaving #22326
- 🏗 Image building fails when DOCKER_HOST is set to a local socket prefixed with unix:// #22304
- A WebFlux app that depends on com.amazonaws:DynamoDBLocal fails to start #22283
- 🔧 The failure when spring.redis.url is configured with a redis-sentinel:// URL is hard to diagnose #22272
- ✅ Property spring.autoconfigure.exclude ignored by test slices #22263
- 🔒 OAuth2ResourceServerAutoConfiguration does not back off completely when spring-security-oauth2-resource-server is not on the classpath #22255
- 0️⃣ NullPointerException in ErrorPageFilter when a MissingServletRequestParameterException is thrown and there's no DefaultHandlerExceptionResolver #22250
- 👍 Period conversion does not support a ChronoUnit of WEEKS but supports weeks in ISO-8601 (e.g. P2W) and simple (e.g. 2w) formats #22238
- ⚠ Layered bootJar task causes warnings when custom source set is present in the project #22202
- @ConditionalOnSingleCandidate does not match when there is a single candidate that is a scoped bean #22198
- 🚚 Kafka Stream consumer metrics were lost in the move away from KafkaConsumerMetrics #22196
- 🏗 NPE in spring-boot-maven-plugin:build-image when setting custom builder that is not a builder #22180
- 🔧 Accept empty filter dispatcher types in auto-configurations #22176
- ⚠ TomcatMetricsBinder may log a warning for an NPE if the context is closed before the ApplicationStartedEvent is published #22168
- Resource loading fails in Tomcat when Spring Boot is loaded from the common class loader #22160
- 🔧 Inconsistent configuration ordering with profiles #18199
- Conditional documents in profile specific file are not loaded consistently #11109
📔 Documentation
- 📚 PushGateway documentation does not document enabled flag properly #22931
- 0️⃣ Default value of server.jetty.accesslog.format is wrongly associated to server.forward-headers-strategy #22928
- Use wildcard in BP_JVM_VERSION with image building #22923
- 🔧 Kotlin examples for configuring bootBuildImage's environment use wrong map configuration syntax #22917
- 🔧 Mention configuration customizers for WebTestClient and RestAssured in AutoConfigureRestDocs' javadoc #22911
- 🌐 Document how to discover the HTTP Port at Runtime for both Servlet and Reactive web apps #22900
- 🔧 Document that spring-boot-configuration-processor cannot detect default value defined externally #22891
- 🔧 Document that application.conf is not read by default when using the Cassandra auto-configuration #22889
- 🛠 Fix wrong reference in
ReadinessStateHealthIndicator
javadoc #22846 - 📄 Docs say Health's inner
details
section may contain components #22775 - ✅ Recommend the use of AopTestUtils.getTargetObject() when setting expectations on a spied bean that Spring has proxied #22759
- Document that schema.sql and data.sql will still be run when using Flyway or Liquibase but discourage their use #22749
- 🛠 Fix broken links to Micrometer registry docs #22707
- Document properties to enable probe health indicators #22697
- 🔌 Document how to use Gradle's native bom support as an alternative to the dependency management plugin #22678
- 🔧 Document how to opt back in to DataSource auto-configuration when using R2DBC #22677
- 📚 Clarify documentation on use of @AutoConfigureRestDocs with WebTestClient #22670
- 👍 Document Spring Data Neo4j 6 support #22652
- 📚 Update metrics documentation to note the benefits of using a MeterBinder when registering a metric that relies on other beans #22630
- 📚 Include a hint where to find documentation for DevTools in docs overview #22623
- ➕ Add ElasticsearchReactiveHealthIndicator to docs #22619
- 🛠 Fix link to Elasticsearch health indicator #22618
- 🔗 Link to App Engine Standard sample not working #22609
- 👌 Improve documentation about swapping one technical starter for another #22597
- Document how to use MongoClientSettingsBuilderCustomizer #22590
- 🔧 Document the need for configuration files to have a file extension #22588
- 🔧 Document that java.util.Optional is not recommended with ConfigurationProperties #22575
- 📇 Typo in metadata for "management.health.readinessstate.enabled" #22561
- 📚 Overhaul "externalized configuration" documentation #22521
- 📚 Update the documentation to avoid trivialising what the reader's learning about #22411
- 🏗 Restructure "Building Container Images" section #22360
- 🔧 Clarify the effect of ordering auto-configuration #22340
- 📚 Update documentation to reflect the web server now being started immediately before the ContextRefreshedEvent is published #22316
- 🛠 Fix dead link url and name of the STS download link #22274
- Clarify locations inside and outside the jar from which properties are loaded #22265
- 📄 Rename NoneOfNestedConditions to NoneNestedConditions in example docs #22247
- 📇 Update metadata for WebFlux time and date-time properties to offer iso-offset as a suggested value #22174
- ➕ Add package info for org.springframework.boot.autoconfigure.elasticsearch.rest #22173
- ⚡️ Update layers.idx file example in docs #22152
⬆️ 🔨 Dependency Upgrades
- ⬆️ Upgrade to Selenium HtmlUnit 2.43.1 #22937
- ⬆️ Upgrade to Micrometer 1.5.4 #22936
- ⬆️ Upgrade to Flyway 6.5.4 #22935
- ⬆️ Upgrade to Spring HATEOAS 1.2.0-M1 #22893
- ⬆️ Upgrade to Spring Batch 4.3.0-M2 #22892
- ⬆️ Upgrade to Versions Maven Plugin 2.8.1 #22884
- ⬆️ Upgrade to Selenium HtmlUnit 2.43.0 #22883
- ⬆️ Upgrade to Pooled JMS 1.1.2 #22882
- ⬆️ Upgrade to Maven Resources Plugin 3.2.0 #22881
- 🚀 Upgrade to Lettuce 5.3.3.RELEASE #22880
- ⬆️ Upgrade to Kotlin Coroutines 1.3.8 #22879
- ⬆️ Upgrade to HtmlUnit 2.43.0 #22878
- ⬆️ Upgrade to Hibernate 5.4.20.Final #22877
- ⬆️ Upgrade to Dropwizard Metrics 4.1.12.1 #22876
- 🚀 Upgrade to Dependency Management Plugin 1.0.10.RELEASE #22875
- ⬆️ Upgrade to Mockito 3.4.6 #22838
- ⬆️ Upgrade to Tomcat 9.0.37 #22818
- ⬆️ Upgrade to SQLite JDBC 3.32.3.2 #22817
- 🚀 Upgrade to Spring HATEOAS 1.1.1.RELEASE #22816
- ⬆️ Upgrade to Solr 8.5.2 #22815
- ⬆️ Upgrade to SendGrid 4.6.3 #22814
- ⬆️ Upgrade to Netty 4.1.51.Final #22812
- ⬆️ Upgrade to MySQL 8.0.21 #22811
- ⬆️ Upgrade to MongoDB 4.1.0 #22810
- ⬆️ Upgrade to Micrometer 1.5.3 #22809
- ⬆️ Upgrade to Maven War Plugin 3.3.1 #22808
- ⬆️ Upgrade to MariaDB 2.6.2 #22807
- ⬆️ Upgrade to Liquibase 3.10.2 #22806
- ⬆️ Upgrade to Spring AMQP 2.3.0-M2 #22761
- ⬆️ Upgrade to RSocket 1.1.0-M1 #22751
- ⬆️ Upgrade to Spring Kafka 2.6.0-M1 #22730
- ⬆️ Upgrade to Spring Integration 5.4.0-M2 #22729
- ⬆️ Upgrade to Couchbase Client 3.0.7 #22688
- 🔒 Upgrade to Spring Security 5.4.0-RC1 #22668
- ⬆️ Upgrade to Reactor 2020.0.0-M2 #22667
- ⬆️ Upgrade to Elasticsearch 7.8.1 #22648
- ⬆️ Upgrade to Spring Data 2020.0.0-M2 #22647
- ⬆️ Upgrade to Spring Framework 5.3.0-M2 #22640
- ⬆️ Upgrade to Groovy 2.5.13 #22527
- ⬆️ Upgrade to R2DBC Arabba-SR6 #22395
- ⬆️ Upgrade to Infinispan 11.0.1.Final #22286
- ⬆️ Upgrade to Maven Shade Plugin 3.2.4 #22228
🍱 ❤️ Contributors
🚀 We'd like to thank all the contributors who worked on this release!
-
v2.4.0-M1 Changes
June 29, 2020🍱 ⭐ 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
- 0️⃣ 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!
-
v2.3.6.RELEASE Changes
November 12, 2020🍱 🐞 Bug Fixes
- 📇 Configuration metadata annotation processor may use the wrong accessor for boolean properties #24058
- When using Tomcat, key and trust store passwords set via javax.net.ssl system properties are overwritten with null when Spring Boot's equivalent properties have not been set #24052
- ✅
@DataJpaTest
using H2 with schema.sql and spring.datasource.schema-username fails #24023 - JdbcStoreTypeConfiguration picks transaction of primary data source when Quartz data source is not the primary data source #24014
- ✅ TestTypeExcludeFilter does not implement hashCode and equals as required by its super-class #24012
- 🔧 Our auto-configuration should not use
@PostConstruct
as it's ignored on Java 11+ without a dependency on jakarta-annotation-api #24009 - Config files no longer loaded if they contain a hidden path element #23983
- "java.lang.IllegalStateException: zip file closed" when call JarFileWrapper.stream() of spring-boot-loader #23821
📔 Documentation
- 🛠 Fix link to Flyway callback docs #24121
- Provide more details about overriding SpringPhysicalNamingStrategy's case insensitive flag #24060
- 📚 Clarify documentation regarding relaxed binding of environment variables #24032
- ✨ Enhance spring.datasource.initialization-mode property description #24029
- Recommend disabling context path redirects when using proxy-terminated SSL with Tomcat #24025
- 👌 Improve Spring Session back off documentation #24018
- ✅ Clarify the javadoc of AutoConfigureTestDatabase to make it clearer that it only replaces the main DataSource #24006
- Recommend that bean definitions provide as much type information as possible #24004
- ➕ Add missing default value for enum-based configuration properties #23991
⬆️ 🔨 Dependency Upgrades
- ⬆️ Upgrade to AppEngine SDK 1.9.83 #24077
- ⬆️ Upgrade to Byte Buddy 1.10.18 #24078
- ⬆️ Upgrade to Couchbase Client 3.0.10 #24079
- ⬆️ Upgrade to Hibernate 5.4.23.Final #24080
- ⬆️ Upgrade to Jetty 9.4.34.v20201102 #24046
- ⬆️ Upgrade to jOOQ 3.13.6 #24081
- ⬆️ Upgrade to Micrometer 1.5.7 #24050
- ⬆️ Upgrade to Neo4j OGM 3.2.18 #24125
- ⬆️ Upgrade to Netty 4.1.54.Final #24124
- ⬆️ Upgrade to Reactor Dysprosium-SR14 #24109
- ⬆️ Upgrade to Spring Framework 5.2.11 #24034
- ⬆️ Upgrade to Spring Integration 5.3.4 #24096
- 🚀 Upgrade to Spring Kafka 2.5.8.RELEASE #24075
🍱 ❤️ Contributors
🚀 We'd like to thank all the contributors who worked on this release!
-
v2.3.5.RELEASE Changes
October 29, 2020🍱 🐞 Bug Fixes
- 🔧 Configuration property annotation processor does not notice overriding getter methods #23969
- 📇 Incremental compilation does not keep metadata for inner classes #23959
- ✅ HttpEncodingAutoConfiguration is not added to the WebMvcTest slice #23813
- Jar entries are duplicated in BOOT-INF/lib with layered jars and Maven #23801
- ⏱ server.servlet.session.timeout not in effect when using Jetty starter without jakarta.annotation and javax.annotation #23750
- If the JVM is killed while refresh is in progress, the shutdown hook does not close the context #23743
- Setting server.undertow.eager-filter-init has no effect #23676
- 🔧
@ConfigurationPropertiesBinding
does not apply Formatter beans #23614 - H2 Console error with AbstractRoutingDataSource #23569
- When using embedded Jetty, an error response to a HEAD request has a body #23555
- Custom layer definition does not pick up snapshots #23533
- BootJar.getConfigurations() should not be public API #23527
- Dependency management for Netty tcNative does not include its netty-tcnative module #23508
- PropertiesLauncher requires spring-core on the classpath #23500
- 0️⃣ Log4j's tag library doesn't work out of the box as log4j-*.jar is skipped by default #23481
- ✅ Unexpected application context cache hit when testing with SpringBootTest webEnvironment MOCK and DEFINED_PORT #23477
- 🔧 Log4j2 configuration is not picking up some properties #23428
- 🔧 Flyway configuration ignores init-sqls when using spring.datasource.* properties #23408
- 📜 Wildcard locations for configs causes files to be parsed multiple times on k8s #23160
- 🔧 Datasource initialisation with JPA schema configured in deferred mode happens asynchronously #22852
- 🏗 Maven plugin build-image creator step fails in Bitbucket pipelines #22840
📔 Documentation
- ✂ Remove version elements from Maven plugin documentation #23930
- 🔧 Document how to enable h2c via programmatic configuration #23812
- Note that using LiveReload requires Devtools restart to be enabled #23764
- ➕ Add upgrading section to reference docs with a link to the wiki #23611
- ➕ Add example of setting system property in gradle bootRun #23598
- 📇 Update configuration metadata appendix to remove description for Gradle 4.5 and earlier as it is no longer supported #23567
- 🛠 Fix typos in reference documentation and contributing guidelines #23561
- 🛠 Fix link to Log4j's JDK Logging Adapter in reference documentation #23461
- Revisit hint on using classpath* for retrieving templates #23452
- 👍 Document support for Java 15 #23448
- 🔧 Note the Kt class name suffix when describing how to configure a Kotlin application's main class name #23422
- ➕ Add anchor links to section headers in Gradle and Maven plugin reference docs #23406
- 🏗 Document how JAVA_OPTS can be used with the buildpack #21582
- 📚 Maven layers documentation is incomplete #21555
- 🔧 Document how to override attributes already specified in Maven plugin configuration #21536
- ➕ Add example of default Cloud Native Buildpacks Builder #19967
⬆️ 🔨 Dependency Upgrades
- ⬆️ Upgrade to Byte Buddy 1.10.17 #23865
- ⬆️ Upgrade to Caffeine 2.8.6 #23866
- ⬆️ Upgrade to Couchbase Client 3.0.9 #23867
- ⬆️ Upgrade to Dropwizard Metrics 4.1.14 #23868
- ⬆️ Upgrade to Hazelcast 3.12.10 #23869
- ⬆️ Upgrade to Hibernate 5.4.22.Final #23870
- ⬆️ Upgrade to Hibernate Validator 6.1.6.Final #23871
- ⬆️ Upgrade to HttpClient 4.5.13 #23872
- ⬆️ Upgrade to Jackson Bom 2.11.3 #23873
- ⬆️ Upgrade to Jetty 9.4.33.v20201020 #23874
- ⬆️ Upgrade to jOOQ 3.13.5 #23875
- ⬆️ Upgrade to JUnit 4.13.1 #23876
- ⬆️ Upgrade to JUnit Jupiter 5.6.3 #23915
- 🚀 Upgrade to Lettuce 5.3.5.RELEASE #23922
- ⬆️ Upgrade to Lombok 1.18.16 #23877
- ⬆️ Upgrade to Micrometer 1.5.6 #23791
- ⬆️ Upgrade to MySQL 8.0.22 #23878
- ⬆️ Upgrade to Neo4j OGM 3.2.17 #23879
- ⬆️ Upgrade to Netty 4.1.53.Final #23880
- ⬆️ Upgrade to Postgresql 42.2.18 #23881
- ⬆️ Upgrade to R2DBC Bom Arabba-SR8 #23882
- ⬆️ Upgrade to Reactor Dysprosium-SR13 #23770
- ⬆️ Upgrade to RSocket 1.0.3 #23911
- ⬆️ Upgrade to RxJava2 2.2.20 #23883
- ⬆️ Upgrade to Spring AMQP 2.2.12 #23784
- ⬆️ Upgrade to Spring Data Neumann-SR5 #23777
- ⬆️ Upgrade to Spring Framework 5.2.10 #23526
- ⬆️ Upgrade to Spring Integration 5.3.3 #23780
- ⬆️ Upgrade to Spring Kafka 2.5.7 #23787
- 🚀 Upgrade to Spring Security 5.3.5.RELEASE #23884
- ⬆️ Upgrade to Tomcat 9.0.39 #23885
🍱 ❤️ Contributors
🚀 We'd like to thank all the contributors who worked on this release!
-
v2.3.4.RELEASE Changes
September 17, 2020🍱 🐞 Bug Fixes
- 🔧
@ManagementContextConfiguration
is meta-annotated with@Configuration(proxyBeanMethods=false)
which does not disable proxying #23305 - 🐎 Signed jar dependency performance problem when repackaged in a single jar #23264
- ValidationHandler no longer works with certain map keys #23260
- MVC error model unnecessarily requires timestamp entry to be a java.util.Date #23258
- Missing sanitization in lists of URIs properties on actuator endpoints #23252
- Cassandra's pool duration mapping uses a wrong duration unit #23249
- 🔊 When using HSQLDB, Hikari logs a warning message about the driver class name when the first connection is retrieved from the pool #23203
- ErrorPageFilter is no longer ordered at HIGHEST_PRECEDENCE + 1 #23200
- spring-boot-dependencies should not define a spring-boot.version property #23174
- PropertiesLauncher fails to load PBKDF-OpenSSL of bcprov-jdk15on-1.64.jar #23165
- 🔧 Configurable SSL Logback extensions can't be supported due to URL checks #23135
- 🏗 Image building support does not zero-pad digest hashes to 64 characters #23132
- 🏗 Image builder fails silently when there's an error loading the ephemeral image #23130
- Large files can throw YAMLException due to node limits #23096
- RSocketPortInfoApplicationContextInitializer can throw NPE #23087
- UndertowWebServerFactoryCustomizer requires commons lang via an unintended import on ClassUtils #23063
- JarFile can cause memory issues when running on Java 11+ #22998
- Dependency convergence error for nimbus-jose-jwt when depending on spring-boot-starter-oauth2-client #22996
- LayoutFactory can be presented with empty source file #22995
- 🔧 Metrics auto-configurations are not ordered correctly #22989
- The
@TypeExcludeFilters
annotation is not@Inherited
#22966 - 🗄 Exception inclusion cannot be disabled when sub-classing DefaultErrorAttributes and using its deprecated constructor #22750
- 🏗 Too much logging when building an OCI image with Maven #22674
📔 Documentation
- 🔧 Document that
@ConfigurationProperties
beans are not scanned in sliced tests #23243 - 🛠 Fix documentation on Elasticsearch client configuration #23074
- 📚 Provide examples of Actuator custom endpoints in the reference documentation #23060
- ✅ Mention correct JUnit 5 annotations in Kotlin testing section #23004
- Document that extracting layers with layertools doesn't work with executable JAR files #22993
- Javadoc inaccuracy in SpringApplicationBuilder.properties(Properties) #22964
- 🛠 Fix typo
Assert4J
->AssertJ
#22960 - Document that graceful shutdown may not work from IDEs #22959
- 🛠 Fix typos in docs #22945
- 🛠 Fix Gradle Plugin custom image name example and documentation #22918
- 🔧 Document how to use spring.factories to add auto-configuration to a test slice #22531
- 📚 Update Maven Plugin's documentation to note the importance of configuring start and stop goals with the same JMX port #22401
- Document how to perform tasks after application startup #22100
- 🏗 Document setting buildpack Java version from compiler plugin version #21796
- 🏗 Document that buildpacks use non-root users for building container images and running containers #21122
⬆️ 🔨 Dependency Upgrades
- ⬆️ Upgrade to Micrometer 1.5.5 #23393
- 🚀 Upgrade to Spring REST Docs 2.0.5.RELEASE #23376
- ⬆️ Upgrade to Spring AMQP 2.2.11 #23373
- 🚀 Upgrade to Spring WS 3.0.10.RELEASE #23339
- 🚀 Upgrade to Spring HATEOAS 1.1.2.RELEASE #23338
- 🚀 Upgrade to Lettuce 5.3.4.RELEASE #23337
- ⬆️ Upgrade to Undertow 2.1.4.Final #23318
- ⬆️ Upgrade to Tomcat 9.0.38 #23317
- ⬆️ Upgrade to R2DBC Bom Arabba-SR7 #23316
- ⬆️ Upgrade to Postgresql 42.2.16 #23315
- ⬆️ Upgrade to Netty tcNative 2.0.34.Final #23314
- ⬆️ Upgrade to Netty 4.1.52.Final #23313
- ⬆️ Upgrade to Neo4j OGM 3.2.16 #23312
- ⬆️ Upgrade to Hibernate 5.4.21.Final #23311
- ⬆️ Upgrade to Hazelcast 3.12.9 #23310
- ⬆️ Upgrade to Flatten Maven Plugin 1.2.5 #23309
- ⬆️ Upgrade to Couchbase Client 3.0.8 #23308
- ⬆️ Upgrade to AppEngine SDK 1.9.82 #23307
- ⬆️ Upgrade to Spring Kafka 2.5.6 #23199
- ⬆️ Upgrade to Spring Data Neumann-SR4 #23196
- ⬆️ Upgrade to Reactor Dysprosium-SR12 #23192
- ⬆️ Upgrade to Spring Session Dragonfruit-SR1 #23187
- ⬆️ Upgrade to Spring Framework 5.2.9 #23183
🍱 ❤️ Contributors
🚀 We'd like to thank all the contributors who worked on this release!
- 🔧
-
v2.3.3.RELEASE Changes
August 13, 2020🍱 ⭐ New Features
- Jetty with Conscrypt no longer a requirement for easy HTTP/2 #22188
🍱 🐞 Bug Fixes
- Externalized Configuration ignores null values in SPRING_APPLICATION_JSON #22895
- Legacy endpoint ids with '-' do not migrate cleanly #22849
- When Reactor's debug agent fails to initialize, the cause of the failure is discarded #22847
- 🏗 OCI image build fails if environment has any empty properties #22703
- 👀 LiquibaseEndpoint does not report change sets from ancestor contexts #22686
- Requests that should be handled by an additional DispatcherServlet result in a 404 response #22682
- 🚀 Async exceptions not handled by error pages in war deployments #22672
- XADataSourceAutoConfiguration is difficult to use with DB2XADataSource as it does not have a URL property #22641
- 🔧 TaskExecutorBuilder only uses second-precision when configuring the await termination period #22611
- 🔧 Setting ignoreInvalidFields=true on @ConfigurationProperties causes unknown fields to be ignored as well #22585
- Spring Boot 2.3.2: new context is created for every IT class if SpyBean is used #22583
- ⚠ Background preinitialisation may cause Jackson2ObjectMapperBuilder's Kotlin detection warning to be silently dropped #22580
- 👍 UndertowWebServerFactoryCustomizer does not support Options but only UndertowOptions #22578
- ✅ WebMvcTest and WebFluxTest do not include Jackson Module beans #22576
- CouchbaseCacheManager can no longer be customized using CacheManagerCustomizer #22573
- Kubernetes readiness probe endpoint returning 404 #22562
- CouchbaseCacheConfiguration is not ordered properly #22542
- MustacheEnvironmentCollector with nullValue compiler option no longer works in version 2.3.1 #22039
📔 Documentation
- 📚 PushGateway documentation does not document enabled flag properly #22930
- 0️⃣ Default value of server.jetty.accesslog.format is wrongly associated to server.forward-headers-strategy #22921
- Use wildcard in BP_JVM_VERSION with image building #22916
- 🔧 Kotlin examples for configuring bootBuildImage's environment use wrong map configuration syntax #22913
- 🔧 Mention configuration customizers for WebTestClient and RestAssured in AutoConfigureRestDocs' javadoc #22910
- 🌐 Document how to discover the HTTP Port at Runtime for both Servlet and Reactive web apps #22899
- 🔧 Document that spring-boot-configuration-processor cannot detect default value defined externally #22890
- 📄 Docs say Health's inner
details
section may contain components #22774 - 🛠 Fix wrong reference in
ReadinessStateHealthIndicator
javadoc #22760 - ✅ Recommend the use of AopTestUtils.getTargetObject() when setting expectations on a spied bean that Spring has proxied #22758
- Document that schema.sql and data.sql will still be run when using Flyway or Liquibase but discourage their use #22748
- 🛠 Fix broken links to Micrometer registry docs #22706
- 📚 Clarify documentation on use of @AutoConfigureRestDocs with WebTestClient #22669
- 👍 Document that constructor binding does not support @DurationUnit and @DataSizeUnit #22665
- Document properties to enable probe health indicators #22631
- 📚 Update metrics documentation to note the benefits of using a MeterBinder when registering a metric that relies on other beans #22629
- 📚 Include a hint where to find documentation for DevTools in docs overview #22622
- 🛠 Fix link to Elasticsearch health indicator #22617
- ➕ Add ElasticsearchReactiveHealthIndicator to docs #22616
- 🔗 Link to App Engine Standard sample not working #22608
- 👌 Improve documentation about swapping one technical starter for another #22596
- Document how to use MongoClientSettingsBuilderCustomizer #22589
- 🔧 Document the need for configuration files to have a file extension #22587
- 🔧 Document that java.util.Optional is not recommended with ConfigurationProperties #22574
- 📇 Typo in metadata for "management.health.readinessstate.enabled" #22560
- 🔧 Document how to opt back in to DataSource auto-configuration when using R2DBC #22094
- 🔧 Document that application.conf is not read by default when using the Cassandra auto-configuration #21787
- 🔌 Document how to use Gradle's native bom support as an alternative to the dependency management plugin #21570
⬆️ 🔨 Dependency Upgrades
- ⬆️ Upgrade to Micrometer 1.5.4 #22932
- 🚀 Upgrade to Spring Security 5.3.4.RELEASE #22873
- 🚀 Upgrade to Spring HATEOAS 1.1.1.RELEASE #22872
- ⬆️ Upgrade to RSocket 1.0.2 #22871
- ⬆️ Upgrade to Pooled JMS 1.1.2 #22870
- 🚀 Upgrade to Lettuce 5.3.3.RELEASE #22869
- ⬆️ Upgrade to Kafka 2.5.1 #22868
- ⬆️ Upgrade to jOOQ 3.13.4 #22867
- ⬆️ Upgrade to Jetty 9.4.31.v20200723 #22866
- ⬆️ Upgrade to Jackson Bom 2.11.2 #22865
- ⬆️ Upgrade to Hibernate 5.4.20.Final #22864
- ⬆️ Upgrade to Dropwizard Metrics 4.1.12.1 #22863
- 🚀 Upgrade to Dependency Management Plugin 1.0.10.RELEASE #22862
- ⬆️ Upgrade to Couchbase Client 3.0.7 #22861
- ⬆️ Upgrade to Commons Pool2 2.8.1 #22860
- ⬆️ Upgrade to Byte Buddy 1.10.14 #22859
- ⬆️ Upgrade to Spring Data Neumann SR3 #22844
- ⬆️ Upgrade to Spring Kafka 2.5.5 #22843
- ⬆️ Upgrade to Spring AMQP 2.2.10 #22842
- ⬆️ Upgrade to Reactor Dysprosium-SR11 #22841
🍱 ❤️ Contributors
🚀 We'd like to thank all the contributors who worked on this release!