Get ahead
VMware offers training and certification to turbo-charge your progress.
Learn moreOn 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.
Spring Cloud Hoxton.RELEASE is based on Spring Boot 2.2.1.RELEASE.
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.
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.
ReactiveDiscoveryClient
and the new Spring Cloud Circuit Breaker API implementation for Hystrix.ReactiveDiscoveryClient
.X-Vault-Namespace
header.ReactiveDiscoveryClient
.inProgress
flag to the contract DSL and runtime stub generationReactiveDiscoveryClient
and for Consul's consistency mode.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:
onLastOperator
Reactor tracing for improved performanceReactiveDiscoveryClient
.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.
Lots of new features such as:
More details in our release announcement.
ReactiveLoadBalancer
.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'
...
}