It's probably true that 1.6.0 currently would not meet semver's requirements for minor release compatibility, but something like this I think should probably change at the beginning of a dev cycle, not at the end. It seems to me that 1.7.0 would be the time to apply this, considering it 1) has a different minimum JDK version, and 2) is expected to contain a drastically improved client API module, where we could actually apply maven plugins to ensure public API versioning compliance naturally.
-- Christopher L Tubbs II http://gravatar.com/ctubbsii On Fri, Apr 4, 2014 at 11:48 AM, <[email protected]> wrote: > I don't know the specifics of the api changes in 1.6.0. But I would be > curious, if we applied the rules of something like semver, if the version of > code in the 1.6.0 branch is not consistent with the 1.6.0 version number, but > is maybe a 2.0.0. > > - Dave > > ----- Original Message ----- > > From: [email protected] > To: [email protected] > Sent: Thursday, April 3, 2014 6:59:44 PM > Subject: RE: [DISCUSS] Bugs-only strictness for bugfix releases > > > I like the idea of what semver defines (and provides in maven plugins). I > don't think we are following this methodology today. I think people have a > tendency to want to backport or add features to patch releases because of > the long running release cycles (I know I have). If we could get the > testing/release cycle to be faster, then we could put out more minor and > patch releases and not have long running releases. The other problem is > users that are stuck on a particular version. They want the patches, but not > the api changes. If we could tell our consumers that 1.7 will be client api > compatible with 1.6, then users will likely upgrade faster and we will have > less pressure to backport features to a minor/patch release. > > +1 to the main idea of this thread, but I think "bug only" strictness for > patch releases will be the positive side effect of faster testing/releases > and adopting some specification like semver. > > - Dave > > -----Original Message----- > From: [email protected] [mailto:[email protected]] On Behalf Of > Christopher > Sent: Thursday, April 03, 2014 3:45 PM > To: Accumulo Dev List > Subject: Re: [DISCUSS] Bugs-only strictness for bugfix releases > > I don't think that's it's quite true to say '1.major.minor' is our de facto > scheme. Once again, I think many of us have always viewed it as > '1.long-term-support.bugfix'. > > -- > Christopher L Tubbs II > http://gravatar.com/ctubbsii > > > On Thu, Apr 3, 2014 at 3:39 PM, Bill Havanki <[email protected]> > wrote: >> I agree with Christopher in principle, but I share Sean's concern >> about the versioning situation. Right now, the *de facto* versioning >> scheme is 1.major.minor. We should just adopt semantic versioning (or >> similar) and then enforce bugs-only for bugfix releases. This gives us the >> room we need. >> >> For reference: semver.org >> >> >> On Thu, Apr 3, 2014 at 3:24 PM, Sean Busbey >> <[email protected]>wrote: >> >>> -1 >>> >>> Until we have a full discussion on compatibility and what we're going >>> to mean for version numbers, this is counter productive to our >>> volunteer-driven CtR process. That some of us choose to focus our >>> resources on more recent major versions is irrelevant. >>> >>> Right now, we conflate minor and bugfix versions. This change would >>> mean instead conflating our major and minor versions. That's going to >>> make it harder for people to upgrade for compatible improvements >>> because the inclusion of the major changes will be disruptive. >>> >>> We need to have the compatibility and versioning discussion. This >>> band aid won't help. >>> >>> >>> On Thu, Apr 3, 2014 at 2:16 PM, John Vines <[email protected]> wrote: >>> >>> > +1 >>> > >>> > >>> > On Thu, Apr 3, 2014 at 2:15 PM, Christopher <[email protected]> >>> > wrote: >>> > >>> > > JIRA JQL: >>> > > 'project = ACCUMULO AND resolution = Unresolved AND type not in >>> > > (Sub-task, Bug) AND fixVersion in (1.4.6,1.5.2,1.6.1)' >>> > > >>> > > There are 32 outstanding issues not marked as "Bugs" planned for >>> > > bugfix releases. This seems inappropriate to me. I would prefer >>> > > to be very strict about the right-most segment of a version >>> > > number, by defining it as "for bugfix releases", and by following >>> > > the rule: if the issue doesn't fix a bug, then it doesn't go in a >>> > > bugfix release. >>> > > >>> > > This strictness could help us focus on fixing and supporting >>> > > actual bugs in previous releases, without being bogged down by >>> > > non-bugs, it could help focus improvements in the latest version >>> > > and encourage more rapid releases, and give users more reasons to >>> > > upgrade. It would also help stabilize previous releases, by >>> > > avoiding the introduction of new bugs, which bodes well for long-term >>> > > support. >>> > > >>> > > I know we've previously talked about semver and other strict >>> > > versioning schemes, but regardless of whether we do any of those >>> > > other things, I think this strictness is the very least we could >>> > > do, and we could start encouraging this strictness today, with >>> > > minimal impact. >>> > > All it would take is to define the last segment of the versioned >>> > > releases as "for bugfix releases", regardless of defining the >>> > > rest of the version number (which can be discussed separately, >>> > > and this is a subset of most any versioning scheme we've discussed >>> > > already). >>> > > >>> > > The implication is that some things we've done in the past to >>> > > "backport" improvements and features, which didn't address a bug, >>> > > would no longer be permitted. Or, at the very least, would have >>> > > been highly discouraged, or would have warranted a vote (see next >>> > > paragraph). >>> > > >>> > > As with anything, there may be important exceptions, so perhaps >>> > > with this strictness about "bugfix only for bugfix releases", we >>> > > could encourage (by convention, if not by policy) calling a vote >>> > > for non-bugfix changes, and rely on the veto for enforcement if a >>> > > non-bugfix was applied to a bugfix version. If we agree to this >>> > > strictness as a community, knowing a particular change is likely >>> > > to result in a veto can be a big help in discouraging violations. >>> > > >>> > > As a final note, I should mention that there are at least a few >>> > > of us who have been thinking about this last segment of the >>> > > version as "bugfix only" anyways, if only informally. The lack of >>> > > formalization/strictness about this, though, has permitted some >>> > > things in the past that are probably not the best ideas in terms >>> > > of stability and long-term support of previous release lines. >>> > > Hopefully, by adopting this strictness as a community, instead of >>> > > just informally in a few of our heads, we can all get on the same >>> > > page, and it will make the project better overall. >>> > > >>> > > -- >>> > > Christopher L Tubbs II >>> > > http://gravatar.com/ctubbsii >>> > > >>> > >>> >> >> >> >> -- >> // Bill Havanki >> // Solutions Architect, Cloudera Govt Solutions // 443.686.9283 >
