Skip to content

Release Train Naming Convention

Spencer Gibb edited this page Jul 24, 2020 · 1 revision

Introduction

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.

Historical Naming

Historically, 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, etc...). 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.

The named release trains are:

  • Angel
  • Brixton
  • Camden
  • Dalston
  • Edgware
  • Finchley
  • Greenwich
  • Hoxton

Hoxton will be the last named release train. See Supported-Versions for it's support timeline.

Calver Release Trains

Starting in 2020, the Spring Team moved to Calendar Versioning (or calver for short) style release train versions. For Spring Cloud this started with 2020.0.0-M1.

We will follow the YYYY.MINOR.MICRO scheme where MINOR is an incrementing number that starts at zero each year. The MICRO segment corresponds to suffixes previously used: .0 is analogous to .RELEASE and .2 is analogous to .SR2. Pre-release suffixes will also change from using a . to a - for the separator, for example, 2020.0.0-M1 and 2020.0.0-RC2. We will also stop prefixing snapshots with BUILD- -- for example 2020.0.0-SNAPSHOT.

We will continue to use London Tube Station names for code names. These names will no longer be used in versions published to maven repositories.

Calver Release Trains

  • 2020.0 (codename Ilford)