Spring/spring-boot: Release v2.2.0.M5

Name: spring-boot

Owner: Spring

Release: v2.2.0.M5

Released: 2019-08-06

License: Apache-2.0

Release Assets:

⭐ New Features

  • Default BindHandler in programmatically created Binder #17773
  • Updated OAuth 2.0 Issuer-Based Auto Configuration #17761
  • Content strategy does not work with Thymeleaf and WelcomePageHandlerMapping #17759
  • Allow actuator endpoint selectors to capture all paths #17743
  • Add dependency management for Kotlin Coroutines BOM #17701
  • Allow for custom ElasticSearch's EntityMapper bean #17661
  • Default password should not be generated when using resource server #17646
  • Add assertion to differ between a null value JSON property and absence of the property #17608
  • Include WebFilter beans in WebFluxTest slice #17601
  • Include HandlerInterceptor beans in WebMvcTest slice #17600
  • Remove unused java-statsd-client dependency management and dependencies #17576
  • Remove support for DeploymentInfo customization from UndertowReactiveWebServerFactory as no DeploymentInfo is used in the reactive case #17562
  • Add NettyServerCustomizer beans to the auto-configured NettyReactiveWebServerFactory automatically #17556
  • NoSuchMethodFailureAnalyzer does not work with Java 13 #17544
  • Make it easier to determine the order of each of an application's servlet filters #17520
  • Add support for configuring logger groups via loggers endpoint #17515
  • Add support for configuring Spring Session SaveMode #17514
  • Allow OutputCaptureRule to be used directly with AssertJ #17512
  • Provide configuration properties for configuring Tomcat's relaxed path and query chars #17510
  • Add metrics support for idle jdbc connections #17504
  • Provide configuration property for DispatcherServlet.publishEvents #17500
  • Add HealthIndicator for Hazelcast #17499
  • Allow AbstractDependsOnBeanFactoryPostProcessor to identify depended on beans by type #17479
  • Deprecate Joda-Time auto-configuration in favour of using java.time (JSR-310) #17419
  • Provide discovery page for actuators at / when using a separate management port #17418
  • Switch Jersey starter to use Spring 5 module #17412
  • Allow binding to package private methods #17394
  • Allow build info goal's build.time to be disabled so that its output is repeatable #17390
  • add isolation level to KafkaProperties #17389
  • Consistently coerce false to off and true to on where applicable #17385
  • Provide a @BatchDataSource qualifier to allow a Batch-specific DataSource to be identified #17375
  • Allow Undertow's server and socket options to be configured via the environment #17356
  • Update caching auto-configuration to use Infinispan's Spring 5 support #17333
  • Add client-name property to specify a Redis client name #17330
  • Allow additional connectors to be added to a reactive Tomcat web server #17323
  • Auto-configure Kafka listener container with user-provided RecordInterceptor #17322
  • Allow custom resource handlers to provide favicon #17318
  • Introduce a customizer callback for RedisCacheManagerBuilder #17287
  • Update RestTemplateBuilder.defaultHeader to use an array for a default header value instead of a single value #17286
  • Make layout parameter available as a user property #17277
  • Fail fast if SPRING_CONFIG_LOCATION specifies a file with an extension that no PropertySourceLoader can read #17241
  • Add support for reactor-tools #17128
  • Disable auto-configuration of HiddenHttpMethodFilter by default #16953
  • Disable @ConfigurationProperties scan in slice tests #16659
  • Automatically register @EndpointConverter-annotated Converter and GenericConverter beans with the ConversionService used by Actuator endpoints #16449
  • Optimize JavaBeanBinder #16447
  • Add support for plain text output to the threaddump endpoint #2339

