Spring/spring-boot: Release v2.2.0.M4
Name: spring-boot
Owner: Spring
Release: v2.2.0.M4
Released: 2019-06-19
License: Apache-2.0
Release Assets:
⭐ New Features
- Support annotations on constructor parameters for binding #17109
- Add general purpose header support to RestTemplateBuilder #17091
- Register Printer and Parser beans as converters #17064
- Log JDBC connection URL for embedded database when using H2 console #17063
- Drop deprecated spring.version pom property in favor of spring-framework.version #17043
- Add
configuration-strategy
property to RedisSessionProperties to configureConfigureRedisAction
#17022 - Exclude groovy.lang.MetaClass type from configuration annotation processor #16996
- Make it easier to set bufferRequestBody on ClientHttpRequestFactory #16972
- Define the classloader for FluentConfiguration #16947
- Fork process with spring-boot:run by default #16945
- Update Maven spring-boot:run to launch JVM with flags to enable development-time optimisations #16941
- Configure String codecs in RSocket strategies #16924
- Use deferred logging rather than System.out to report jars on the classpath with Class-Path manifest attributes that point to non-existent files when using DevTools #16883
- Improve diagnostics when JVM launched by spring-boot:run exits with a non-zero status #16869
- Configure PathPattern for RSocket routing #16865
- Allow Flyway or Liquibase to be auto-configured without a DataSource bean #16850
- Add support for AWS Redshift JDBC driver #16831
- Auto-configure Kafka listener container factory with user-provided rebalance listener #16755
- Provide a configuration property for Spring Kafka's missingTopicsFatal #16740
- Optimize CacheKey handling in SpringIterableConfigurationPropertySource #16717
- Make excludeDevtools available as a user property #16701
- Set UTF-8 charset for whitelabel HTML error pages #16611
- Add annotation to support registering Jackson key serializer/deserializers #16544
- Auto-configure Elasticsearch REST client in Spring Data #16542
- Rename spring.reactor.stacktrace-mode configuration property #16537
- Disable Tomcat's MBean Registry by default and provide a property to enable it #16498
- Improve configuration property binding performance with extremely large input files #16401
- Add support for Couchbase's role based access #16389
- Update Gradle bootRun to launch JVM with flags to enable development-time optimisations #16222
- Auto-configure reactive Elasticsearch components introduced in Spring Data Moore #16214
- Include spring.profiles in additional-spring-configuration-metadata.json #16107
- Change Logback's maxHistory property default to 7 days #15875
- Add configuration support for Opaque Token authentication #15872
- Avoid codec auto-configuration when they are not going to be used #15690
- Change default Freemarker template file extension to .ftlh to enable HTML escaping #15131
- Make it possible for the output from the BuildInfo task to be repeatable #14494
- Improve analysis of Tomcat connector start failures by using new throwOnFailure attribute #7130
🪲 Bug Fixes
- Gradle plugin creates fat jars that do not align with unspecified assumption that META-INF/MANIFEST.MF should be the first or second entry #17232
- Netty connection timeouts of 0 or -1 are not applied correctly #17228
- PropertyMapper does not chain when and whenNot calls #17227
- Dependency management for JavaBeans Activation Framework is incomplete #17223
- @WebMvcTest ignores base path configured via @WebAppConfiguration #17220
- Missing outcome tag for WebClient metrics on errors #17219
- Flyway and Liquibase auto-configuration does not consider DataSource properties configured via @AutoConfigureTestDatabase #17218
- @JooqTest does not auto-configure caching #17213
- Fat jar launcher mishandles root jar files with + characters in their path, making nested entries unloadable #17211
- Logback debugging property is ignored unless a logback file is present #17192
- Getting an InputStream from a JarURLConnection for a nested jar or an entry in a nested jar creates a JarFile that's never closed #17127
- JarFileArchive creates a JarFile that is never closed #17126
- JarFile leaks a file handle if central directory parsing fails #17124
- JarResourceManager leaks an InputStream when asked for a Resource for the root of a jar #17122
- Embedded Undertow containers may lose access log entries when shut down #17120
- Repackaging with Maven may not close a library's input stream when adding it to the jar #17118
- DevTools' ChangeableUrls creates JarFiles that are not closed when looking for Class-Path manifest entries #17114
- DevTools uses the wrong command to shut down an in-memory Derby database #17104
- Constructor binding can fail with non iterable property sources #17098
- SpringIterableConfigurationPropertySource cache is not thread safe #17018
- Handle all getters first in JavaBeanBinder.addProperties() #17016
- ConfigFileApplicationListener filtering fails when the defaultPropertySource is a composite #17011
- RestTemplateBuilder.basicAuth causes the entire body to be read into memory #17010
- JVM can't exit due to threads left if Tomcat throws exceptions during shutdown #16995
- Spring Session without Spring Security leads to NoClassDefFoundError: org/springframework/security/web/authentication/RememberMeServices #16992
- Spring Data Cassandra auto-configuration should be conditional on Cluster bean #16990
- JavaBeanBinder.Bean.get() does not use updated resolved type when checking for type differences #16988
- spring-boot:run uses the wrong default working directory for a forked JVM #16960
- SpringBootVersion fails with a NullPointerException if Package has no implementation version and the ProtectionDomain returns a null CodeSource #16956
- WebSphere Liberty's WSJdbcDataSource logs an exception during startup when using a JNDI DataSource with Hikari still on the classpath #16940
- ReactiveSecurityAutoConfiguration can cause TypeNotPresentExceptionProxy #16939
- Constructor-based configuration property binding fails silently when parameter name information is not available #16928
- Cannot call HTTP when rsocket server is activated #16826
- Actuator /configprops shows Duration properties as { "units": [ "SECONDS", "NANOS" ] } #16539
📔 Documentation
- Correct expansion of jOOQ in the reference docs #17196
- Fix regular expression used in devools documentation #16993
- Fix unresolved includes in Gradle Plugin's reference documentation #16968
- Reinstate htmlsingle and PDF reference docs #16854
- Document that -Dspring.profiles.active should not be used to run an app with Maven #10926
🔨 Dependency Upgrades
- Upgrade to Mariadb 2.4.2 #17237
- Upgrade to Infinispan 9.4.15.Final #17236
- Upgrade to Micrometer 1.1.5 #17224
- Upgrade to Spring AMQP 2.2.0.M3 #17203
- Upgrade to Spring Kafka 2.3.0.M3 #17202
- Upgrade to Spring Integration 5.2.0.M3 #17201
- Upgrade to Maven War Plugin 3.2.3 #17190
- Upgrade to Mockito 2.28.2 #17189
- Upgrade to Infinispan 9.4.14.Final #17188
- Upgrade to Hsqldb 2.5.0 #17187
- Upgrade to Hibernate Validator 6.0.17.Final #17186
- Upgrade to Hibernate 5.4.3.Final #17185
- Upgrade to Jaybird 3.0.6 #17184
- Upgrade to Jetty 9.4.19.v20190610 #17183
- Upgrade to Tomcat 9.0.21 #17182
- Upgrade to Kafka 2.2.1 #17181
- Upgrade to Johnzon Jsonb 1.1.12 #17180
- Upgrade to Httpclient 4.5.9 #17179
- Upgrade to Artemis 2.9.0 #17178
- Upgrade to Byte Buddy 1.9.13 #17177
- Upgrade to Undertow 2.0.21.Final #17176
- Upgrade to Rxjava2 2.2.9 #17175
- Upgrade to Lettuce 5.1.7.RELEASE #17174
- Upgrade to Unboundid Ldapsdk 4.0.11 #17173
- Upgrade to Rabbit Amqp Client 5.7.1 #17172
- Upgrade to Hazelcast 3.12.1 #17171
- Upgrade to Appengine Sdk 1.9.75 #17170
- Upgrade to Couchbase Client 2.7.7 #17169
- Upgrade to Dependency Management Plugin 1.0.8.RELEASE #17151
- Upgrade to Rsocket 0.12.2-RC4 #17131
- Upgrade to Spring HATEOAS 1.0.0.M3 #17075
- Upgrade to Spring Data Moore-RC1 #16966
- Upgrade to Spring Security 5.2.0.M3 #16965
- Upgrade to Reactor Dysprosium-M2 #16964
- Upgrade to Spring Framework 5.2.0.M3 #16963
- Upgrade to Couchbase Client 2.7.6 #16950
- Upgrade to Maven Source Plugin 3.1.0 #16922
- Upgrade to Pooled Jms 1.0.5 #16921
- Upgrade to Jboss Logging 3.4.0.Final #16920
- Upgrade to Tomcat 9.0.20 #16919
- Upgrade to Javax Cache 1.1.1 #16918
- Upgrade to Dropwizard Metrics 4.1.0 #16917
- Upgrade to Okhttp3 3.14.2 #16916
- Upgrade to Sendgrid 4.4.1 #16915
- Upgrade to Jackson 2.9.9 #16914
- Upgrade to Spring Session Corn-M2 #16587
- Upgrade to Hamcrest 2.1 #15555
:heart: Contributors
We'd like to thank all the contributors who worked on this release!