Merge pull request #241 from ryanjbaxter/fix-wiki-updates

Fix wiki updates with calver releases
This commit is contained in:
Ryan Baxter
2021-12-16 16:00:21 -05:00
committed by GitHub
13 changed files with 607 additions and 5 deletions

View File

@@ -72,7 +72,10 @@ class ReleaseTrainContentsUpdater {
}
File releaseTrainWiki = this.handler.cloneReleaseTrainWiki();
ProjectVersion releaseTrain = projects.releaseTrain(this.properties);
String releaseTrainName = releaseTrain.major();
// When using calver this need to be a major plus minor (ie if the release is
// 2020.0.1, the name of the wiki page is 2020.0)
String releaseTrainName = releaseTrain.isCalver() ? releaseTrain.majorAndMinor()
: releaseTrain.major();
String wikiPagePrefix = this.properties.getGit().getReleaseTrainWikiPagePrefix();
String releaseTrainDocFileName = releaseTrainDocFileName(releaseTrainName,
wikiPagePrefix);

View File

@@ -194,7 +194,7 @@ public class ProjectVersion implements Comparable<ProjectVersion>, Serializable
throw new IllegalStateException("Version can't end with a delimiter!");
}
SplitVersion splitByHyphen = tryHyphenSeparatedVersion(version);
if (splitByHyphen != null) {
if (splitByHyphen != null && !splitByHyphen.calverReleaseTrain()) {
return splitByHyphen;
}
return dotSeparatedReleaseTrainsAndVersions(version);
@@ -314,6 +314,15 @@ public class ProjectVersion implements Comparable<ProjectVersion>, Serializable
return this.assertVersion().major;
}
public boolean isCalver() {
return this.assertVersion().calverReleaseTrain();
}
public String majorAndMinor() {
return this.assertVersion().major + this.assertVersion().delimiter
+ this.assertVersion().minor;
}
/**
* Compute the previous patch's version, without any prefix or suffix (ie
* MAJOR.MINOR.PATCH only). If the patch number is already at 0, returns an empty
@@ -740,7 +749,7 @@ public class ProjectVersion implements Comparable<ProjectVersion>, Serializable
return isOldReleaseTrain() || calverReleaseTrain();
}
private boolean calverReleaseTrain() {
public boolean calverReleaseTrain() {
try {
return Integer.parseInt(this.major) >= 2020;
}

View File

@@ -1,4 +1,4 @@
On behalf of the community, I am pleased to announce that the {{ availability }} of the [Spring Cloud {{ releaseName }}](https://cloud.spring.io) Release Train is available today. The release can be found in {{ releaseLink }}. You can check out the {{ releaseName }} [release notes for more information](https://github.com/spring-projects/spring-cloud/wiki/Spring-Cloud-{{ releaseName }}-Release-Notes).
On behalf of the community, I am pleased to announce that the {{ availability }} of the [Spring Cloud {{ releaseName }}](https://cloud.spring.io) Release Train is available today. The release can be found in {{ releaseLink }}. You can check out the {{ releaseName }} [release notes for more information](https://github.com/spring-cloud/spring-cloud-release/wiki/Spring-Cloud-{{ releaseName }}-Release-Notes).
## Notable Changes in the {{ releaseName }} Release Train
{{#each projects}}

View File

@@ -165,6 +165,25 @@ public class ReleaseTrainContentsUpdaterTests {
.contains("Updating project page to release train [Greenwich.RELEASE]");
}
@Test
public void should_generate_the_contents_of_wiki_when_release_train_missing_calvar()
throws GitAPIException, IOException {
this.properties.getMetaRelease().setEnabled(true);
this.properties.getGit().setUpdateReleaseTrainWiki(true);
this.properties.getGit()
.setReleaseTrainWikiUrl(this.wikiRepo.getAbsolutePath() + "/");
File file = this.updater.updateReleaseTrainWiki(freshNewReleaseTrainCalver());
BDDAssertions.then(file).isNotNull();
BDDAssertions.then(calverWikiEntryContent(file)).contains("# 2020.0.5").contains(
"Spring Cloud Consul `2.0.1.RELEASE` ([issues](http://www.foo.com/))");
BDDAssertions
.then(GitTestUtils.openGitProject(file).log().call().iterator().next()
.getShortMessage())
.contains("Updating project page to release train [2020.0.5]");
}
private String edgwareWikiEntryContent(File file) throws IOException {
return string(file, "Spring-Cloud-Edgware-Release-Notes.md");
}
@@ -173,6 +192,10 @@ public class ReleaseTrainContentsUpdaterTests {
return string(file, "Spring-Cloud-Greenwich-Release-Notes.md");
}
private String calverWikiEntryContent(File file) throws IOException {
return string(file, "Spring-Cloud-2020.0-Release-Notes.md");
}
private String string(File file, String s) throws IOException {
return new String(Files.readAllBytes(new File(file, s).toPath()));
}
@@ -249,4 +272,28 @@ public class ReleaseTrainContentsUpdaterTests {
new ProjectVersion("spring-cloud-function", "1.0.0.RELEASE"));
}
Projects freshNewReleaseTrainCalver() {
return new Projects(new ProjectVersion("spring-cloud-aws", "3.0.0.RELEASE"),
new ProjectVersion("spring-cloud-bus", "2.0.0.RELEASE"),
new ProjectVersion("spring-cloud-cli", "2.0.0.RELEASE"),
new ProjectVersion("spring-cloud-commons", "2.0.1.RELEASE"),
new ProjectVersion("spring-cloud-contract", "2.0.1.RELEASE"),
new ProjectVersion("spring-cloud-config", "2.0.1.RELEASE"),
new ProjectVersion("spring-cloud-netflix", "2.0.1.RELEASE"),
new ProjectVersion("spring-cloud-security", "2.0.0.RELEASE"),
new ProjectVersion("spring-cloud-cloudfoundry", "2.0.0.RELEASE"),
new ProjectVersion("spring-cloud-consul", "2.0.1.RELEASE"),
new ProjectVersion("spring-cloud-sleuth", "2.0.1.RELEASE"),
new ProjectVersion("spring-cloud-stream", "2020.0.0"),
new ProjectVersion("spring-cloud-zookeeper", "2.0.0.RELEASE"),
new ProjectVersion("spring-boot", "2.0.4.RELEASE"),
new ProjectVersion("spring-cloud-task", "2.0.0.RELEASE"),
// newer release train, current version in file is 2020.0.4
new ProjectVersion("spring-cloud-release", "2020.0.5"),
new ProjectVersion("spring-cloud-vault", "2.0.1.RELEASE"),
new ProjectVersion("spring-cloud-gateway", "2.0.1.RELEASE"),
new ProjectVersion("spring-cloud-openfeign", "2.0.1.RELEASE"),
new ProjectVersion("spring-cloud-function", "1.0.0.RELEASE"));
}
}

View File

@@ -0,0 +1,539 @@
# 2020.0.4
[All Issues](https://github.com/orgs/spring-cloud/projects/64)
2021-09-22
- Spring Cloud Cloudfoundry `3.0.2`
- Spring Cloud Config `3.0.5`
- Spring Cloud Contract `3.0.4`
- Spring Cloud Consul `3.0.4`
- Spring Cloud Gateway `3.0.4`
- Spring Cloud Netflix `3.0.4`
- Spring Cloud Vault `3.0.4`
- Spring Cloud Kubernetes `2.0.4`
- Spring Cloud Circuitbreaker `2.0.2`
- Spring Cloud Bus `3.0.3`
- Spring Cloud Cli `3.0.3`
- Spring Cloud Zookeeper `3.0.4`
- Spring Cloud Sleuth `3.0.4`
- Spring Cloud Starter Build `2020.0.4`
- Spring Cloud Task `2.3.2`
- Spring Cloud Commons `3.0.4`
- Spring Cloud Openfeign `3.0.4`
# 2020.0.3
## Breaking changes
Actuator is no longer a required dependency of config server [1742](https://github.com/spring-cloud/spring-cloud-config/issues/1742)
[All Issues](https://github.com/orgs/spring-cloud/projects/61)
2021-05-28
- Spring Cloud Cloudfoundry `3.0.2`
- Spring Cloud Config `3.0.4` ([issues](https://github.com/spring-cloud/spring-cloud-config/milestone/89?closed=1))
- Spring Cloud Contract `3.0.3` ([issues](https://github.com/spring-cloud/spring-cloud-contract/milestone/77?closed=1))
- Spring Cloud Consul `3.0.3` ([issues](https://github.com/spring-cloud/spring-cloud-consul/milestone/57?closed=1))
- Spring Cloud Gateway `3.0.3` ([issues](https://github.com/spring-cloud/spring-cloud-gateway/milestone/51?closed=1))
- Spring Cloud Netflix `3.0.3` ([issues](https://github.com/spring-cloud/spring-cloud-netflix/milestone/102?closed=1))
- Spring Cloud Vault `3.0.3`
- Spring Cloud Kubernetes `2.0.3` ([issues](https://github.com/spring-cloud/spring-cloud-kubernetes/milestone/31?closed=1))
- Spring Cloud Circuitbreaker `2.0.2`
- Spring Cloud Bus `3.0.3`
- Spring Cloud Cli `3.0.3`
- Spring Cloud Zookeeper `3.0.3` ([issues](https://github.com/spring-cloud/spring-cloud-zookeeper/milestone/37?closed=1))
- Spring Cloud Sleuth `3.0.3` ([issues](https://github.com/spring-cloud/spring-cloud-sleuth/milestone/90?closed=1))
- Spring Cloud Starter Build `2020.0.3`
- Spring Cloud Task `2.3.2`
- Spring Cloud Commons `3.0.3` ([issues](https://github.com/spring-cloud/spring-cloud-commons/milestone/89?closed=1))
- Spring Cloud Openfeign `3.0.3` ([issues](https://github.com/spring-cloud/spring-cloud-openfeign/milestone/36?closed=1))
This release makes it possible for all projects except for Spring Cloud Contract to use Spring Boot 2.5. Spring Boot 2.5 includes a major update of Groovy that can lead to various issues while using Spring Cloud Contract.
# 2020.0.2
[All Issues](https://github.com/orgs/spring-cloud/projects/53)
2021-03-17
- Spring Cloud Cloudfoundry `3.0.1` ([issues](https://github.com/spring-cloud/spring-cloud-cloudfoundry/milestone/16?closed=1))
- Spring Cloud Commons `3.0.2` ([issues](https://github.com/spring-cloud/spring-cloud-commons/milestone/87?closed=1))
- Spring Cloud Config `3.0.3` ([issues](https://github.com/spring-cloud/spring-cloud-config/milestone/88?closed=1))
- Spring Cloud Contract `3.0.2` ([issues](https://github.com/spring-cloud/spring-cloud-contract/milestone/75?closed=1))
- Spring Cloud Consul `3.0.2` ([issues](https://github.com/spring-cloud/spring-cloud-consul/milestone/56?closed=1))
- Spring Cloud Gateway `3.0.2` ([issues](https://github.com/spring-cloud/spring-cloud-gateway/milestone/49?closed=1))
- Spring Cloud Netflix `3.0.2` ([issues](https://github.com/spring-cloud/spring-cloud-netflix/milestone/100?closed=1))
- Spring Cloud Circuitbreaker `2.0.1` ([issues](https://github.com/spring-cloud/spring-cloud-circuitbreaker/milestone/8?closed=1))
- Spring Cloud Zookeeper `3.0.2`
- Spring Cloud Kubernetes `2.0.2` ([issues](https://github.com/spring-cloud/spring-cloud-kubernetes/milestone/30?closed=1))
- Spring Cloud Vault `3.0.2` ([issues](https://github.com/spring-cloud/spring-cloud-vault/milestone/47?closed=1))
- Spring Cloud Task `2.3.1`
- Spring Cloud Sleuth `3.0.2` ([issues](https://github.com/spring-cloud/spring-cloud-sleuth/milestone/88?closed=1))
- Spring Cloud Bus `3.0.2`
- Spring Cloud Cli `3.0.2`
- Spring Cloud Starter Build `2020.0.2`
- Spring Cloud Openfeign `3.0.2` ([issues](https://github.com/spring-cloud/spring-cloud-openfeign/milestone/34?closed=1))
# 2020.0.1
[All Issues](https://github.com/orgs/spring-cloud/projects/52)
2021-01-27
- Spring Cloud Openfeign `3.0.1` ([issues](https://github.com/spring-cloud/spring-cloud-openfeign/milestone/33?closed=1))
- Spring Cloud Config `3.0.2` ([issues](https://github.com/spring-cloud/spring-cloud-config/milestone/87?closed=1))
- Spring Cloud Commons `3.0.1` ([issues](https://github.com/spring-cloud/spring-cloud-commons/milestone/86?closed=1))
- Spring Cloud Contract `3.0.1` ([issues](https://github.com/spring-cloud/spring-cloud-contract/milestone/74?closed=1))
- Spring Cloud Consul `3.0.1` ([issues](https://github.com/spring-cloud/spring-cloud-consul/milestone/54?closed=1))
- Spring Cloud Gateway `3.0.1` ([issues](https://github.com/spring-cloud/spring-cloud-gateway/milestone/48?closed=1))
- Spring Cloud Netflix `3.0.1` ([issues](https://github.com/spring-cloud/spring-cloud-netflix/milestone/99?closed=1))
- Spring Cloud Zookeeper `3.0.1` ([issues](https://github.com/spring-cloud/spring-cloud-zookeeper/milestone/34?closed=1))
- Spring Cloud Vault `3.0.1` ([issues](https://github.com/spring-cloud/spring-cloud-vault/milestone/46?closed=1))
- Spring Cloud Kubernetes `2.0.1` ([issues](https://github.com/spring-cloud/spring-cloud-kubernetes/milestone/29?closed=1))
- Spring Cloud Sleuth `3.0.1` ([issues](https://github.com/spring-cloud/spring-cloud-sleuth/milestone/87?closed=1))
- Spring Cloud Bus `3.0.1` ([issues](https://github.com/spring-cloud/spring-cloud-bus/milestone/47?closed=1))
- Spring Cloud Cli `3.0.1` ([issues](https://github.com/spring-cloud/spring-cloud-cli/milestone/24?closed=1))
- Spring Cloud Starter Build `2020.0.1`
# 2020.0.0
## Known Issues
- 2020.0.0 Spring Cloud Consul: Retry support has not been added yet using `spring.config.import=consul:`. Follow the [issue here](https://github.com/spring-cloud/spring-cloud-consul/issues/703). The workaround is to use the old bootstrap style by including `spring-cloud-starter-bootstrap`.
Spring Cloud Config [3.0.1](https://github.com/spring-cloud/spring-cloud-config/milestone/85?closed=1) has been released to fix the issues below. Please use version 2020.0.1 which includes all the fixes below.
- 2020.0.0 Spring Cloud Config: Retry support is missing for `spring.config.import=configserver:`. Follow the issue [here](github.com/spring-cloud/spring-cloud-config/issues/1775). For a workaround, continue to use `bootstrap.{yml|properties}` and add a dependency on `spring-cloud-starter-bootstrap` to restore the old behavior.
- 2020.0.0 Spring Cloud Config: spring-cloud-config-dependencies imports a milestone of spring-vault. Follow the issue [here](github.com/spring-cloud/spring-cloud-config/issues/1776). See [a workaround here](https://github.com/spring-cloud/spring-cloud-config/issues/1776#issuecomment-749782456)
- 2020.0.0 Spring Cloud Config: using `spring.config.import` value of `spring.profiles.active` not being used. Follow the issue and see workarounds [here](https://github.com/spring-cloud/spring-cloud-config/issues/1777).
- 2020.0.0 Spring Cloud Config: Multi-document YAML and properties files from config server have the same property source name which leads to a missing property source. Follow the issue [here](https://github.com/spring-cloud/spring-cloud-config/issues/1778).
## Breaking changes
- As [announced](https://spring.io/blog/2019/12/23/spring-cloud-roadmap-and-hoxton-and-greenwich-maintenance-and-eol-announcements), the following modules have been removed from spring-cloud-netflix:
- spring-cloud-netflix-archaius
- spring-cloud-netflix-concurrency-limits
- spring-cloud-netflix-core
- spring-cloud-netflix-dependencies
- spring-cloud-netflix-hystrix
- spring-cloud-netflix-hystrix-contract
- spring-cloud-netflix-hystrix-dashboard
- spring-cloud-netflix-hystrix-stream
- spring-cloud-netflix-ribbon
- spring-cloud-netflix-sidecar
- spring-cloud-netflix-turbine
- spring-cloud-netflix-turbine-stream
- spring-cloud-netflix-zuul
- spring-cloud-starter-netflix-archaius
- spring-cloud-starter-netflix-hystrix
- spring-cloud-starter-netflix-hystrix-dashboard
- spring-cloud-starter-netflix-ribbon
- spring-cloud-starter-netflix-turbine
- spring-cloud-starter-netflix-turbine-stream
- spring-cloud-starter-netflix-zuul
- Support for ribbon, hystrix and zuul was removed across the release train projects.
- Bootstrap, provided by spring-cloud-commons, 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`.
- Support has been added for the new Spring Boot `spring.config.import` syntax for Config Server, Consul, Zookeeper and Vault. The existing properties to configure the different services are still supported but need to be put in `application.properties` or `application.yml`.
- `spring.config.import=configserver:`
- `spring.config.import=consul:`
- `spring.config.import=zookeeper:`
- `spring.config.import=vault:`
- Spring Cloud Consul removed the old tags-as-metadata functionality [issue](https://github.com/spring-cloud/spring-cloud-consul/issues/630)
- Previously the property to disable the Spring Cloud Config Client Health Indicator was `health.config.enabled=false`. It is now `management.health.config.enabled=false` following the Spring Boot convention.
- Spring Cloud Security was removed and code was moved to the individual Spring Cloud projects.
- The `spring-cloud-gateway-core` module was moved to `spring-cloud-gateway-server`. If you are using `spring-cloud-gateway-starter` this will not be an issue.
- The implementation of spring-cloud-bus was migrated to use spring-cloud-function instead of the legacy annotation-driven model. This should have minimal effect on users.
- `spring-cloud-stream` is now an optional dependency of `spring-cloud-bus`. If you are using a binder other than rabbitmq or kafka you will need to inclue the new `spring-cloud-starter-bus-stream`.
- Actuator endpoints with invalid characters (dashes) have been updated to remove them:
- `bus-env` is now `busenv`
- `bus-refresh` is now `busrefresh`
- `service-registry` is now `serviceregistry`
- In Spring Cloud Config, the endpoints from the resource API that used the `useDefaultLabel` query parameter have [been removed](https://github.com/spring-cloud/spring-cloud-config/issues/1643).
- As [announced](https://spring.io/blog/2020/04/17/spring-cloud-2020-0-0-m1-released) Spring Cloud GCP is no longer part of the Spring Cloud release train
### Spring Cloud Kubernetes
#### Code Refactoring
* Code that was not dependent on any Kubernetes client was moved into a module name `spring-cloud-kubernetes-commons`
* Packages were renamed to be Fabric8 specific. Any package that began with `org.springframework.cloud.kubernetes` has been renamed too `org.springframework.cloud.kubernetes.fabric8`
#### Kubernetes Client Implementations
* There are alternate implementations for much of the functionality in Spring Cloud Kubernetes using the [Kubernetes Java Client](https://github.com/kubernetes-client/java).
| Functionality | Starter |
| ---------------- | --------------- |
| Kubernetes Detection | spring-cloud-kubernetes-client |
| Configuration | spring-cloud-starter-kubernetes-client-config |
| Loadbalancer | spring-cloud-starter-kubernetes-client-loadbalancer |
| Discovery | spring-cloud-starter-kubernetes-client-all |
NOTE: When using the new Informer based DiscoveryClient you must give cluster wide permissions to the app due to [a bug in the Kubernetes Java Client](https://github.com/kubernetes-client/java/pull/1409)
#### Configuration Change Listener
* Classes related to event based and polling configuration change listeners have now been split up [PR 644](https://github.com/spring-cloud/spring-cloud-kubernetes/pull/644)
#### Renamed Starters
| Old Starter | Renamed Starter |
| ---------------- | --------------- |
| spring-cloud-starter-kubernetes | spring-cloud-starter-kubernetes-fabric8 |
| spring-cloud-starter-kubernetes-config | spring-cloud-starter-kubernetes-fabric8-config |
| spring-cloud-starter-kubernetes-all | spring-cloud-starter-kubernetes-fabric8-all |
| spring-cloud-starter-kubernetes-loadbalancer | spring-cloud-starter-kubernetes-fabric8-loadbalancer |
### Spring Cloud Sleuth
Most notable breaking changes:
#### `3.0.0-RC1`
##### Moving OpenTelemetry support to incubator
OpenTelemetry was unable to provide a reliable GA date of their modules. We've decided to remove OpenTelemetry support from Spring Cloud Sleuth and move it to incubator https://github.com/spring-cloud-incubator/spring-cloud-sleuth-otel/ . If you want to continue using OpenTelemetry with Spring Cloud Sleuth you need to add the Spring repositories, the `spring-cloud-sleuth-otel-dependencies` BOM and `spring-cloud-sleuth-otel-autoconfigure` dependency.
We have released a `1.0.0-M1` of Spring Cloud Sleuth OTel that is compatible with the `2020.0.0-RC1` release train.
.Maven
```xml
<properties>
<spring-cloud-sleuth-otel.version>1.0.0-M1</spring-cloud-sleuth-otel.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<!-- Provide the latest stable Spring Cloud release train version (e.g. 2020.0.0) -->
<version>${release.train.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-otel-dependencies</artifactId>
<!-- Provide the version of the Spring Cloud Sleuth OpenTelemetry project -->
<version>${spring-cloud-sleuth-otel.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-brave</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-otel-autoconfigure</artifactId>
</dependency>
<!-- You 'll need those to add OTel support -->
<repositories>
<repository>
<id>spring-snapshots</id>
<url>https://repo.spring.io/snapshot</url>
<snapshots><enabled>true</enabled></snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<url>https://repo.spring.io/milestone</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<url>https://repo.spring.io/snapshot</url>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<url>https://repo.spring.io/milestone</url>
</pluginRepository>
</pluginRepositories>
```
.Gradle
```
ext {
springCloudSleuthOtelVersion = "1.0.0-M1"
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${releaseTrainVersion}"
mavenBom "org.springframework.cloud:spring-cloud-sleuth-otel-dependencies:${springCloudSleuthOtelVersion}"
}
}
dependencies {
implementation("org.springframework.cloud:spring-cloud-starter-sleuth") {
exclude group: 'org.springframework.cloud', module: 'spring-cloud-sleuth-brave'
}
implementation "org.springframework.cloud:spring-cloud-sleuth-otel-autoconfigure"
}
repositories {
mavenCentral()
maven {
url "https://repo.spring.io/snapshot"
}
maven {
url "https://repo.spring.io/milestone"
}
maven {
url "https://repo.spring.io/release"
}
}
```
#### `3.0.0-M6`
##### Modules
* New modules: `spring-cloud-sleuth-autoconfigure`, `spring-cloud-sleuth-api`, `spring-cloud-sleuth-instrumentation`
`spring-cloud-sleuth-core` removed and changed to `spring-cloud-sleuth-instrumentation` & `spring-cloud-sleuth-api`
* Removed `spring-cloud-starter-sleuth-otel`
To add OpenTelemetry support you need to add `spring-cloud-starter-sleuth` (adds Brave by default), exclude Brave and add `spring-cloud-sleuth-otel` dependency
* Except for the tests, `spring-cloud-sleuth-autoconfigure` is the only module that can have access to `@Configuration`, `@ConfiguraationProperties` classes.
Tests have been added to ensure such separation.
##### Package moving
* `org.springframework.cloud.sleuth.api` -> `org.springframework.cloud.sleuth`
* `org.springframework.cloud.sleuth.brave.autoconfig` -> `org.springframework.cloud.sleuth.autoconfig.brave`
* `org.springframework.cloud.sleuth.otel.autoconfig` -> `org.springframework.cloud.sleuth.autoconfig.otel`
* `org.springframework.cloud.sleuth` -> `org.springframework.cloud.sleuth`
* Instrumentation: `org.springframework.cloud.sleuth.annotation` -> `org.springframework.cloud.sleuth.instrument.annotation`
* All the autoconfiguration classes were moved under `org.springframework.cloud/sleuth.autoconfig` package
##### Global class modifications
* Any class registered as a bean is now public
##### Classes
* `RateLimitingSampler` constructor changed
* Merged a lot of auto configuration classes into one (e.g. `BraveAutoConfiguration` now imports various other configurations)
* Renamed `TraceBraveAutoConfiguration` to `BraveAutoConfiguration`
* Renamed `TraceOtelAutoConfiguration` to `OtelAutoConfiguration`
* Removed all `NoOp` implementations of the API
To see the whole list check [this Github page](https://github.com/spring-cloud/spring-cloud-sleuth/issues?q=label%3A%22breaking+change%22+is%3Aclosed) and search for `3.0.0` milestones.
You can also check the [Sleuth 3.0.0 migration guide](https://github.com/spring-cloud/spring-cloud-sleuth/wiki/Spring-Cloud-Sleuth-3.0-Migration-Guide).
#### Up till `3.0.0-M5`
* Introduces abstraction over tracers [PR 1757](https://github.com/spring-cloud/spring-cloud-sleuth/pull/1757)
* You can use Spring Cloud Sleuth's abstraction over Span's lifecycle [Check the docs](https://docs.spring.io/spring-cloud-sleuth/docs/3.0.x-SNAPSHOT/reference/html/using.html#using)
* You can use Brave or OpenTelemetry directly
* Module change / removal
* Point of entry should be `spring-cloud-starter-sleuth` (Brave support) or `spring-cloud-starter-otel` (OpenTelemetry support).
* If you want to use Zipkin: `spring-cloud-starter-zipkin` is removed and you should replace is with `spring-cloud-sleuth-zipkin` dependency.
* Enable reactor manual instrumentation when in gateway breaking change enhancement [Issue 1710](https://github.com/spring-cloud/spring-cloud-sleuth/issues/1710)
* Remove the legacy Sleuth keys, span naming breaking change [Issue 1564](https://github.com/spring-cloud/spring-cloud-sleuth/issues/1564)
* Remove the legacy MDC entries and remain with the Brave MDC ones only breaking change enhancement [Issue 1221](https://github.com/spring-cloud/spring-cloud-sleuth/issues/1221)
# 2020.0.0-RC1
[All Issues](https://github.com/orgs/spring-cloud/projects/50)
2020-12-11
- Spring Cloud Circuitbreaker `2.0.0-RC1` ([issues](https://github.com/spring-cloud/spring-cloud-circuitbreaker/milestone/7?closed=1))
- Spring Cloud Contract `3.0.0-RC1` ([issues](https://github.com/spring-cloud/spring-cloud-contract/milestone/73?closed=1))
- Spring Cloud Kubernetes `2.0.0-RC1` ([issues](https://github.com/spring-cloud/spring-cloud-kubernetes/milestone/27?closed=1))
- Spring Cloud Commons `3.0.0-RC1`
- Spring Cloud Openfeign `3.0.0-RC1`
- Spring Cloud Cloudfoundry `3.0.0-RC1`
- Spring Cloud Security `3.0.0-RC1`
- Spring Cloud Bus `3.0.0-RC1`
- Spring Cloud Cli `3.0.0-RC1`
- Spring Cloud Zookeeper `3.0.0-RC1` ([issues](https://github.com/spring-cloud/spring-cloud-zookeeper/milestone/32?closed=1))
- Spring Cloud Sleuth `3.0.0-RC1` ([issues](https://github.com/spring-cloud/spring-cloud-sleuth/milestone/85?closed=1))
- Spring Cloud Consul `3.0.0-RC1`
- Spring Cloud Starter Build `2020.0.0-RC1`
- Spring Cloud Gateway `3.0.0-RC1`
- Spring Cloud Netflix `3.0.0-RC1` ([issues](https://github.com/spring-cloud/spring-cloud-netflix/milestone/97?closed=1))
- Spring Cloud Vault `3.0.0-RC1` ([issues](https://github.com/spring-cloud/spring-cloud-vault/milestone/43?closed=1))
- Spring Cloud Config `3.0.0-RC1` ([issues](https://github.com/spring-cloud/spring-cloud-config/milestone/83?closed=1))
# 2020.0.0-M6
[All Issues](https://github.com/orgs/spring-cloud/projects/49)
2020-12-01
- Spring Cloud Sleuth `3.0.0-M6` ([issues](https://github.com/spring-cloud/spring-cloud-sleuth/milestone/84?closed=1))
- Spring Cloud Consul `3.0.0-M6`
- Spring Cloud Gateway `3.0.0-M6`
- Spring Cloud Zookeeper `3.0.0-M6`
- Spring Cloud Config `3.0.0-M6`
- Spring Cloud Cloudfoundry `3.0.0-M6`
- Spring Cloud Netflix `3.0.0-M6`
- Spring Cloud Kubernetes `2.0.0-M6`
- Spring Cloud Circuitbreaker `2.0.0-M6`
- Spring Cloud Contract `3.0.0-M6` ([issues](https://github.com/spring-cloud/spring-cloud-contract/milestone/72?closed=1))
- Spring Cloud Starter Build `2020.0.0-M6`
- Spring Cloud Security `3.0.0-M6`
- Spring Cloud Bus `3.0.0-M6`
- Spring Cloud Cli `3.0.0-M6`
- Spring Cloud Vault `3.0.0-M6`
- Spring Cloud Openfeign `3.0.0-M6`
- Spring Cloud Commons `3.0.0-M6`
# 2020.0.0-M5
[All Issues](https://github.com/orgs/spring-cloud/projects/46)
2020-11-17
- Spring Cloud Consul `3.0.0-M5`
- Spring Cloud Gateway `3.0.0-M5`
- Spring Cloud Zookeeper `3.0.0-M5`
- Spring Cloud Sleuth `3.0.0-M5` ([issues](https://github.com/spring-cloud/spring-cloud-sleuth/milestone/81?closed=1))
- Spring Cloud Cloudfoundry `3.0.0-M5`
- Spring Cloud Config `3.0.0-M5` ([issues](https://github.com/spring-cloud/spring-cloud-config/milestone/82?closed=1))
- Spring Cloud Kubernetes `2.0.0-M5` ([issues](https://github.com/spring-cloud/spring-cloud-kubernetes/milestone/24?closed=1))
- Spring Cloud Netflix `3.0.0-M5` ([issues](https://github.com/spring-cloud/spring-cloud-netflix/milestone/95?closed=1))
- Spring Cloud Starter Build `2020.0.0-M5`
- Spring Cloud Circuitbreaker `2.0.0-M5` ([issues](https://github.com/spring-cloud/spring-cloud-circuitbreaker/milestone/6?closed=1))
- Spring Cloud Contract `3.0.0-M5` ([issues](https://github.com/spring-cloud/spring-cloud-contract/milestone/70?closed=1))
- Spring Cloud Security `3.0.0-M5`
- Spring Cloud Bus `3.0.0-M5` ([issues](https://github.com/spring-cloud/spring-cloud-bus/milestone/46?closed=1))
- Spring Cloud Cli `3.0.0-M5`
- Spring Cloud Openfeign `3.0.0-M5` ([issues](https://github.com/spring-cloud/spring-cloud-openfeign/milestone/30?closed=1))
- Spring Cloud Vault `3.0.0-M5`
- Spring Cloud Commons `3.0.0-M5` ([issues](https://github.com/spring-cloud/spring-cloud-commons/milestone/80?closed=1))
# 2020.0.0-M4
[All Issues](https://github.com/orgs/spring-cloud/projects/43)
2020-10-05
- Spring Cloud Sleuth `3.0.0-M4` ([issues](https://github.com/spring-cloud/spring-cloud-sleuth/milestone/79?closed=1))
- Spring Cloud Consul `3.0.0-M4` ([issues](https://github.com/spring-cloud/spring-cloud-consul/milestone/51?closed=1))
- Spring Cloud Config `3.0.0-M4` ([issues](https://github.com/spring-cloud/spring-cloud-config/milestone/80?closed=1))
- Spring Cloud Kubernetes `2.0.0-M4` ([issues](https://github.com/spring-cloud/spring-cloud-kubernetes/milestone/21?closed=1))
- Spring Cloud Gateway `3.0.0-M4`
- Spring Cloud Circuitbreaker `2.0.0-M4`
- Spring Cloud Contract `3.0.0-M4` ([issues](https://github.com/spring-cloud/spring-cloud-contract/milestone/68?closed=1))
- Spring Cloud Starter Build `2020.0.0-M4`
- Spring Cloud Netflix `3.0.0-M4` ([issues](https://github.com/spring-cloud/spring-cloud-netflix/milestone/92?closed=1))
- 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](https://github.com/spring-cloud/spring-cloud-bus/milestone/45?closed=1))
- Spring Cloud Zookeeper `3.0.0-M4` ([issues](https://github.com/spring-cloud/spring-cloud-zookeeper/milestone/31?closed=1))
- Spring Cloud Commons `3.0.0-M4` ([issues](https://github.com/spring-cloud/spring-cloud-commons/milestone/77?closed=1))
- Spring Cloud Openfeign `3.0.0-M4` ([issues](https://github.com/spring-cloud/spring-cloud-openfeign/milestone/25?closed=1))
- Spring Cloud Vault `3.0.0-M4` ([issues](https://github.com/spring-cloud/spring-cloud-vault/milestone/42?closed=1))
# 2020.0.0-M3
[All Issues](https://github.com/orgs/spring-cloud/projects/42)
2020-07-23
- Spring Cloud Sleuth `3.0.0-M3`
- Spring Cloud Kubernetes `2.0.0-M3`
- Spring Cloud Consul `3.0.0-M3`
- Spring Cloud Config `3.0.0-M3` ([issues](https://github.com/spring-cloud/spring-cloud-config/milestone/77?closed=1))
- Spring Cloud Gateway `3.0.0-M3`
- Spring Cloud Starter Build `2020.0.0-M3`
- Spring Cloud Circuitbreaker `2.0.0-M3`
- Spring Cloud Contract `3.0.0-M3` ([issues](https://github.com/spring-cloud/spring-cloud-contract/milestone/67?closed=1))
- Spring Cloud Cloudfoundry `3.0.0-M3`
- Spring Cloud Security `3.0.0-M3`
- Spring Cloud Netflix `3.0.0-M3`
- Spring Cloud Cli `3.0.0-M3`
- Spring Cloud Bus `3.0.0-M3`
- Spring Cloud Zookeeper `3.0.0-M3`
- Spring Cloud Commons `3.0.0-M3`
- Spring Cloud Vault `3.0.0-M3`
- Spring Cloud Openfeign `3.0.0-M3`
# 2020.0.0-M2
[All Issues](https://github.com/orgs/spring-cloud/projects/39)
2020-05-29
- 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](https://github.com/spring-cloud/spring-cloud-gateway/milestone/38?closed=1))
- Spring Cloud Circuitbreaker `2.0.0-M2`
- Spring Cloud Contract `3.0.0-M2` ([issues](https://github.com/spring-cloud/spring-cloud-contract/milestone/65?closed=1))
- 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`
# 2020.0.0-M1
2020-04-16
- Spring Cloud Netflix `3.0.0.M1` ([issues](https://github.com/spring-cloud/spring-cloud-netflix/milestone/88?closed=1))
- Spring Cloud Function `3.1.0.M1`
- Spring Cloud Sleuth `3.0.0.M1` ([issues](https://github.com/spring-cloud/spring-cloud-sleuth/milestone/74?closed=1))
- Spring Cloud Consul `3.0.0.M1` ([issues](https://github.com/spring-cloud/spring-cloud-consul/milestone/47?closed=1))
- Spring Cloud Kubernetes `2.0.0.M1`
- Spring Cloud Gateway `3.0.0.M1` ([issues](https://github.com/spring-cloud/spring-cloud-gateway/milestone/36?closed=1))
- Spring Cloud Circuitbreaker `2.0.0.M1`
- Spring Cloud Contract `3.0.0.M1` ([issues](https://github.com/spring-cloud/spring-cloud-contract/milestone/63?closed=1))
- Spring Cloud Starter Build `2020.0.0-M1`
- Spring Cloud Config `3.0.0.M1`
- Spring Cloud Build `3.0.0.M1`
- Spring Cloud Cloudfoundry `3.0.0.M1`
- Spring Cloud Security `3.0.0.M1`
- Spring Cloud Bus `3.0.0.M1`
- Spring Cloud Vault `3.0.0.M1`
- Spring Cloud Zookeeper `3.0.0.M1` ([issues](https://github.com/spring-cloud/spring-cloud-zookeeper/milestone/28?closed=1))
- Spring Cloud Commons `3.0.0.M1` ([issues](https://github.com/spring-cloud/spring-cloud-commons/milestone/72?closed=1))
- Spring Cloud Openfeign `3.0.0.M1` ([issues](https://github.com/spring-cloud/spring-cloud-openfeign/milestone/23?closed=1))

View File

@@ -0,0 +1 @@
adding Spring Clouud 2020.0 release notes

View File

@@ -1 +1,2 @@
0000000000000000000000000000000000000000 3fa536308bcdaf5c4670c0c438ead6b3cad990da Marcin Grzejszczak <mgrzejszczak@pivotal.io> 1540806486 +0100 clone: from git@github.com:spring-projects/spring-cloud.wiki.git
3fa536308bcdaf5c4670c0c438ead6b3cad990da 1fa2c37fe634da1c5e640dcb461711d356f660f2 Ryan Baxter <rbaxter@vmware.com> 1639686770 -0500 commit: adding Spring Clouud 2020.0 release notes

View File

@@ -1 +1,2 @@
0000000000000000000000000000000000000000 3fa536308bcdaf5c4670c0c438ead6b3cad990da Marcin Grzejszczak <mgrzejszczak@pivotal.io> 1540806486 +0100 clone: from git@github.com:spring-projects/spring-cloud.wiki.git
3fa536308bcdaf5c4670c0c438ead6b3cad990da 1fa2c37fe634da1c5e640dcb461711d356f660f2 Ryan Baxter <rbaxter@vmware.com> 1639686770 -0500 commit: adding Spring Clouud 2020.0 release notes

View File

@@ -0,0 +1 @@
x<01><>kN1 <0C><><EFBFBD>S<EFBFBD>TnN"!<21><>p<02>q<EFBFBD>RwS<77>Y<1E>g<EFBFBD>

View File

@@ -1 +1 @@
3fa536308bcdaf5c4670c0c438ead6b3cad990da
1fa2c37fe634da1c5e640dcb461711d356f660f2