Understanding Spring Cloud Release Versions

singularity picture singularity · Feb 8, 2017 · Viewed 8.1k times · Source

Spring folks do a great job of releasing lots of quality projects. One of them we have been using is Spring Cloud and its various sub-projects.

One aspect that is really confusing to me is Spring Cloud version names. For ex., if you goto Spring Cloud it reads Camden or Angel or Brixton. Then if you goto specific project site, for ex., Spring Cloud Config it shows versions like 1.3.0 or 1.2.3

Two questions about these.

  1. From named versions (camden, brixton, angel) it is hard to visualize which is the latest and its sequence. Is there a place it is well documented?

  2. How are named releases related to sub-projects numbered releases?

Thank you for your time.

Answer

singularity picture singularity · Feb 8, 2017

After posting the question, found some information about these versions in main page. This surely clears things up.

Spring Cloud is an umbrella project consisting of independent projects with, in principle, different release cadences. To manage the portfolio a BOM (Bill of Materials) is published with a curated set of dependencies on the individual project (see below). The release trains have names, not versions, to avoid confusion with the sub-projects. The names are an alphabetic sequence (so you can sort them chronologically) with names of London Tube stations ("Angel" is the first release, "Brixton" is the second). When point releases of the individual projects accumulate to a critical mass, or if there is a critical bug in one of them that needs to be available to everyone, the release train will push out "service releases" with names ending ".SRX", where "X" is a number.