2020-02-03 - Versioning


######################################
SimVer
Simple Versioning
NNNN
examples:
1: 1
2: 2
2: 2
...
827: 827
//
Pros:
+ Short
+ unlimited releases per day

Cons:
- not a lot of meaning without context


######################################
CalVer
Calendar Versioning
YY.MM.DD.incremental[-hot]
examples:
1:    19.1.31.11
2:    19.1.31.12
3:    19.1.31.12-2
4:    19.1.31.13
5:    19.1.31.13-2
6:    19.1.31.13-3
7:    20.2.2.14
8:    20.2.2.15
9:    20.2.2.16
...
n:    20.2.2.279
//
Pros:
+ Constant digit length
+ Good until the year 9999-12-31
+ tells you when the release was packaged
+ unlimited releases per day
Cons:
- Implicit year definition
- No timestamp
- Self-referencial

######################################
CalVerCustom
Version Code From CalVer
YY YY MM DD MCRO(2)
examples:
20 19 01 31 01
20 19 01 31 02
20 19 01 31 03
20 20 02 02 01
21 47 48 36 47 (Max Int32)
//
Pros:
+ Constant digit length
+ Good until the year 9999-12-31
+ tells you when the release was packaged
Cons:
- max of 99 releases per day

######################################
SimCalVerCustom
Simple Version Code From CalVer
YY MM DD MICRO
19 01 31 0001
19 01 31 0001




######################################
CalVerCustom2
Version Code From CalVer
YY MM DD MCRO(2)
examples:
19 01 31 01
19 01 31 02
19 01 31 03
20 02 02 01
//
Pros:
+ Constant digit length
+ Good until the year 9999-12-31
+ tells you when the release was packaged
Cons:
- max of 99 releases per day
- Self-referencial

######################################
SimCalVerCustom
Simple Version Code From CalVer
YY MM DD MICRO
19 01 31 0001
19 01 31 0001