Details
-
Improvement
-
Status: Resolved
-
Low
-
Resolution: Fixed
-
None
-
None
Description
So far the CQL doc says the CQL language follows http://semver.org/. Meaning that a version is X.Y.Z where:
- X is the major version and denotes backward incompatible changes
- Y is the minor version and denotes backward compatible changes
- Z is the patch version and denotes backward and forward compatible changes, i.e. change to the implementation.
Now I don't think for CQL we have much use of the patch version. Not that knowing when implementation fixes have been done is not useful but:
- The Cassandra version number already kind of cover that.
- While a patch version would be more precise in that it would only concern CQL3 related changes, I have no illusion on our capacity in maintaining such patch version accuratly (and frankly, I don't blame us).
So instead of keeping a number that will end up having no usefulness whatsoever, I suggest that we either:
- remove it and have CQL3 version being just major and minor.
- use that latter number as a sub-minor version, i.e. a version that only
- denotes backward compatible changes, not forward ones. We would then bump the two last digit at our discretion, to denote some form of "importance" of the changes.
I don't care much about which of the two we end up doing, but since we already have a 3 numbers version and since I kind of like the idea of having two numbers to convey a sense of importance of the changes, I'm attaching a patch for the 2nd solution.
Note that the patch removes the changes section from the doc, but that's because I think it's useless in it's current form (on top of being inaccurate). I do plan on adding a new changes section that lists changes between CQL minor version as soon as we have some of those.