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 Finchley Release Train is available today. The release can be found in Maven Central. You can check out the Finchley release notes for more information.
The Camden release train has reached end-of-life status. The Dalston release train will reach end-of-life status in December 2018. The Edgware release train will follow the end-of-life cycle of the Spring Boot 1.5.x line.
Spring Cloud Function and Spring Cloud Gateway are new additions to the Spring Cloud portfolio. The portfolio was also made compatible with Spring Boot 2.0.x which was a significant effort. Spring Cloud now has a minimum version of Java 8.
Spring Cloud Gateway is an API Gateway built on top of Spring Webflux and Reactor Netty. It is a next generation gateway and can be viewed as a replacement for Spring Cloud Netflix Zuul. It provides dynamic routing based on easy to define predicates. It also provides filters that are scoped to each route, examples include: path rewriting, circuit breaker, adding or removing headers, rate limiting and security. Routes can be defined using properties or using included support for DiscoveryClient
(Eureka, Consul & Zookeeper).
Spring Cloud Function is a project with the following high-level goals:
sleuth-stream
#555 and zipkin-stream
#727 dependencies. Spans via messaging can be only sent to Zipkin via native Zipkin dependencies.spring.zipkin.sender.type=kafka
needs to explicitly be set to send spans over Kafka #985, #1013TraceKeys
are hidden from the user and are deprecated #940Examples: https://github.com/spring-cloud-samples/sleuth-documentation-apps, https://github.com/openzipkin/sleuth-webmvc-example
spring-cloud-netflix-hystrix-amqp
has been removedZuulFallbackProvider
has been removed and replaced with FallbackProvider
#2262/hystrix.stream
now uses WebFlux #2629/clusters
endpoint that can be used to discover configured clusters #2223Please see the release blog post.
@LoadBalanced
annotation on WebClient
sstubsMode
and contractsMode
#287@AutoConfigureStubRunner
a test slice #473@StubRunnerPort
convenience mechanism of finding stubs #5732.18.0
#659Examples: https://github.com/spring-cloud-samples/spring-cloud-contract-samples/
Please see the release blog post.
ReactiveVaultOperations
to provide a reactive API on top of WebClient
#133.Examples: https://github.com/mp911de/spring-cloud-vault-config-samples/
Actuator endpoints were updated to use the new actuator framework.
The new reactive Cloud Foundry Java Client is used.
Added support for HTTPS instances and ACLs. @Scheduled
is no longer used for Consul watches.
Updated to use Curator 4.0.1.
Adds support for PropertySourceLocator that uses AWS Parameter Store. Micrometer support for CloudWatch metrics.
The following modules were updated as part of Finchley.RELEASE:
Module | Version |
---|---|
Spring Cloud Consul | 2.0.0.RELEASE |
Spring Cloud Gateway | 2.0.0.RELEASE |
Spring Cloud Function | 1.0.0.RELEASE |
Spring Cloud Zookeeper | 2.0.0.RELEASE |
Spring Cloud Sleuth | 2.0.0.RELEASE |
Spring Cloud Aws | 2.0.0.RELEASE |
Spring Cloud Config | 2.0.0.RELEASE |
Spring Cloud Cloudfoundry | 2.0.0.RELEASE |
Spring Cloud Security | 2.0.0.RELEASE |
Spring Cloud Netflix | 2.0.0.RELEASE |
Spring Cloud Task | 2.0.0.RELEASE |
Spring Cloud Commons | 2.0.0.RELEASE |
Spring Cloud Contract | 2.0.0.RELEASE |
Spring Cloud Stream | Elmhurst.RELEASE |
Spring Cloud Vault | 2.0.0.RELEASE |
Spring Cloud Bus | 2.0.0.RELEASE |
Spring Cloud Openfeign | 2.0.0.RELEASE |
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):
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.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>
or with Gradle:
buildscript {
dependencies {
classpath "io.spring.gradle:dependency-management-plugin:1.0.5.RELEASE"
}
}
apply plugin: "io.spring.dependency-management"
dependencyManagement {
imports {
mavenBom 'org.springframework.cloud:spring-cloud-dependencies:Finchley.RELEASE'
}
}
dependencies {
compile 'org.springframework.cloud:spring-cloud-starter-config'
compile 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
...
}