🪲 Bug Fixes

  • Fix log info #17793
  • Inconsistent behavior turning off the check for the change log location: Liquibase fails anyway #17769
  • Missing TransactionManager when user provides a custom Neo4j SessionFactory. #17767
  • Wrong bean name on Reactive Cassandra Health Indicator condition #17764
  • Create RestClient bean from a RestHighLevelClient if such a bean has been contributed by the application. #17753
  • Fix ordering of SPRING_APPLICATION_JSON property source relative to servlet property sources #17748
  • Reactive health indicators do not log health check failure #17664
  • Trimming the whitespace for the OAuth2 provider property #17624
  • ActiveMQConnectionFactory is not configured when CachingConnectionFactory is missing and enabled properties are false #17602
  • JavaVersion does not cover all available versions of Java #17599
  • @DataJdbcTest is documented as being transactional but isn't #17580
  • getResourcePaths(String) allows navigation through the loader's directory structure when using Tomcat #17575
  • MockMvc logging requests from all previous tests with Spring Boot Test #17552
  • Quartz auto-configuration will initialise the DataSource with Quartz's DDL when not using a JDBC job store #17546
  • /actuator/logfile endpoint returning 404 when logging.file property contains a random value #17486
  • EmbeddedMongoAutoConfiguration should depend on bean by type #17481
  • Mutation of Jackson2ObjectMapperBuilder in one injection point may affect subsequent usages #17477
  • JUL logger configuration may be lost before usage due to GC #17470
  • Batch app fails to start if there's an entityManagerFactory bean but no DataSource bean #17466
  • Batch auto-configuration backs off too aggressively without a dependency on spring-jdbc #17454
  • Batch app fails to start if spring-jdbc is on the classpath but there's no DataSource bean #17453
  • MongoDataAutoConfiguration not applied when a MongoDbFactory is provided by Spring Cloud #17432
  • ClassCastException in RSocket auto-configuration when Jackson XML is present #17425
  • ValidationBindHandler fails if setters cannot be accessed #17424
  • Validation does not apply to hander replaced results #17422
  • Jetty logs a warning about an empty context path when using WebFlux #17409
  • Shutdown endpoint is called when the application context is closed as its shutdown() method is inferred to be a destroy method #17408
  • Dependency management for Infinispan is incomplete #17401
  • StringToEnumIgnoringCaseConverterFactory getLettersAndDigits returns an integer string #17396
  • Classes and resources with a single letter component in their package name cannot be loaded from jar files with /./ or /../ in their path #17381
  • Make rSocketServerBootstrap @ConditionalOnMissingBean #17301
  • OAuth2 Resource Server Opaque Token configuration property namespace has a hyphen in its name #17290
  • HibernateJpaAutoConfiguration's condition uses deprecated classes #17283
  • Web server factory customizer beans that are also registered explicitly are called twice during web server creation #17264
  • The -d option of spring init CLI command is not POSIX compliant #16663
  • Content strategy does not work with Thymeleaf and WelcomePageHandlerMapping #16309

📔 Documentation

  • Fix typo in JsonComponent javadoc #17776
  • Document that RestTemplateBuilder's rootUri only applies when String variants are used for specifying the request URL #17762
  • Harmonize settings.gradle documentation in Gradle getting started guide #17745
  • Add a note in the migration guide on Flyway#repair #17738
  • Clarify how to specify main class #17693
  • Generated metadata documentation does not escape the | character #17663
  • Clarify description of "logging.file.max-history" #17621
  • Add grizzly-spring-boot-starter to the third-party list #17620
  • Improve "'Create your own starter" to mention how to document properties #17603
  • Add reference to picocli starter #17591
  • Clarify documented behavior of MessageSource auto-configuration when no resource bundles matching the configured basenames exist #17588
  • Wrong prefix for datasource metrics in the documentation #17554
  • Broken link to Spring Integration metrics in documentation #17547
  • Update documentation to use JUnit Jupiter #17507
  • Java 12 is not documented as a supported version #17478
  • Caching documentation contains instruction for removed Guava support #17467
  • Remove references to archived spring-boot-issues repo #17431
  • Fix persistent session property name #17383
  • Link to Apache Licence from Maven Plugin docs rather than embedding it #17321
  • Improve javadoc of management server port #17269
  • Multi-page reference documentation sometimes uses the single-page index #17263
  • Check all documentation uses JUnit 5 for examples #17096
  • Encourage the use of third-party tracing and observability solutions in addition to / instead of implementing your own HttpTraceRepositroy #17047
  • Document testing with @EmbeddedKafka #15834

