The idea of ​​"calendar · versioning" that determines the version based on the date



Various kinds of software have been developed so far, but in developing it, the dependency between software is the question which becomes problem regardless of the size of the project. Version control has served to specify its exact dependency. Currently, there are two ways to manage versions, one is a number separated by, for example, "3.1.4", and the other is a "CalVerIt is what is called. We will look at what type of version control is done by CalVer.

Calendar Versioning - CalVer
https://calver.org/


The project has a version control scheme suitable for each scale and development period. The important thing is not to operate CalVer in a single scheme, but to recognize the utility of each of CalVer and incremental numbers and design a scheme that fits the project. Commonly used schemes are as follows.

· Major version
The first number in the version, for example Python 2 or 3 is a famous major version. CalVer is often used in this major version part.

· Minor version
The second number in the version. For example, the most famous minor version in Python of 2.x series is 7.

· Micro version
The third number in the version. It is sometimes called a "patch" segment.

Modifier
Optional text such as "dev" "alpha" "beta" "rc1".

For example, the major version is 2, the minor version is 7, the micro version is 15, and the release candidate (Release Candidate) version is written as "2.7.15 rc 1".



If it is not CalVer, the number increments by 1 for each version upgrade, but if you use CalVer, the version number will be based on the release date. Usually UTC is used. For example, in Microsoft Windows operating systems, version numbers such as 95, 98, 2000 use CalVer. Examples of frequently used CalVer are as follows.

· YYYY
The calendar calendar of 2006, 2016, 2106 etc. enters as it is. There are many examples such as ECMAScript 2015 which is JavaScript version.

· YY
It is a short version of the Christian era such as 6, 16, 106. This pattern is Windows 95, Windows 98, etc.

· 0Y
0, 16, 106 and so on with the head of the Christian era zeroed.

· MM
Months such as 1,2, ......, 11, 12 are entered.

· 0 M
01, 02, ......, 11, 12, etc. The head of the month is zeroed and the digits are adjusted.

· DD
1, 2, ..., ..., 30, 31, and so on.

· 0D
0, 0, 2, ...,., 30, 31, etc., with the head of the date zeroed.



In other cases than Windows, "Ubuntu" or "ArchLinux" which is one of Linux distributions can be mentioned. Ubuntu's version is CalVer's "YY.0M" format, for example, the version released in October 2004 is 4.10, and the version released in April 2017 is 17.04. The version of ArchLinux is "YYYY.0 M.0D" format like 2018.06.01, and it is clear at a moment when it was released.

By using such a CalVer format, you can clarify the deadline of support, and you can enjoy the merit that the version number conveys additional information in projects that operate a huge system.

in Software, Posted by log1d_ts