The canonical public version identifiers MUST comply with the following scheme:
[N!]N(.N)*[{a|b|rc}N][.postN][.devN]
Public version identifiers MUST NOT include leading or trailing whitespace.
Public version identifiers MUST be unique within a given distribution.
Installation tools SHOULD ignore any public versions which do not comply with this scheme but MUST also include the normalizations specified below. Installation tools MAY warn the user when non-compliant or ambiguous versions are detected.
See also Appendix B : Parsing version strings with regular expressions which provides a regular expression to check strict conformance with the canonical format, as well as a more permissive regular expression accepting inputs that may require subsequent normalization.
Public version identifiers are separated into up to five segments:
So I decided to switch sqllex semantic versioning to something like this "major.minor.micro" versioning with alpha, beta and candidate pre-releases. Next versions will following this scheme:
PEP 440 – Version Identification and Dependency Specification. Public version identifiers
Current versioning following scheme like:
So I decided to switch sqllex semantic versioning to something like this "major.minor.micro" versioning with alpha, beta and candidate pre-releases. Next versions will following this scheme:
For example:
Not sure is it necessary to use
.postN
and.devN
but they will be used as needed.The reason I decided to change semantic versioning is to make easy to understand meaning of program version.
In wiki you can find this kind of explanation
Stage | Semver | Num. Status | Num 90+ -- | -- | -- | -- Alpha | 1.2.0a1 | 1.2.0.1 | 1.1.90 Beta | 1.2.0b2 | 1.2.1.2 | 1.1.93 Release candidate | 1.2.0rc3 | 1.2.2.3 | 1.1.97 Release | 1.2.0 | 1.2.3.0 | 1.2.0 Post-release fixes | 1.2.0post1 | 1.2.3.5 | 1.2.5So "Num. Status" seems familiar for current sqllex versioning but it does not the same.
What the hell is this mean? Umm... So, is every new version have new feature (?) or bugfix for main
0.2.1
version (?) or what?So this scheme more clearly for understand
Much better, right? Btw I'm open for discussion, feel free to leave your comment down below.