spring-cloud / spring-cloud-release

Spring Cloud Release Train - dependency management across a wide range of Spring Cloud projects.
http://projects.spring.io/spring-cloud
Apache License 2.0
874 stars 179 forks source link

Update and clarify support for Spring Cloud release trains #240

Closed breun closed 1 year ago

breun commented 2 years ago

I'd like to see documented until when each Spring Cloud release train is supported, similar to what Spring Boot documents at https://spring.io/projects/spring-boot#support

There is a wiki page about Spring Cloud supported versions, but I'm having some problems understanding its contents.

The first sentence says: "Spring Cloud follows the Pivotal OSS support policy and supports major versions for 3 years from the release date."

Spring Cloud 2020 was released in December 2020, so I thought it would be supported until December 2023. But apparently that is not correct, because yesterday I learned that support for Spring Cloud 2020 has already ended.

The section on upcoming releases mentions 2021 as an upcoming version, but that was already released in December 2021.

The section on supported releases mentions 2020, but apparently that is no longer a supported release. Hoxton is also mentioned in this section, but support for that has ended according to the dates that are mentioned.

It would be good to get this page updated and maybe include a table which states the end of support dates for each release train.

breun commented 2 years ago

In April I read that OSS support for Spring Cloud 2020 had already ended, but today Spring Cloud 2020.0.6 was released. This is all pretty confusing to me.

ryanjbaxter commented 2 years ago

We did another release because we had a lot of requests for some fixes there. So despite official support has ended for it, we did it for the benefit of the community.

To your original issue, I think the page has been updated since you opened this issue, does it address your questions?

breun commented 2 years ago

We did another release because we had a lot of requests for some fixes there. So despite official support has ended for it, we did it for the benefit of the community.

Ok, that this was an extra after-end-of-OSS-support release wasn't clear from the release announcement, so I was surprised to see another 2020.x release and thought I had previously misunderstood the end of OSS support for Spring Cloud 2020, which wouldn't have been the first time.

To your original issue, I think the page has been updated since you opened this issue, does it address your questions?

No, I still find Spring Cloud's supported versions wiki page confusing and lacking information about the end of support.

  1. The page starts with "Spring Cloud follows the Pivotal OSS support policy and supports major versions for 3 years from the release date (but you must run a supported minor version)" and "Minor versions are supported for at least 12 months", but most people will use a year-based Spring Cloud release train version, and those are not supported for 3 years from the release date. I'm not sure that users understand how to interpret these statements correctly. At least me and my colleagues did not understand and at first assumed this meant that Spring Cloud 2020 would be supported for 3 years from the release date, but release trains apparently get OSS support for about a year (or 1.5 years in case of 2020.0.x).
  2. The section about supported releases shows release train versions outside OSS support in strikethrough, but it doesn't show until when the currently supported release trains will be supported, which is what I'd like to know as a user. Similarly the End of Life releases section lists which releases have reached end of life, but doesn't mention when currently supported releases will reach end of life. Spring Boot shows end of support information nicely, which I think is a good example of how this could be done.
spencergibb commented 2 years ago

So a release train has NO support whatsoever, only the projects contained in it. This is the reason there is no support tab on https://spring.io/projects/spring-cloud. You have to go to the individual projects to see their support (hence the table on the supported versions wiki page). Again, XXXX.Y.Z means: XXXX 4 digit year, Y counter starting at 0 for each year, each subsequent release train will increment this number by one (has not happened yet), Z is 0 for the first GA release and incremented by one for each Service Release.

So 2020.0 contains mostly 3.0.x and 2.0.x (except task, stream and function) which are major versions. Those major lines 3.x and 2.x are supported for 3 years. 3.0.x and 2.0.x are only supported for 12 months. So 3.1.x and 2.1.x will finish the required 3 year minimum support (likely more since it is the last to go with framework 5 and boot 2)

breun commented 2 years ago

I’m sure that what you’re saying here is true, but that is not information me or my colleagues were able to gather from that wiki page.

spencergibb commented 2 years ago

Unfortunately a release train can't have as simple of support tab as spring boot. Any specific ways we could clarify would be helpful

breun commented 2 years ago

As a developer of a framework based on Spring Cloud, I’m interested to know until when I can expect service release updates for a particular release train. So, until when will OSS service releases be released for 2020.0.x, 2021.0.x, etc.? I currently can’t find this information.

I think that mentioning that the support lifetime rules at the top of the Spring Cloud wiki page don’t apply to the release train versions, but to the underlying versions of the various Spring Cloud projects would be helpful.

I also wonder under what circumstances the middle ‘counter’ digit in a release train version (year.counter.service-release) would be incremented. As you mention do far this indeed hasn’t happened, but I wonder what it’s meant for.

spencergibb commented 2 years ago

I’m interested to know until when I can expect service release updates for a particular release train. So, until when will OSS service releases be released for 2020.0.x, 2021.0.x, etc.? I currently can’t find this information.

This information doesn't officially exist. Only the support timelines of the individual projects.

I also wonder under what circumstances the middle ‘counter’ digit in a release train version (year.counter.service-release) would be incremented. As you mention do far this indeed hasn’t happened, but I wonder what it’s meant for.

If we release more than one new release train in a year.

breun commented 2 years ago

I’m interested to know until when I can expect service release updates for a particular release train. So, until when will OSS service releases be released for 2020.0.x, 2021.0.x, etc.? I currently can’t find this information.

This information doesn't officially exist. Only the support timelines of the individual projects.

So, a Spring Cloud release train cannot know when a release train reaches end of OSS support until it's marked as such on the wiki page? I guess most Spring Cloud users will use a release train instead of dealing with the individual Spring Cloud projects, so it's too bad that there is no way to know beforehand until when service releases will be made available for a release train.

spencergibb commented 2 years ago

Upcoming releases are listed here and we typically plan them at the beginning of each year.

breun commented 2 years ago

Ok, we'll have to keep an eye on that page then.