[
https://issues.apache.org/jira/browse/CASSANDRA-5156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13554070#comment-13554070
]
Eric Evans commented on CASSANDRA-5156:
---------------------------------------
For what it's worth, the original context was that the versioning was for the
document, which in turn described the language. That's a subtle distinction I
know, but it (essentially) meant that Z (patch-level) was reserved for
non-normative changes, even if it resulted in a normative change to the
document (the document might have been in error, not matching intent or
implementation). I did this because I'd seen it work well elsewhere, but I
don't think we're as pedantic as the group(s) whose example I followed (strange
as it may seem!).
{quote}
The only strong expectation the version number will set is that major bumps
won't break backward compatibility. Whether Z is here or not doesn't change
that at all.
But if you drop Z, then Y bumps really can only mean "some" change that don't
break backward compatibility and you don't convey anything more.
{quote}
This is where we're diverging I think, and where I probably haven't done well
expressing myself. I think Y _should_ represent a normative change to the
language. A fixed typo in the document that results in no normative change to
the language isn't very interesting to a user or driver maintainer, but a new
feature that may require driver support to use is (or if it doesn't require
driver support, it at least represents something noteworthy).
I would even go so far as to suggest that Y might be incremented at most once
during a release; A given instance of Y could represent a "release" of an
arbitrary number of new features made during a Cassandra release. Any document
change log could list the individual changes associated with a version. This
would make things even simpler (and would prevent the version inflation you
were concerned about), the only downside I see, is that it might discourage
driver maintainers from tracking changes between releases (though I don't think
that's a given).
So to summarize, I think Z has been demonstrated to be overkill and confusing
and we certainly haven't kept up with it well. I'm not opposed to keeping it,
or getting rid of it. But, I think it would be shame to confound Y and Z in
such a way that it would convey less meaning that it does now.
> CQL: loosen useless versioning constraint
> -----------------------------------------
>
> Key: CASSANDRA-5156
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5156
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Sylvain Lebresne
> Assignee: Sylvain Lebresne
> Priority: Trivial
> Fix For: 1.2.1
>
> Attachments: 5156.txt
>
>
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira