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 following releases are available today: Service Release 6 (SR6) of the Spring Cloud Greenwich Release Train, Service Release 5 (SR5) of the Spring Cloud Hoxton Release Train and Milestone 2 (M2) of the Spring Cloud 2020.0 (code name Ilford
) Release Train. The Greenwich and Hoxton releases can be found in Maven Central here and here. The Ilford
milestone can be found in the Spring Milestone repository. You can check out the individual release notes for more information: Greenwich.SR6, Hoxton.SR5 and 2020.0.0-M2.
As always, we welcome feedback on GitHub, Gitter, Stack Overflow, or Twitter.
Greenwich is compatible with Spring Boot 2.1.x.
CVE-2020-5410: Directory Traversal with spring-cloud-config-server
Backports bootstrap property source ordering fix.
The following modules were updated as part of Greenwich.SR6:
| Module | Version | Issues
|--- |--- |--- |---
| Spring Cloud Config | 2.1.8.RELEASE |
| Spring Cloud Commons | 2.1.6.RELEASE | (issues)
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.SR6</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.9.RELEASE"
}
}
apply plugin: "io.spring.dependency-management"
dependencyManagement {
imports {
mavenBom 'org.springframework.cloud:spring-cloud-dependencies:Greenwich.SR6'
}
}
dependencies {
compile 'org.springframework.cloud:spring-cloud-starter-config'
compile 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
//...
}
Hoxton.SR5 is compatible with both Spring Boot 2.3.x and 2.2.x. Previous Hoxton releases are only compatible with Spring Boot 2.2.x.
Spring Cloud CLI was not released as part of Hoxton.SR5, look for a release with Hoxton.SR6.
Support was added for Spring Cloud LoadBalancer. Please see release notes for information on upgrades and a minor API change in the Spring Cloud Contract Gradle Plugin.
Labels were added to the health endpoint.
Builders were added to configure Spring Cloud LoadBalancer as well as pre-configured loadBalancers. LoadBalancer caching mechanism was adjusted to support HealthCheckInstanceListSupplier
. Support was added for non-enumerable property sources. Support was added for a cached random property source so service instance ids with random values will not be redefined during a refresh event.
Please see release notes for information on changes in two property value defaults.
Eureka Client now uses the Eureka HTTP API during bootstrap so that instances are not registered then deregistered.
Support was added for Consul metadata rather than metadata in tags.
Updated support for Vault Azure MSI authentication.
Added support for custom Host headers.
Added a CuratorFrameworkCustomizer
to allow users to customize Curator after auto-configuration.
@RemoteApplicationEventsScan
results are now cumulative. RefreshRemoteApplicationEvent
is only processed locally if targeted.
Support was added for sorting Spring Data pagination. Support was added to disable parent context of individual feign clients. An ErrorDecoderFactory
was added.
The ExceptionLoggingFilter
was disabled by default.
The following modules were updated as part of Hoxton.SR5:
| Module | Version | Issues
|--- |--- |--- |---
| Spring Cloud Contract | 2.2.3.RELEASE | (issues)
| Spring Cloud Kubernetes | 1.1.3.RELEASE | (issues)
| Spring Cloud Cloudfoundry | 2.2.2.RELEASE | (issues)
| Spring Cloud Commons | 2.2.3.RELEASE | (issues)
| Spring Cloud Starter Build | Hoxton.SR5 |
| Spring Cloud Netflix | 2.2.3.RELEASE | (issues)
| Spring Cloud Consul | 2.2.3.RELEASE | (issues)
| Spring Cloud Config | 2.2.3.RELEASE | (issues)
| Spring Cloud Gateway | 2.2.3.RELEASE | (issues)
| Spring Cloud Gcp | 1.2.3.RELEASE |
| Spring Cloud Zookeeper | 2.2.2.RELEASE | (issues)
| Spring Cloud Vault | 2.2.3.RELEASE | (issues)
| Spring Cloud Circuitbreaker | 1.0.3.RELEASE | (issues)
| Spring Cloud Bus | 2.2.2.RELEASE | (issues)
| Spring Cloud Security | 2.2.2.RELEASE | (issues)
| Spring Cloud Openfeign | 2.2.3.RELEASE | (issues)
| Spring Cloud Aws | 2.2.2.RELEASE | (issues)
| Spring Cloud Sleuth | 2.2.3.RELEASE | (issues)
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.SR5</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.9.RELEASE"
}
}
apply plugin: "io.spring.dependency-management"
dependencyManagement {
imports {
mavenBom 'org.springframework.cloud:spring-cloud-dependencies:Hoxton.SR5'
}
}
dependencies {
compile 'org.springframework.cloud:spring-cloud-starter-config'
compile 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
//...
}
Eureka Client now uses WebClient
or RestTemplate
by default rather than Jersey.
Zipkin dependency was dropped from core.
The Java Route DSL was enhanced to not leak the Route methods. This helps avoid confusion over how the DSL should be used.
The spring.cloud.loadbalancer.health-check.initial-delay
configuration was changed from int
to Duration
.
The Targeter
interface and FeignClientFactoryBean
were made public.
The following modules were updated as part of 2020.0.0-M2:
| Module | Version | Issues
|--- |--- |--- |---
| Spring Cloud Netflix | 3.0.0-M2 |
| Spring Cloud Sleuth | 3.0.0-M2 |
| Spring Cloud Consul | 3.0.0-M2 |
| Spring Cloud Kubernetes | 2.0.0-M2 |
| Spring Cloud Gateway | 3.0.0-M2 | (issues)
| Spring Cloud Circuitbreaker | 2.0.0-M2 |
| Spring Cloud Contract | 3.0.0-M2 | (issues)
| Spring Cloud Starter Build | 2020.0.0-M2 |
| Spring Cloud Config | 3.0.0-M2 |
| Spring Cloud Build | 3.0.0-M2 |
| Spring Cloud Cloudfoundry | 3.0.0-M2 |
| Spring Cloud Security | 3.0.0-M2 |
| Spring Cloud Bus | 3.0.0-M2 |
| Spring Cloud Cli | 3.0.0-M2 |
| Spring Cloud Vault | 3.0.0-M2 |
| Spring Cloud Zookeeper | 3.0.0-M2 |
| Spring Cloud Commons | 3.0.0-M2 |
| Spring Cloud Openfeign | 3.0.0-M2 |
To get started with Maven with a BOM (dependency management only):
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2020.0.0-M2</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.9.RELEASE"
}
}
repositories {
maven {
url 'https://repo.spring.io/milestone'
}
}
apply plugin: "io.spring.dependency-management"
dependencyManagement {
imports {
mavenBom 'org.springframework.cloud:spring-cloud-dependencies:2020.0.0-M2'
}
}
dependencies {
compile 'org.springframework.cloud:spring-cloud-starter-config'
compile 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
//...
}