I'm curious -- I know PAUSE checks the $VERSION in the package (I ran into
a "thought that was inherited" problem once), but isn't it using the the
version key in the META.json or META.yml files for its indexing? So while
getting the version information right in $VERSION is important, wouldn't
getting it right in Build.PL or dist.ini (or whatever tool you use) be
equally important?

     -john

On Thu, May 31, 2012 9:07 am, Fields, Christopher J wrote:
> Pretty much came about this independently for bioperl, but maybe it's a
> bit like convergent evolution :)
>
> bioperl uses the 1.x.y versioning and it has been a real pain to deal will
> over the years.  We've discussed this over the years, and since we're
> breaking bioperl up into smaller releases we'll be switching over to a 2.x
> release, pretty much the as the below.
>
> my 2c
>
> chris
>
> On May 31, 2012, at 8:57 AM, Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 wrote:
>
>> This will be part of my talk at YAPC.
>>
>> I recommend you use 2.xxx, where xxx is always zero-padded.
>>
>>    our $VERSION = '2.001'; # 2nd version of revision 2
>>    our $VERSION = '2.420'; # 421st version of revision 2
>>
>> It has the following properties:
>>
>> * It is fully compatible with the advice in
>>    * perlmodstyle
>>    * version.pm
>>    * "strict" version rules
>>  <http://p3rl.org/perl5120delta#Version-number-formats>
>>    * <http://www.dagolden.com/index.php/369/> ¹
>>    * Perl::Critic::Policy::ValuesAndExpressions::ProhibitVersionStrings
>>    * Perl::Critic::Policy::ValuesAndExpressions::RequireNumericVersion
>> * It completely prevents:
>>    * trailing zeros from disappearing because it's a quoted string
>>    * the confusion about 1.10 < 1.9 (Perl says that's true, other
>>  system say the opposite) because there are always exactly 3 digits
>>  after the decimal mark, so any(numeric,lexicographical,naturalsort)
>>  comparison has the same result
>>    * the confusion about 5.10.1 == 5.010001 (and the variant mentioned
>>  by Aldo) since there is only a single representation because there
>>  are only enough decimal places (namely 3) for one portion of semver
>>  (or Perl's notion thereof)
>>    * the confusion around v-strings which after all those years still
>>  are such an usual and (on average) poorly understood data type
>>    * that ugly v-prefix in the distro package name
>> * It is fully compatible with downstream packaging toolchains (RPM
>>  specfile macros and the like).
>> * It is incompatible with semver. Not a big loss, for the reasons
>>  already mentioned by David.
>>
>> ¹ Avoid underscore version numbers and you don't need that ugly `eval`.
>> Simply use the `TRIAL` feature for trial releases instead.
>> <https://pause.perl.org/pause/query?ACTION=pause_04about#convention
>
>
>
>


Reply via email to