[jdom-interest] Why are version numbers so complicated?
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.
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