Trustin Lee wrote:
On 10/29/06, *Alex Karasulu* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    I tried to sum up some of the recent conversations here:

    
http://cwiki.apache.org/confluence/display/directory/Version+Numbering+Scheme
    
<http://cwiki.apache.org/confluence/display/directory/Version+Numbering+Scheme>

    If I messed anything up please correct me.


"Some consider bumping the minor number several notches from say a 1.0 to a 1.5 for example to connotate a change in platform like switching from JDK 1.4 to JDK 5.0. This is also an acceptable tactic to employ."

I would rather start from 2.1 than from 1.5 because it shows that it has a big change more clearly. But we lose 2.0. That's why I talked about switching the meaning of even and odd. :)

I really liked that switch it was a great idea but we already have 1.0 as stable and switching our semantics now is going to create a confusing situation.


"Minor numbers are used to connotate changes to features and APIs in the product with minor changes which may or may not introduce compatibility issues."

'May or may not' sounds too ambiguous.  Could you clarify it?

It's a matter of degree is all I am saying.  Let me elaborate  ...

Say you changed a couple things in the MINA API in the 1.1 branch. These changes break a few things in terms of compatibility. Say a few method signatures changed. This IMHO is not a big deal for users to have to deal with, especially if the API is getting better. But it does break compatibility with 1.0 since users cannot seemlessly swap jars from 1.0.x and 1.1.x right?

But the degree of breakage is negligible and will not require someone to re-implement their application. At most a few lines of code will change to adjust and things need to be recompiled.

However you might be a bit more conservative and require the API to preserve backwards compatibility such that only new additions are being made with consecutive minor number jumps.

My use of "may or may not" was to give us some flexibility on what we consider to be minor version changes.

Now if you drastically alter MINA's API for example and the principals behind it change in 1.1.x users may have to rewrite major portions of their application using MINA. This is not a good practice IMO. You probably should jump past a few minor versions or jump to a new major version.

Does this clarify my things more?

Alex



Reply via email to