Front page | perl.perl5.porters |
Postings from September 2018
Re: RFC: change perl5 versioning
September 25, 2018 16:12
Re: RFC: change perl5 versioning
Message ID: CAB=rbOm3bMTBsc4ti4mj17G7hpmiPzfcCNC8vEMb-w9H_Z2F2Q@mail.gmail.com
thanks for you comments
On Tue, 25 Sep 2018 at 14:31, H.Merijn Brand <firstname.lastname@example.org> wrote:
> On Tue, 25 Sep 2018 14:04:12 +0200, Branislav Zahradník
> <email@example.com> wrote:
> > Hi all,
> > I'd like to ask you your opinion about changing perl5 versioning to
> > year it was released.
> > Examples:
> > v5.2018.0
> > v5.2018.1
> > Motivation:
> > - it will show more clearly that language is still alive and maintained
> > - I think it will be easier to advocate upload with words "we are using
> > perl5 version 2010", current version is 2018
> > - current Modern::Perl can be confusing (specially for newcomers) where
> > have to know which version was released when.
> There's a few reasons why that won't work well
> 1. We use odd versions for timely development releases. Using your
> proposed versioning would disable that. e.g. Current stable perl
> release is 5.28.0 where current development release is 5.29.3
This is unfortunately true and this is also one workflow I have no solution
(yet)) how to replace it
> 2. We maintain (at leas) the last two major releases. At the time of
> writing that is 5.28 and 5.26. If we fix a CVE, those will both be
> updated with a new release 5.28.1 and 5.26.3 and they will thus
> both be released in 2018 (or whatever the current year is). That
> will remove the indication of what perl version you are actually
I'm not suggesting to use strictly year, just to replace middle number with
year number (see examples I wrote)
So you can still release v5.2017.3 and v5.2018.1 (as an example)
I may miss that originally but I'm not suggesting to change versioning of
existing major releases, only to use v5.2019.0 instead of v5.30.0
> 3. There are quite a few sites where multiple perl versions run in
> parallel, e.g. to test a transition. With your proposed versioning
> that would not be possible.
Can you please provide more info?
> 4. Tools that know how to build old/archaïc perl releases on modern
> systems and modules that act/behave differently on the (major)
> version of perl will completely break. e.g. 64bit operations are
> only fully supported as of perl-5.8.1 will fixes in the versions
> that followed it. Likewise for threading. Very recent perls might
> also support 128bit doubles (quadmath). You'd need to check the perl
> version and the configuration to check if you can use it. Again
> almost impossible with a versioning system based on dates.
> > I tried to walk through some workflows:
> > - $] is number, can be changed to 4+3 or 4+2 pattern
> > eg: 5..201801 or 5.2018001
> I do not want to check on CPAN, but in my current 5.28.0 installation
> on my laptop I found 573 .pm files that use $] (the variable that holds
> the current perl version). I think it is close to undoable to change
> every occurrence of its use on CPAN too.
$] is used by CPAN modules. I mentioned a way how it will be generated by
For already existing code it will look like 5.201900 or 5.202001 (using 4+2
It still will be number larger than than any other previous release and
smaller than any other
Anyway, this proposal is only to increase marketing impact to signal that
perl 5 is still alive
and kicking, even 24 year after 5.0
Please, evaluate that as well.
Mentioning other languages: C and C++ have that as well (though not every
Another example can be Ubuntu, they also have year in version.
> > Numeric comparison will work, though pretty print will be affected.
> > - use VERSION
> > Works fine with vstring:
> > bash$ perl -Mv5.2018
> > Perl v5.2018.0 required--this is only v5.6.2, stopped.
> > with just number pretty print is not so clear:
> > bash$ perl -M5.2018
> > Perl v5.201.800 required--this is only v5.6.2, stopped.
> > Solution can be for example to enforce vstring in "use VERSION" if
> > > 5.2
> > - both ExtUtils::MakeMaker and Module::Build can handle these versions
> > There is also gist summary:
> > https://gist.github.com/happy-barney/b92755cce092a138cb40a084391f5897
> > Best regards,
> > Branislav Zahradník
> H.Merijn Brand http://tux.nl Perl Monger http://amsterdam.pm.org/
> using perl5.00307 .. 5.29 porting perl5 on HP-UX, AIX, and openSUSE
> http://mirrors.develooper.com/hpux/ http://www.test-smoke.org/
> http://qa.perl.org http://www.goldmark.org/jeff/stupid-disclaimers/