Hear from the Spring team this January at SpringOne. >

Spring Cloud Hoxton Released

On behalf of the community, I am pleased to announce that the General Availability (RELEASE) of the Spring Cloud Hoxton Release Train is available today. The release can be found in Maven Central. You can check out the Hoxton release notes for more information.

Notable Changes in the Hoxton Release Train

Spring Cloud Hoxton.RELEASE is based on Spring Boot 2.2.1.RELEASE.

Documentation Changes

The Hoxton.RELEASE docs have a new landing page, new theme and a single-page, multi-page and a pdf version.The landing page will link you to the documentation for the specific project you are interested in. We hope you find that the new documentation structure easier to consume.

New Load Balancer Implementations

Spring Cloud Hoxton.RELEASE is the first release containing both blocking and non-blocking load balancer client implementations as an alternative to Netflix Ribbon which has entered maintenance mode.

To use the new BlockingLoadBalancerClient with a RestTemplate you will need to include org.springframework.cloud:spring-cloud-loadbalancer on your application’s classpath. The same dependency can be used in a reactive application when using @LoadBalanced WebClient.Builder - the only difference is that Spring Cloud will auto-configure a ReactorLoadBalancerExchangeFilterFunction instance. See the documentation for additional information. The new ReactorLoadBalancerExchangeFilterFunction can also be autowired and passed directly to WebClient.Builder (see the documentation). For all these features, Project Reactor-based RoundRobinLoadBalancer is used underneath.

Spring Cloud Netflix

  • Support was added for the new ReactiveDiscoveryClient and the new Spring Cloud Circuit Breaker API implementation for Hystrix.
  • Added property to disable Spring Cloud CircuitBreaker Hystrix auto-configuration

Spring Cloud Cloudfoundry

  • Support was added for the new ReactiveDiscoveryClient.

Spring Cloud Bus

  • Documentation updates

Spring Cloud Vault

  • Applications running in the Pivotal Application Service (former PCF) can leverage container identity to authenticate using Vault’s PCF Authentication support.
  • Support for Vault namespaces (Vault Enterprise feature) using the X-Vault-Namespace header.

Spring Cloud Kubernetes

  • Support was added for the new ReactiveDiscoveryClient.

Spring Cloud Contract

  • Full documentation rewrite
  • Major test class generation refactoring
  • A lot of rewrite from Groovy to Java
  • Added support for writing contracts in Kotlin and Java
  • Added inProgress flag to the contract DSL and runtime stub generation
  • Added TestNG support for generated tests
  • Numerous library version increments (including Groovy, WireMock and Pact)

Spring Cloud Consul

  • Support was added for the new ReactiveDiscoveryClient and for Consul’s consistency mode.

Spring Cloud Config

Spring Cloud Gcp

  • BigQuery module added
  • Created a separate starter for Cloud Foundry: spring-cloud-gcp-starter-cloudfoundry
  • You can check out the changelog document for more information

Spring Cloud Stream

With this new Horsham.RELEASE (3.0.0) we begin our journey from annotation-driven to a significantly simpler functional approach. We have published a series of posts explaining and justifying this move:
- Spring Cloud Stream - demystified and simplified
- Spring Cloud Stream - functional and reactive
- Spring Cloud Stream - and Spring Integration
- Spring Cloud Stream - Event Routing

Spring Cloud Commons

  • We have introduced new blocking and non-blocking load balancer implementations as an
    alternative to Netflix Ribbon which has entered maintenance mode.

Spring Cloud Openfeign

Spring Cloud Task

  • Micrometer support
  • Updated documentation with improved format
  • Task apps launched when using Spring Batch partitioning now have external-execution-id populated

Spring Cloud Sleuth

  • Added support for latest Brave (includes messaging sampling)
  • Added an option for onLastOperator Reactor tracing for improved performance
  • Added Redis tracing
  • Set default sampler to rate-limited sampler
  • Added support for AWS SQS tracing
  • Added support for Quartz tracing
  • Added in-process propagation mechanism
  • Defaults to Micrometer metrics for Zipkin reporting

Spring Cloud Aws

  • Bug fixes

Spring Cloud Zookeeper

  • Support was added for the new ReactiveDiscoveryClient.

Spring Cloud Security

  • Bug fixes

Spring Cloud Circuitbreaker

We welcome Spring Cloud Circuit Breaker as a new project under the Spring Cloud release train. This project provides an abstraction API for adding circuit breakers to your application. At the time of this blog post, there are four supported implementations:

See the annoucement blog post for more information.

Spring Cloud Function

Lots of new features such as:
- Transparent type conversion
- Function Routing
- Function arity

More details in our release announcement.

Spring Cloud Gateway

  • Support was added for using the new ReactiveLoadBalancer.
  • RSocket modules were moved to their own project in the Spring Cloud Incubator organization
  • Added a filter which uses the new Spring Cloud CircuitBreaker library to provide circuit breakers to routes

The following modules were updated as part of Hoxton.RELEASE:

Module Version Issues
Spring Cloud Netflix 2.2.0.RELEASE  
Spring Cloud Starter Parent Hoxton.RELEASE  
Spring Cloud Dependencies Parent 2.2.0.RELEASE  
Spring Cloud Dependencies Hoxton.RELEASE  
Spring Cloud Cloudfoundry 2.2.0.RELEASE  
Spring Cloud Cli 2.2.0.RELEASE (issues)
Spring Cloud Bus 2.2.0.RELEASE  
Spring Cloud Vault 2.2.0.RELEASE (issues)
Spring Cloud Kubernetes 1.1.0.RELEASE  
Spring Cloud Contract 2.2.0.RELEASE (issues)
Spring Cloud Consul 2.2.0.RELEASE  
Spring Cloud Release Hoxton.RELEASE  
Spring Cloud Build 2.2.0.RELEASE (issues)
Spring Cloud Config 2.2.0.RELEASE  
Spring Cloud Hoxton.RELEASE  
Spring Cloud Gcp 1.2.0.RELEASE  
Spring Cloud Stream Horsham.RELEASE (issues)
Spring Cloud Commons 2.2.0.RELEASE (issues)
Spring Cloud Starter Hoxton.RELEASE  
Spring Cloud Openfeign 2.2.0.RELEASE  
Spring Cloud Task 2.2.1.RELEASE  
Spring Cloud Sleuth 2.2.0.RELEASE (issues)
Spring Cloud Aws 2.2.0.RELEASE  
Spring Cloud Zookeeper 2.2.0.RELEASE (issues)
Spring Cloud Security 2.2.0.RELEASE  
Spring Cloud Circuitbreaker 1.0.0.RELEASE (issues)
Spring Cloud Function 3.0.0.RELEASE (issues)
Spring Cloud Gateway 2.2.0.RELEASE (issues)

As always, we welcome feedback on GitHub, on Gitter, on Stack Overflow, or on Twitter.

To get started with Maven with a BOM (dependency management only):

<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Hoxton.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> ... </dependencies>

or with Gradle:

buildscript {
dependencies {
classpath "io.spring.gradle:dependency-management-plugin:1.0.2.RELEASE"

apply plugin: "io.spring.dependency-management"

dependencyManagement {
imports {
mavenBom 'org.springframework.cloud:spring-cloud-dependencies:Hoxton.RELEASE'

dependencies {
compile 'org.springframework.cloud:spring-cloud-starter-config'
compile 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
comments powered by Disqus