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 Milestone 4 (M4) of the Spring Cloud 2020 Release Train is available today. The release can be found in Spring Milestone repository. You can check out the 2020 release notes for more information.
This release requires Spring Boot 2.4.0-M3.
Please see [the wiki] for a list of all breaking changes in this release train.
See all of the included issues and pull requests at the Github project.
The bootstrap phase is no longer enabled by default. If your project requires it, it can be re-enabled by properties or by a new starter. To re-enable by properties set spring.cloud.bootstrap.enabled=true
or spring.config.use-legacy-processing=true
. These need to be set as an environment variable, java system property or a command line argument. The other option is to include the new spring-cloud-starter-bootstrap
. Bootstrap is mostly used to import configuration from remote sources. To do this without boostrap see the new features in Config, Consul, Vault and Zookeeper.
Further updates of Reactor based manual instrumentation
spring.config.import=consul:
) or individual paths (spring.config.import=consul:myhost:8500/my-app,myprofile;other-context-path
).spring.config.import=configserver:
).Common interfaces from spring-cloud-kubernetes-core have been moved to a new module (#649)
Refactor ConfigurationChangeListener
(#643)
Add support for Spring Cloud LoadBalancer (#562)
spring-cloud-gateway-core
module to spring-cloud-gateway-server
.Custom Mode
of test generationbus-env
to busenv
and bus-refresh
to busrefresh
.spring.config.import=zookeeper:
) or individual paths (spring.config.import=zookeeper:myhost:2181/my-app,myprofile;other-context-path
).Targetter
and FeignClientFactoryBean
FeignClientBuilder
spring.config.import=vault://
) or individual secret backend paths (spring.config.import=vault://secret/my-app,vault://secret/other-context-path
)ReactiveDiscoveryClient
and ReactiveVaultEndpointProvider
WebClientFactory
and RestTemplateFactory
available as beansThe following modules were updated as part of 2020.0.0-M4:
| Module | Version | Issues
|--- |--- |--- |---
| Spring Cloud Sleuth | 3.0.0-M4 | (issues)
| Spring Cloud Consul | 3.0.0-M4 | (issues)
| Spring Cloud Config | 3.0.0-M4 | (issues)
| Spring Cloud Kubernetes | 2.0.0-M4 | (issues)
| Spring Cloud Gateway | 3.0.0-M4 |
| Spring Cloud Circuitbreaker | 2.0.0-M4 |
| Spring Cloud Contract | 3.0.0-M4 | (issues)
| Spring Cloud Starter Build | 2020.0.0-M4 |
| Spring Cloud Netflix | 3.0.0-M4 | (issues)
| Spring Cloud Cloudfoundry | 3.0.0-M4 |
| Spring Cloud Security | 3.0.0-M4 |
| Spring Cloud Cli | 3.0.0-M4 |
| Spring Cloud Bus | 3.0.0-M4 | (issues)
| Spring Cloud Zookeeper | 3.0.0-M4 | (issues)
| Spring Cloud Commons | 3.0.0-M4 | (issues)
| Spring Cloud Openfeign | 3.0.0-M4 | (issues)
| Spring Cloud Vault | 3.0.0-M4 | (issues)
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>2020.0.0-M4</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-M4'
}
}
dependencies {
compile 'org.springframework.cloud:spring-cloud-starter-config'
compile 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
//...
}