Project Version Number Management Instructions

Introduction

Some special versions are often seen when using jar packages, such as the JNDI injection vulnerability of log4j this time, the released version log4j-2.15.0-rc2

What does this rc2 stand for?

Software version

Alpha (a)

The preview version, also known as the internal beta version, is generally not released to the outside world, and there will be many bugs, mainly used by internal personnel for testing.

Large versions of many open source software will also be released for everyone to find fault with.

E.g:

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.0-alpha1</version>
</dependency>

Beta (β)

The beta version, also called the public beta version, is launched after the alpha version. We will hardly ever see an alpha version, but many open source software will provide a beta version on their official website.

It is also the 2.0 version of log4j-api that has released 9 Beta versions:

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.0-beta9</version>
</dependency>

RC(Release Candidate)

The final test version, the candidate version of the final product, as can be seen from the name, is a candidate for Release. If no new bugs are found, it will be released as the official version.

Most open source software will release two RC versions, and the last RC2 will become the official version. For example, log4j-2.15.0-rc2 will finally become the official log4j-2.15.0 version.

Of course, rc does not necessarily have only 2 versions, for example:

<dependency>
    <groupId>org.gradle</groupId>
    <artifactId>gradle-core</artifactId>
    <version>7.3-rc-5</version>
    <scope>provided</scope>
</dependency>

Stable

Stable version, from the preview version release use and improvement and the correction is completed.

For example, Nginx will have:

  1. Mainline version: Mainline is the version that Nginx is currently working on
  2. Stable version: the latest stable version, the version recommended for production environments
  3. Legacy versions: stable versions of legacy versions

Download NGINX

GA(General Availability)

Officially released versions, such as:

<dependency>
    <groupId>org.javassist</groupId>
    <artifactId>javassist</artifactId>
    <version>3.28.0-GA</version>
</dependency>

Version number description

The software version number of the normative project is divided into 3 sections: major version number. minor version number. revision number (MAJOR.MINOR.PATCH)

  1. Major version number (major): made incompatible API changes,
  2. Minor: Added functionality for backward compatibility
  3. Revision number (patch): The problem of backward compatibility has been corrected, and it will be added as long as there are changes.

Version number specification

Version number specification Chinese

{{o.name}}
{{m.name}}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324042384&siteId=291194637