We've been using the 1.0.0-rc1 style releases, however this is not proper.
According to semantic versioning, it should be "rc.1" instead of "rc1". (e.g. 2.0.0-rc.1)
The RC4 release, which I've drafted right now is on a v1.2.0-rc.4 tag. I suggest we close this issue out and have correct versioning for all consecutive releases, starting from RC4.
Have we unit tested this against our internal comparators?
The way I understand the spec, "rc1" is not a violation. Pre-release versions may be dot-separated, but don't have to be. Dot-separated identifiers that contain letters are compared lexicographically. So rc1 < rc2 holds true. We're fine as long as we don't reach rc10.
Correct, we'd be betting on the chance we never hit 10, which isn't a violation, but also is not proper.
which isn't a violation, but also is not proper
Agreed.
I just wanted to share the way pre-release versions are sorted according to the specification (see point 11), because of what switching mid-release will mean: rc.4 < rc3 because rc < rc3! Better not start with RC4.
because of what switching mid-release will mean: rc.4 < rc3 because rc < rc3! Better not start with RC4.
Thanks for the insight, I reverted the change for RC4 on the draft release
I think we should omit the 0s to the right of the version number. They're as useless as having 0s to the right of a decimal number.
For example: 1.2.0 should be 1.2.
@Hussam-Eddin-Alhomsi, we increment this zero to a one when we release a patch to a stable version. This has happened every single release. Truncating the zero would be more work than what it's worth.
Now that #5636 is merged I think we can definitely consider this closed. If anyone disagrees please feel free to reopen w/ justification!
Most helpful comment
Correct, we'd be betting on the chance we never hit 10, which isn't a violation, but also is not proper.