Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is springboot versioning convention?

Tags:

Can anybody please explain what is the meaning of PRE, SNAPSHOTS, GA and Current for spring-boot versions?

Below is a screenshot of versions shown on spring-boot website.

enter image description here

Also, latest version contains M3 appended in end just before PRE.

Please help!

like image 614
Vinay Prajapati Avatar asked Sep 10 '17 05:09

Vinay Prajapati


People also ask

What does Snapshot mean Spring?

7-SNAPSHOT means it has not been released yet... I can't answer if Spring will release it ever... – khmarbaise.

What is GA in Spring version?

At the very end of the release process, the Spring team produces a RELEASE. Consequently, this is usually the only production-ready artifact. We can also refer to this release as GA, for General Availability.

Which version of Spring is compatible with Spring boot?

Spring Boot 2.0 builds on and requires Spring Framework 5.

How do I know my spring boot version?

In Spring boot application, you can easily obtain the info by altering the Spring Boot Maven/Gradle plugin configuration to generate the build. properties file and then accessing it through BuildProperties object.


1 Answers

GA

GA as in general availability are versions that have been released to the public. A version that has had this status for once will never change its contents.

CURRENT

The most recent GA release that should usually be used for all new projects.

PRE

pre release versions will also not change but are only released to let developers test the features of an upcoming GA release. They might contain some bugs that will be fixed in a later pre release of the same version (i.e. bugs in 2.0.0 M1 will probably be fixed in 2.0.0 M2). M is short for milestone.

SNAPSHOT

Same as PRE but this version is usually built every night to include the most recent changes. See this question on more about snapshots. Might also contain bugs.

Version life cycle

The usual life cycle of a single version would be as follows on the example of version 1.0.0:

  • 1.0.0 SNAPSHOT those releases are built every day, replacing earlier snapshots of the same version
  • 1.0.0 M1 once a development milestone was reached a single build is made that is called M#. For the next milestone # is increased by one. Milestones are never overwritten. Snapshots are continued to be made every day.
  • 1.0.0 GA once the last milestone was released and the latest snapshot is feature complete and all known bugs are fixed the general availability release is made. From there on no other Releases of the same version are made, i.e. no more snapshots or milestones.

If bugs are found in a GA release the last version number is increased by one (i.e. 1.0.0 to 1.0.1 and a new release cycle is being started).

like image 123
Florian Cramer Avatar answered Oct 11 '22 03:10

Florian Cramer