close

Spring Cloud Greenwich.SR6, Hoxton.SR5 and 2020.0.0-M2 (aka Ilford) are Available

On 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.


Notable Changes in the Greenwich Release Train

Github project

Greenwich is compatible with Spring Boot 2.1.x.

Spring Cloud Config

CVE-2020-5410: Directory Traversal with spring-cloud-config-server

Spring Cloud Commons

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

Notable Changes in the Hoxton Release Train

Github project.

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.

Spring Cloud Contract

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.

Spring Cloud Kubernetes

Labels were added to the health endpoint.

Spring Cloud Commons

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.

Spring Cloud Netflix

Eureka Client now uses the Eureka HTTP API during bootstrap so that instances are not registered then deregistered.

Spring Cloud Consul

Support was added for Consul metadata rather than metadata in tags.

Spring Cloud Config

Updated support for Vault Azure MSI authentication.

Spring Cloud Gateway

Added support for custom Host headers.

Spring Cloud Zookeeper

Added a CuratorFrameworkCustomizer to allow users to customize Curator after auto-configuration.

Spring Cloud Bus

@RemoteApplicationEventsScan results are now cumulative. RefreshRemoteApplicationEvent is only processed locally if targeted.

Spring Cloud Openfeign

Support was added for sorting Spring Data pagination. Support was added to disable parent context of individual feign clients. An ErrorDecoderFactory was added.

Spring Cloud Sleuth

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

Notable Changes in the 2020.0 Release Train

Github project

Spring Cloud Netflix

Eureka Client now uses WebClient or RestTemplate by default rather than Jersey.

Spring Cloud Sleuth

Zipkin dependency was dropped from core.

Spring Cloud Gateway

The Java Route DSL was enhanced to not leak the Route methods. This helps avoid confusion over how the DSL should be used.

Spring Cloud Commons

The spring.cloud.loadbalancer.health-check.initial-delay configuration was changed from int to Duration.

Spring Cloud Openfeign

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'
  //...
}
comments powered by Disqus