ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Konstantin Boudnik <...@apache.org>
Subject Re: Versioning policies for .NET and CPP
Date Tue, 22 Dec 2015 06:26:04 GMT
Ideally, text suffixes in the versions shouldn't be used _anywhere_. 
I think this umpteenth time I am saying this, but why we are so married to the
'b', 'p', 'r', and 'f' (whatever the last one stands for)?

semver is using 4th numerical position for patch-level, and it only
denominates the number of the bug fixes that were applied in the subminor
release. It shouldn't carry any other meaning: if you need a new release -
bumpt the subminor version in case this is a bug-fix release; bump up the
minor version if new features were added, yet the compatibility level is the
same; bump up the major version to reflect on (optional) compatibility
changes.

That's all: this works everywhere. For any language, platform, and OS. It is
compatible with _any_ build and packaging system in the world. Why the urge
for cleverness?

    Cos

On Fri, Dec 18, 2015 at 12:14PM, Vladimir Ozerov wrote:
> Dima,
> 
> For now - only for .NET and CPP because we *CAN'T* use text suffixes there.
> Though, in Visual studio there is a notion of "informational version" where
> arbitrary text can be written. But it is solely for informational purposes
> and normal unique A.B.C.D version is required still.
> 
> In the end when user will look at DLL details, he will see something like
> this (just for example):
> 
> Version: 1.5.0.8166
> Description: Ignite.NET 1.5.0 GA Patch 1
> 
> 
> On Fri, Dec 18, 2015 at 12:03 PM, Dmitriy Setrakyan <dsetrakyan@apache.org>
> wrote:
> 
> > Is this change only offered for .NET releases or for Java as well?
> >
> > On Fri, Dec 18, 2015 at 12:42 AM, Vladimir Ozerov <vozerov@gridgain.com>
> > wrote:
> >
> > > Folks,
> > >
> > > We have some versioning policies in Java. Normaly Java version looks like
> > > "A.B.C.[suffix]", where [suffix] could potnetially be anything - "b",
> > "p",
> > > "rc", "ga", "final", etc.
> > >
> > > In .NET/CPP on Windows we have to follow standard versioning format
> > > "A.B.C.D", where D is a value between 0 and 65536. The quesion is how to
> > > map string suffix to some numerical value.
> > >
> > > I have an idea to rely on release date. E.g.
> > > 1) Take year of the last major release as a starting point.
> > > 2) Amount of hours spent from starting point is a value of D. Hours, not
> > > years because several releases could potnetially happen in the same day.
> > >
> > > E.g.:
> > > - Last major release was in 2015
> > > - Today is 12/18/2015
> > > - D = 24 * 340 /* days since 01/01/2015 */ + 6 /* hours */ = Ignite.NET
> > > 1.5.0.8166.
> > >
> > > *Pros:*
> > > - Newer versions always have bigger "D" component. GA will be greater
> > than
> > > beta, patch 2 will be greater than patch 1, etc..
> > > *Cons:*
> > > - Version have to be updated just before release.
> > >
> > > Does anyone have concerns/thoughts about it?
> > >
> > > Vladimir.
> > >
> >

Mime
View raw message