Spring Cloud Hoxton Released

Releases | Ryan Baxter | November 28, 2019 | ...

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 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'
...
}

Get the Spring newsletter

Stay connected with the Spring newsletter

Subscribe

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all