🔨 Dependency Upgrades

  • Upgrade to Webjars Locator Core 0.38 #17792
  • Upgrade to Mariadb 2.4.3 #17791
  • Upgrade to Elasticsearch 6.8.2 #17790
  • Upgrade to Johnzon Jsonb 1.1.13 #17789
  • Upgrade to Rxjava2 2.2.11 #17788
  • Upgrade to Hazelcast 3.12.2 #17787
  • Upgrade to Spring HATEOAS 1.0.0.RC1 #17755
  • Upgrade to Maven Javadoc Plugin 3.1.1 #17735
  • Upgrade to Xmlunit2 2.6.3 #17734
  • Upgrade to Spring Cloud Connectors 2.0.6.RELEASE #17733
  • Upgrade to Postgresql 42.2.6 #17732
  • Upgrade to Neo4j Ogm 3.2.0-RC1 #17731
  • Upgrade to Mongo Driver Reactivestreams 1.12.0-rc0 #17730
  • Upgrade to Mongodb 3.11.0-rc0 #17729
  • Upgrade to Pooled Jms 1.0.6 #17728
  • Upgrade to Liquibase 3.7.0 #17727
  • Upgrade to Junit Jupiter 5.5.1 #17726
  • Upgrade to Jolokia 1.6.2 #17725
  • Upgrade to Kotlin 1.3.41 #17724
  • Upgrade to Hibernate 5.4.4.Final #17723
  • Upgrade to Elasticsearch 6.8.1 #17722
  • Upgrade to Ehcache3 3.8.0 #17721
  • Upgrade to Janino 3.0.15 #17720
  • Upgrade to Tomcat 9.0.22 #17719
  • Upgrade to Solr 8.2.0 #17718
  • Upgrade to Commons Pool2 2.7.0 #17717
  • Upgrade to Byte Buddy 1.10.0 #17716
  • Upgrade to Mysql 8.0.17 #17715
  • Upgrade to Joda Time 2.10.3 #17714
  • Upgrade to Jakarta Servlet Jsp Jstl 1.2.5 #17713
  • Upgrade to Undertow 2.0.23.Final #17712
  • Upgrade to Rxjava2 2.2.10 #17711
  • Upgrade to Netty 4.1.38.Final #17710
  • Upgrade to Commons Codec 1.13 #17709
  • Upgrade to Jmustache 1.15 #17708
  • Upgrade to Rabbit Amqp Client 5.7.3 #17707
  • Upgrade to Appengine Sdk 1.9.76 #17706
  • Upgrade to Cassandra Driver 3.7.2 #17705
  • Upgrade to Lettuce 5.1.8.RELEASE #17702
  • Upgrade to Micrometer 1.2.0 #17699
  • Upgrade to AssertJ 3.13.2 #17690
  • Undertow servers include their own mime mappings in addition to ours #17689
  • Upgrade to Undertow 2.0.23.Final #17688
  • Upgrade to Reactor Dysprosium-M3 #17638
  • Upgrade to Jedis 3.1.0 #17622
  • Upgrade to Spring Integration 5.2.0.M4 #17584
  • Upgrade to Spring AMQP 2.2.0 M4 #17583
  • Upgrade to Sqlite Jdbc 3.28.0 #17406
  • Upgrade to Junit Jupiter 5.5.0 #17405
  • Upgrade to Jersey 2.29 #17404
  • Upgrade to Log4j2 2.12.0 #17403
  • Upgrade to Kafka 2.3.0 #17402
  • Upgrade to spring-javaformat 0.0.15 #17362
  • Upgrade to Spring Data Moore-RC2 #17350
  • Upgrade to Spring Security 5.2.0.M4 #17349
  • Upgrade to Spring Session Corn-M3 #17348
  • Upgrade to Spring Batch 4.2.0.M3 #17347
  • Upgrade to Spring Kafka 2.3.0.M4 #17319
  • Upgrade to Spring Framework 5.2.0 RC1 #17280
  • Upgrade to JUnit Jupiter 5.5.0-RC2 #17266

:heart: Contributors

We'd like to thank all the contributors who worked on this release!

To top