What does .RELEASE mean in Spring Framework versions
The ".RELEASE" suffix was used in older Spring releases, but was dropped in 2020. It indicates that the version is the release version of the software, rather than a pre-release version.
Pre-2020 naming scheme
Per this (now-defunct) documentation, the pre-2020 naming scheme was {major}.{minor}.{micro}.{release_type}
, where release_type
was one of the following:
- BUILD-SNAPSHOT: A release currently in development. Such artifacts are typically produced by a nightly CI build, such as SPR-TRUNKSNAPSHOT or INT-NIGHTLY, and deployed to http://maven.springframework.org/snapshot.
- M#: A 'milestone' release. Such artifacts are usually produced manually, following the release process and are deployed to http://maven.springframework.org/milestone.
- RC#: A 'GA release candidate'. Such artifacts are produced with the exact same release process as milestones, and are also deployed to http://maven.springframework.org/milestone.
- RELEASE: A GA (Generally Available) release. Again, produced using the same release process. In this case, deployment happens (a) to http://maven.springframework.org/release and (b) to Maven Central.
Current naming scheme
The current naming scheme used for new Spring releases is MAJOR.MINOR.PATCH[-MODIFIER]
, with no modifier used for release versions.
MODIFIER
is an optional modifier such that<COUNT>
is an incremented 1-based number:
- For milestones, we will use
M<COUNT>
.- For release candidates, we will use
RC<COUNT>
.- For snapshots, we will use
-SNAPSHOT
. Note that.BUILD
that was present in our previous scheme has been removed.- For releases, there will be no modifier.
Naming scheme comparison
Release Type | Current | Previous |
---|---|---|
Snapshot | 5.2.0-SNAPSHOT | 5.2.0.BUILD-SNAPSHOT |
Milestone | 5.2.0-M1 | 5.2.0.M1 |
Release Candidate | 5.2.0-RC1 | 5.2.0.RC1 |
Release | 5.2.0 | 5.2.0.RELEASE |