File Coverage

blib/lib/Acme/CPANModules/OneAndTwoDecimalDigitsVersionTrap.pm
Criterion Covered Total %
statement 3 3 100.0
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 4 4 100.0


line stmt bran cond sub pod time code
1             package Acme::CPANModules::OneAndTwoDecimalDigitsVersionTrap;
2              
3 1     1   416112 use strict;
  1         3  
  1         232  
4              
5             our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
6             our $DATE = '2023-10-29'; # DATE
7             our $DIST = 'Acme-CPANModules-OneAndTwoDecimalDigitsVersionTrap'; # DIST
8             our $VERSION = '0.003'; # VERSION
9              
10             our $LIST = {
11             summary => 'List of CPAN distributions which have been trapped by the one- and two decimal digits versioning scheme',
12             description => <<'_',
13              
14             The x.y and x.yy versioning scheme used in Perl distribution has a trap: when
15             you release a new version by incrementing the patchlevel part into x.y.z and
16             x.yy.z, the new version number will be *less* than x.y and x.yy because x.y and
17             x.yy will numify to x.y00 and x.yy0 respectivey; while x.y.z and x.yy.z will
18             numify to x.00y.z and x.0yy, respectively.
19              
20             So if you release Acme-MyDist-0.1 (numifies to 0.100000) then Acme-MyDist-0.1.1
21             (0.001001), or Acme-MyDist-0.01 (0.010000) then Acme-MyDist-0.01.1 (0.001001),
22             PAUSE will *refuse* to index your new version because of "decreasing version
23             number."
24              
25             This does *not* happen when you release Acme-MyDist-0.001 (0.001000) and then
26             Acme-MyDist-0.001.1 (0.001001).
27              
28             This thing is peculiar to Perl, and is not intuitive. Consequently, sometimes
29             CPAN authors are not familiar with this and thus have fallen into this trap.
30              
31             This list chronicles distributions which have been trapped by this.
32              
33             For a bit more details, see
34            
35             and also .
36              
37             _
38             entries => [
39             # sorted by time, from most recent
40              
41             {
42             module=>"Validate::Simple",
43             summary=>"From 0.01 to 0.01.1",
44             date=>"2020-01-01",
45             author=>"ANDREIP",
46             description=><<'_',
47              
48             Author's comment in ChangeLog: "Change version properly."
49              
50             _
51             },
52              
53             {
54             module=>"Bencher",
55             summary=>"From 0.46 to 0.46.1",
56             date=>"2016-03-31",
57             author=>"PERLANCAR",
58             description=><<'_',
59              
60             Author's comment in ChangeLog: "This version number is broken because 0.46 >
61             0.46.1 because 0.46 normalizes to 0.460.000 while 0.46.1 is 0.046.100. This has
62             happened a few times to me in other distributions too, so perhaps it's time to
63             consider switching to a 3-digit minor version."
64              
65             Author's blog post:
66            
67             (2016-09-10).
68              
69             _
70             },
71              
72             {
73             module=>"Array::Compare",
74             summary=>"From 2.12 to 2.12.1",
75             date=>"2016-12-08",
76             author=>"DAVECROSS",
77             description=><<'_',
78              
79             Author's comment in ChangeLog: "Fixing the idiocy in the previous version."
80              
81             Author's blog post:
82             (2016-12-13).
83              
84             _
85             },
86              
87             {
88             module=>"Acme::CPANLists",
89             summary=>"From 0.02 to 0.9.0",
90             date=>"2015-10-23",
91             author=>"PERLANCAR",
92             description=><<'_',
93              
94             Author's comment in ChangeLog: "Update version number so it's higher than 0.02
95             (d'oh)."
96              
97             _
98             },
99             ],
100             };
101              
102             1;
103             # ABSTRACT: List of CPAN distributions which have been trapped by the one- and two decimal digits versioning scheme
104              
105             __END__