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 Greenwich Release Train is available today. The release can be found in Maven Central. You can check out the Greenwich release notes for more information.
The Edgware release train will reach EOL status on August 1st, 2019. You can read the formal announcement here.
The Spring Cloud Finchley release train is considered a major release and is tied to the Spring Boot 2.0.x release. Therefore, the Spring Cloud Finchley release train will reach EOL status when the Spring Boot 2.0.x release branch is marked EOL. An announcement about this will be made on this blog once a date has been determined.
The Spring Cloud Greenwich release train is considered a minor release and will continue support for the Spring Boot 2.x release branch.
Updates were made across all projects for Java 11 compatibility.
There are two new projects included in the Greenwich Release train, Spring Cloud GCP (which provides integration with Google Cloud Platform), and Spring Cloud Kubernetes (which provides integration with Kubernetes).
Recently, Netflix announced that Hystrix is entering maintenance mode. Ribbon has been in a similar state since 2016. Although Hystrix and Ribbon are now in maintenance mode, they are still deployed at scale at Netflix.
The Hystrix Dashboard and Turbine have been superseded by Atlas. The last commits to these project are two years and four years ago respectively. Zuul 1 and Archaius 1 have both been superseded by later versions that are not backward compatible.
The following Spring Cloud Netflix modules and corresponding starters will be placed into maintenance mode:
This does not include the Eureka or concurrency-limits modules.
Placing a module in maintenance mode means that the Spring Cloud team will no longer add new features to the module. We will fix blocker bugs and security issues, and we will also consider and review small pull requests from the community.
We intend to continue to support these modules for a period of at least a year from the general availability of the Greenwich release train.
We recommend the following as replacements for the functionality provided by these modules.
Current | Replacement |
---|---|
Hystrix | Resilience4j |
Hystrix Dashboard / Turbine | Micrometer + Monitoring System |
Ribbon | Spring Cloud Loadbalancer |
Zuul 1 | Spring Cloud Gateway |
Archaius 1 | Spring Boot external config + Spring Cloud Config |
Look for a future blog post on Spring Cloud Loadbalancer and integration with a new Netflix project Concurrency Limits.
See the Google release announcement.
ServiceInstance.instanceId
field.ServiceInstance.instanceId
field.See the Spring Cloud Stream release announcement.
ServiceInstance.instanceId
field.See the Spring Cloud Task release announcement.
ServiceInstance
metadata to come from Kubernetes Labels, Annotations, and Ports.KubernetesDiscoveryClient
during bootstrap.EnvironmentRepository
to support a CredHub backend.@QueryMap
annotation.instanceId
to the ServiceInstance
interface.ReactiveLoadBalancer
interface and implementation using Reactor.The following modules were updated as part of Greenwich.RELEASE:
| Module | Version | Issues |--- |--- |--- |--- | Spring Cloud Sleuth | 2.1.0.RELEASE | (issues) | Spring Cloud Gcp | 1.1.0.RELEASE | (issues) | Spring Cloud Build | 2.1.2.RELEASE | | Spring Cloud Netflix | 2.1.0.RELEASE | (issues) | Spring Cloud Consul | 2.1.0.RELEASE | | Spring Cloud Gateway | 2.1.0.RELEASE | (issues) | Spring Cloud | Greenwich.RELEASE | | Spring Cloud Function | 2.0.0.RELEASE | (issues) | Spring Cloud Stream | Fishtown.RELEASE | | Spring Cloud Zookeeper | 2.1.0.RELEASE | | Spring Cloud Cloudfoundry | 2.1.0.RELEASE | | Spring Cloud Aws | 2.1.0.RELEASE | | Spring Cloud Task | 2.1.0.RELEASE | | Spring Cloud Kubernetes | 1.0.0.RELEASE | (issues) | Spring Cloud Contract | 2.1.0.RELEASE | (issues) | Spring Cloud Release | Greenwich.RELEASE | | Spring Cloud Security | 2.1.0.RELEASE | | Spring Cloud Starter | Greenwich.RELEASE | | Spring Cloud Bus | 2.1.0.RELEASE | (issues) | Spring Cloud Config | 2.1.0.RELEASE | (issues) | Spring Cloud Vault | 2.1.0.RELEASE | (issues) | Spring Cloud Openfeign | 2.1.0.RELEASE | (issues) | Spring Cloud Commons | 2.1.0.RELEASE | | Spring Cloud Dependencies | 2.1.2.RELEASE |
As always, we welcome feedback on GitHub, on Gitter, on Stack Overflow, and 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>Greenwich.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>
To get started 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:Greenwich.RELEASE'
}
}
dependencies {
compile 'org.springframework.cloud:spring-cloud-starter-config'
compile 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
...
}