river-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Niclas Hedhman <nic...@hedhman.org>
Subject Re: Release versioning
Date Sat, 03 Oct 2009 05:38:10 GMT
On Sat, Oct 3, 2009 at 1:24 PM, Peter Firmstone <jini@zeus.net.au> wrote:
> Ok, how about the following release version scheme?
>
> Major.Minor.Point
>
> -Point Release:     No API changes, bug fixes, internal implementation
>                   refactoring only.
> -Minor Release:     Expanded API for existing packages, new utility
> packages,
>                   no breaking of API backward compatibility.
>                   Bug fixes, reimplementation or refactoring of existing
>                   API functionality.
> -Major Release:     New Features, Packages & API, where those API Changes
> could
>                   potentially break backward compatibility and require
>                   recompilation for existing applications.
>
> I'm not suggesting we break backward compatibility, just that if we do,
> it'll definitely be a major point release.

Good formulation. Major release "may break either or both of source
and binary compatibility"...

And then you end up with the problem of defining "when is a bug fix,
incompatible change" :-)

Ex; If I have the faulty code (excuse me for the silly example);

public static int twosComplement( int value )
{
    return -value;  // onesComplement
}

and the bug fix is;

   return - value - 1;

Is this now a compatible change, a bug fix, since all code using this
may break? :-)

Fun, heh??

Cheers
-- 
Niclas Hedhman, Software Developer
http://www.qi4j.org - New Energy for Java

I  live here; http://tinyurl.com/2qq9er
I  work here; http://tinyurl.com/2ymelc
I relax here; http://tinyurl.com/2cgsug

Mime
View raw message