Engineering
Releases
News and Events

Spring Cloud Hoxton.M2 Released

On behalf of the community, I am pleased to announce that the Milestone 2 (M2) of the Spring Cloud Hoxton Release Train is available today. The release can be found in Spring Milestone repository. You can check out the Hoxton release notes for more information. In addition you can view the GitHub Project For Hoxton.M2.

Notable Changes in the Hoxton Release Train

Spring Cloud Hoxton.M2 builds upon Spring Boot 2.2.0.M5.

Documentation Changes

The Hoxton.M2 docs have a new landing page as well as a new theme. The landing page will link you to the documentation for the specific project you are interested in.

Our documentation has a new theme. We hope you find that the new theme make the documentation easier to consume.

New Load Balancer Implementations

Spring Cloud Hoxton.M2 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 Config

Spring Cloud Gateway

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.
  • Issues

Spring Cloud Contract

Spring Cloud Openfeign

Spring Cloud Stream

Spring Cloud Bus

Spring Cloud Sleuth

Spring Cloud Function

The following modules were updated as part of Hoxton.M2:

Module Version Issues
Spring Cloud Config 2.2.0.M2 (issues)
Spring Cloud Cloudfoundry 2.2.0.M2  
Spring Cloud Cli 2.2.0.M1  
Spring Cloud Dependencies Hoxton.M2  
Spring Cloud Zookeeper 2.2.0.M2  
Spring Cloud Aws 2.2.0.M2  
Spring Cloud Gateway 2.2.0.M2 (issues)
Spring Cloud Netflix 2.2.0.M2  
Spring Cloud Starter Hoxton.M2  
Spring Cloud Kubernetes 1.1.0.M2  
Spring Cloud Task 2.2.0.M2 (issues)
Spring Cloud Commons 2.2.0.M2 (issues)
Spring Cloud Build 2.2.0.M4  
Spring Cloud Contract 2.2.0.M2 (issues)
Spring Cloud Security 2.2.0.M2  
Spring Cloud Openfeign 2.2.0.M2 (issues)
Spring Cloud Stream Horsham.M3 (issues)
Spring Cloud Bus 2.2.0.M2 (issues)
Spring Cloud Sleuth 2.2.0.M2 (issues)
Spring Cloud Consul 2.2.0.M2  
Spring Cloud Hoxton.M2  
Spring Cloud Gcp 1.2.0.M2  
Spring Cloud Function 3.0.0.M2 (issues)
Spring Cloud Release Hoxton.M2  
Spring Cloud Vault 2.2.0.M2  

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):

<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>Hoxton.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.2.RELEASE"
    }
}

repositories {
    maven {
        url 'https://repo.spring.io/milestone'
    }
}

apply plugin: "io.spring.dependency-management"

dependencyManagement {
    imports {
        mavenBom 'org.springframework.cloud:spring-cloud-dependencies:Hoxton.M2'
    }
}

dependencies {
    compile 'org.springframework.cloud:spring-cloud-starter-config'
    compile 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
    ...
}
comments powered by Disqus