On 11/7/15 2:15 PM, Phil Steitz wrote: > On 11/7/15 12:58 PM, James Carman wrote: >> As long as the maven coordinates follow suit, go for it. The community will >> let us know if it is a pain in the ass. Also, no need to worry about >> even/odd with this approach > I think its better to use the even/odd approach with this package > naming trick to stay legal within even-numbered lines so we can then > keep cutting stable odd-numbered (e.g. 3.x) releases and we can > agree that when and even line (e.g. 4) stabilizes we can move to the > next odd number (5) and set expectation that releases in that line > (5.x) will be stable. Then, e.g. 6. becomes a unstable API line, > etc. Otherwise you end up with sequences like 4.beta1, 4.beta2, 4, > 4.1, .... 5.beta1, etc, with no idea when the API has stabilized > (most importantly what releases are going to get backward-compatible > patch releases with bug-fixes). If we adopt the even/odd convention > both for [math] developers and users, we can then set the clear > expectation that it's OK to break compat all we like within > even-numbered (effectively beta) lines but once we cut an > odd-numbered release we are going to keep that API stable until the > next odd release.
Sorry, strike that. I think I kind of missed James' point above. As long as once you drop the .beta in a line you keep the API stable, I guess it would be OK to dispense with the even/odd. So basically, we are just saying cut betas until the API stabilizes and only commit to patch releases for releases without the .beta in the package / release name. I would be OK with that. Phil > > Phil >> On Sat, Nov 7, 2015 at 12:29 PM Gilles <gil...@harfang.homelinux.org> wrote: >> >>> On Sat, 7 Nov 2015 16:52:21 +0100, Emmanuel Bourg wrote: >>>> A roughly equivalent alternative would be to release beta artifacts >>>> until the API stabilizes and use a different base package and >>>> different >>>> Maven coordinates for each iteration. >>>> >>>> For example, commons-math 4.0-beta1 is released with the >>>> org.apache.commons:commons-math4-beta1 coordinates and the classes >>>> living in the org.apache.commons.math4.beta1 package. Once we are >>>> happy >>>> with the state of the API we release org.apache.commons:commons-math4 >>>> with the org.apache.commons.math4 base package and we stop breaking >>>> the >>>> binary compatibility. >>> With this scheme, binary compatibility is in effect never broken since >>> the top-level package is different in each codebase: >>> org.apache.commons.math4.beta1 >>> org.apache.commons.math4.beta2 >>> etc. >>> >>>> In my opinion the "beta" qualifier better conveys the unstable nature >>>> of the API than an arbitrary convention like "the whole 4.x line is >>>> unstable". >>> "math4.beta1" would be fine too (although "math4u0" was a little >>> shorter). >>> >>> Regards, >>> Gilles >>> >>>> This is a concept people are already familiar with. >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >>> For additional commands, e-mail: dev-h...@commons.apache.org >>> >>> > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org