Currently the spec prescribes how to calculate precedence, but actually mixes this with development order.
The pre-release versions should not be taken into account when determining compatibility, because if you do, it requires updating the major/minor and patch numbers while working on new releases. If the alpha of 3.2.1 has a bug that is fixed in beta of 3.2.1, then it should have been labeled beta for 3.2.2 because of that bugfix.
To fix it; define 2 distinct precedence calculations;
Development order: basically the current precedence calculation, including any pre-release tags
API compatibility precedence: in this calculation any label that has a pre-release identifier (or a major version 0), should simply be ignored because no compatibility statements can be deduced from the numbers (yet), until it is released (hence the word 'pre-release').
Originally created by @Tieske on GitHub (May 27, 2012).
Original GitHub issue: https://github.com/semver/semver/issues/28
Currently the spec prescribes how to calculate precedence, but actually mixes this with development order.
The pre-release versions should not be taken into account when determining compatibility, because if you do, it requires updating the major/minor and patch numbers while working on new releases. If the alpha of 3.2.1 has a bug that is fixed in beta of 3.2.1, then it should have been labeled beta for 3.2.2 because of that bugfix.
To fix it; define 2 distinct precedence calculations;
1. Development order: basically the current precedence calculation, including any pre-release tags
2. API compatibility precedence: in this calculation any label that has a pre-release identifier (or a major version 0), should simply be ignored because no compatibility statements can be deduced from the numbers (yet), until it is released (hence the word 'pre-release').
<!-- gh-comment-id:6097684 -->
@Tieske commented on GitHub (Jun 4, 2012):
Created a pull request under issue 30, see https://github.com/mojombo/semver/pull/30
Hence closing this issue.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @Tieske on GitHub (May 27, 2012).
Original GitHub issue: https://github.com/semver/semver/issues/28
Currently the spec prescribes how to calculate precedence, but actually mixes this with development order.
The pre-release versions should not be taken into account when determining compatibility, because if you do, it requires updating the major/minor and patch numbers while working on new releases. If the alpha of 3.2.1 has a bug that is fixed in beta of 3.2.1, then it should have been labeled beta for 3.2.2 because of that bugfix.
To fix it; define 2 distinct precedence calculations;
@Tieske commented on GitHub (Jun 4, 2012):
Created a pull request under issue 30, see https://github.com/mojombo/semver/pull/30
Hence closing this issue.