On behalf of the team and community, I am pleased to announce that the General Availability (RELEASE) of the Spring Cloud Edgware Release Train is available today. The release can be found in Maven Central. You can check out the Edgware release notes for more information.

Notable Changes in the Edgware Release Train

Spring Cloud Bus

Updates to allow Bus clients to implement remote events in independent packages.

Spring Cloud Task

See the blog post announcing Task 1.2.0.

Spring Cloud Commons

Adds support for back off policy when retrying requests.

Spring Cloud Stream

See the Ditmars release announcement for more information.

Spring Cloud Sleuth

Added RestTemplateBuilder support

support Zipkin 2 is now the default

spring-cloud-starter-zipkin now uses Zipkin 2 and spring-cloud-starter-zipkin-legacy uses Zipkin 1.

now uses Zipkin 2 and uses Zipkin 1. Now, you could find Zipkin via Service Discovery by setting the service id as Zipkin URL e.g. spring.zipkin.baseUrl: http://zipkinserver/

@Async method can use @SpanName to change the default span name

Spring Cloud Security

Adds support for retry using UserInfoRestTemplate .

Spring Cloud Contract

WireMock bumped to 2.11.0 and turned on and verbose mode has been enabled

Introduced adding of custom WireMock extensions

Allowed referencing url segment in body response verification

Added support for referencing file contents in the contract

Added an option to dump mappings to files

Rest Assured upgraded to 3.0

A regression that affects the plugin was introduced and but was fixed in 1.2.1 . For the plugin please use 1.2.1.RELEASE

Spring Cloud Vault

Support of Kubernetes and AWS IAM (requires AWS Java SDK) authentication methods.

Vault discovery using DiscoveryClient in the bootstrap context.

in the bootstrap context. Configuration of PropertySourceLocator to customize context paths. Used by Spring Cloud Vault Connector for running applications with HashiCorp’s Vault service broker on Cloud Foundry.

to customize context paths. Used by Spring Cloud Vault Connector for running applications with HashiCorp’s Vault service broker on Cloud Foundry. Refresh of generic secrets after TTL expiry.

Upgrade to Spring Vault 1.1

Spring Cloud Netflix

Adds support for back off policy when retrying requests.

An optional Eureka client built using RestTemplate rather than Jersey.

@EnableDiscoveryClient is now optional. Including spring-cloud-starter-netflix will automatically assume the application should register and be a discovery client. To disable auto-registration set spring.cloud.service-registry.auto-registration.enabled=false . Hystrix and Eureka Server are now tested via Spring Cloud Contract.

Spring Cloud Consul

Adds compatibility with the recent Hashicorp Consul 1.0 release.

Consul DiscoveryClient now supports a datacenter parameter. HTTPS checks with self-signed certificates are now supported.

Spring Cloud Config

A new JDBC EnvironmentRepository was created.

Modules

The following modules were updated as part of Edgware.RELEASE:

Module Version Spring Cloud Config 1.4.0.RELEASE Spring Cloud Task 1.2.2.RELEASE Spring Cloud Commons 1.3.0.RELEASE Spring Cloud Stream Ditmars.RELEASE Spring Cloud Zookeeper 1.2.0.RELEASE Spring Cloud Sleuth 1.3.0.RELEASE Spring Cloud Gateway 1.0.0.RELEASE Spring Cloud Cloudfoundry 1.1.0.RELEASE Spring Cloud Contract 1.2.0.RELEASE Spring Cloud Security 1.2.1.RELEASE Spring Cloud Aws 1.2.2.RELEASE Spring Cloud Vault 1.1.0.RELEASE Spring Cloud Netflix 1.4.0.RELEASE Spring Cloud Bus 1.3.2.RELEASE Spring Cloud Consul 1.3.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>Edgware.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-eureka</artifactId> </dependency> ... </dependencies>

or with Gradle: