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
An Environment Repository supporting AWS S3.
Added the ability to decrypt properties in plain text
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
OpenFeign was updated to 10.4.0.
Support for Spring Cloud LoadBalancer has been added
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:
Resilience4j
Spring Retry
Hystrix (in spring-cloud-netflix)
Sentinel (in spring-cloud-alibaba)
See the annoucement blog post for more information.
Added auto-configuration to collect circuit breaker metrics when using Resilience4J (#47)
Upgrade to Resilience4J 1.1.0
Added property to disable Resilience4J auto-configuration
Spring Cloud Function
Lots of new features such as:
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):
org.springframework.cloud spring-cloud-dependencies Hoxton.RELEASE pom import org.springframework.cloud spring-cloud-starter-config org.springframework.cloud spring-cloud-starter-netflix-eureka-client ...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