[Bioperl-l] Bioperl versioning

Nathan Haigh n.haigh at sheffield.ac.uk
Tue Oct 24 11:37:12 UTC 2006

Sendu Bala wrote:
> Nathan Haigh wrote:
>> Therefore I would see the following $VERSION being applied:
>> 1.5.2 RC1            = 1.52_01
>> 1.5.2 RC2            = 1.52_02
>> 1.5.2 RC3            = 1.52_03
>> 1.5.2                = 1.52_10
>> 1.6 RC1              = 1.60_01
>> 1.6 RC2              = 1.60_02
>> 1.6                  = 1.60
>> 1.6.1 RC1            = 1.61_01
>> 1.6.1                = 1.61
>> This should satisfy the requirement of CPAN for having underscores in
>> versions to indicate a developer release, which here is a Bioperl
>> release with an odd minor version number or any RC whether it be of a
>> developer release or a stable release. This should mean that we could
>> have the RC's on CPAN, but by default, CPAN would only install the
>> latest "non developer release" (i.e. the last package without an
>> underscore in the version).
> That all sounds good to me, except I worry about potential confusion if 
> people look manually at the things available in CPAN, see 1.60_02 and 
> think it is more recent than 1.60 and try to install it manually.

I not sure if this would be a problem. As far as I understand, CPAN
treats these packages with underscores in $VERSION as something
distinctly different to the others releases (i.e. developer releases).
If you look at such a page, it is clearly evident that it is a
developers release. For example, if you search on CPAN for the latest
version of the CPAN module is shows 1.8802. if you go to that page:
There is also a link for the latest developer release, released 1 day
after 1.8802 with a version of 1.88_57 (which would convert to 1.8857).
This too appears to be later that 1.8802, but since it is dealt with as
a developer release it doesn't seem to matter - CPAN will only deal with
the stable (non-developer) releases, while the developer releases can be
used as a convenient way to access developer releases. Although I'm
thinking CPAN uses some hocus pocus with release dates too.

> Since
> $VERSION = 1.52_10;
> is evaluated to 1.5210, by analogy if 1.60_02 was RC2 before release, 
> final release version should be
> $VERSION = 1.6010.

Because they are dealt with separately, I don't think this is an issue
(see above).

>> If we are going ahead with the new $VERSION scheme (as it currently is
>> in HEAD), we should, for the sake of clarity,  try to talk about Bioperl
>> 1.52 instead of Bioperl 1.5.2 and make an effort to sync the
>> documentation with regards to this.
> I might disagree with this though. I think perl people, and perhaps unix 
> people in general, should be used to version numbers like '1.5.2', but 
> then getting '1.52' from the code since such a number allows simple 
> numerical comparisons while the former does not. The former is easier to 
> read and understand. This is just how Perl itself behaves.
> Most users who wouldn't expect such a behaviour aren't going to be 
> checking the version number programatically anyway.
> BTW. do we have someone with a CPAN account, or should I get one?

It says Ewan Birney is the author of Bioperl - I assume it must be
possible to have multiple people have the permissions to update a single


More information about the Bioperl-l mailing list