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 configure ConfigureRedisAction #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!

To top