[jdom-interest] Why are version numbers so complicated?

Rolf Lear jdom at tuis.net
Sat Mar 17 10:09:48 PDT 2012

On 17/03/2012 11:45 AM, Jason Hunter wrote:
>> I am getting (trying to get) things all nicely tidied up, organized, and automated for the JDOM2 releases. But, one thing I have not yet sorted out is the version number(s) for the 'final' JDOM2 release.
> My vote would be JDOM version 2.0.0.  I think people will casually refer to it as JDOM 2, which is fine.
> In Maven I'm OK either way.  If it's under the artifact name jdom2 we avoid accidental breakage, but we will have people for years initiating new projects against jdom instead of jdom2 just by accident.
> -jh-

Good point about the jdom maven artifact.... which is contrary to Paul's 
opinion, but I see more merit in making the 'path' more obvious. Which 
sort of forces the version numbering.... it must be artifact 'jdom' with 
a version starting with 2 or 2.0 or 2.0.0.

People who have 'wild-card' dependencines in maven can just set an 
exclusive upper-bound if they want to link to JDOM 1.x. like: [1.0,2.0) 
will include the latest 1.x version, but not anything 2.0.0 or later.

I think I also prefer the full 3-digit version number.... If there is 
going to be a 2.1.1 then I think it should start with 2.0.0. In other 
words, make it consistent. I think that JDOM 1.x was odd (and just me 
calling it 1.x illustrates that) in the sense that it was JDOM 1.0, 1.1, 
1.1.1, 1.1.2, 1.1.3

It is an interesting question whether it should be 2 or three digits.

Is it going to be 2.0.0, 2.0.1, etc. Or 2.0, 2.1, etc. I think it is a 
question of release frequency and confidence.... and I think I have to 
be prepared for some relatively quick releases to start with, so I think 
I will do 2.0.0

I also think I will put a limit on the availability of some deprecated 
functions... I think if I do something like: version 2.1.0 will remove 
the deprecated XPath, Attribute-Type, and SAXBuilder classes/methods, 
and how about targeting 2.1 for about X-Mas 2012.

So, I think that clears up a few things....

- 3-digit version.
- the maven artifact will be jdom (and the jdom2 artifact can 'rot' - 
good for testing only).
- The 'official' name for JDOM2 will be JDOM 2.0.0 and so on.
- the release jar will be jdom-2.0.0.jar
- maven users requiring JDOM 1.x will maybe have isues unless they set 
their upper bound on their dependencies.... this may be painful for them 
for a bit, but it is easy to fix, either by upgrading, or by limiting 
the upper-bound. I expect most maven users actually require a specific 
version, so I don't think it will be a big issue.

the www.jdom.org does not even need to jave both releases 'active' 
concurrently, it can just go from 1.1.3 to 2.0.0. The 1.1.3 will be in 
the 'archive' area.

Still, there is more time before this needs to be decided, so further 
input is welcome.


More information about the jdom-interest mailing list