Project:Perl/dev-lang/perl

= Perl v5.24 =

5.24.1-r2

 * Update PDEPEND to pull newer File::Path for CVE-2017-6512

5.24.2

 * Added to tree 2017-07-15 18:51:04
 * base.pm patchset we'd deployed ahead of schedule folded into this release
 * Upstreams release notes: https://metacpan.org/pod/release/SHAY/perl-5.24.2/pod/perldelta.pod

5.24.3

 * Added to tree 2017-09-23 02:48:41
 * CVE Fixes for CVE-2017-12883, CVE-2017-12837
 * Upgraded POSIX
 * Upgraded Time::HiRes
 * Upstream Fixes for Configure + -flto on GCC6
 * Block -Duselongdouble and -Dusequadmath together
 * Upstreams release notes: https://metacpan.org/pod/release/SHAY/perl-5.24.3/pod/perldelta.pod

= Perl v5.26 =

5.26.0

 * added to tree at 8269609a0ae39382be5d7e0f666951e02e5a9d29: Tue May 30 21:11:52 2017

5.26.1

 * Added to tree 2017-09-23 03:23:47
 * CVE Fixes for CVE-2017-12883, CVE-2017-12837
 * Upstreams release notes: https://metacpan.org/pod/release/SHAY/perl-5.26.1/pod/perldelta.pod
 * Adds auto-discovery of all "OLDVERS" in ABI-independent paths. This aims to help smooth over the transition from older perl versions, especially during portage needing to execute Perl based code without properly satisfying the bdeps path. It should still be relied upon that perl-cleaner and portage clean up the mess, but now, a temporary case where old code has a chance of working exists.

5.26.9999
This is the "development" ebuild where snap-shots of yet-to-be-released-officially versions of the 5.26.x series get their wings.

Around -RC time, initial changes happen in this ebuild and then get rolled out to a version.

This may also one day fetch directly from git, but that's currently very complicated, and has a really annoying failure mode that triggers immediately after a final release, and lives until somebody fixes it.

If you want to use this version, its recommended you maintain your own virtuals or abuse package.provided.

Known Issues in Perl v5.26
= Perl v5.28 =

5.28.9999
This is the development ebuild for the future release of Perl 5.28

Internally, this tracks releases of Perls with versions 5.27.*, and may one day be git based and track blead.

When 5.28.0 ships, 5.28.0 will be peeled out of this ebuild and this ebuild will begin tracking the 5.28 maint series.

If you want to use this version, its recommended you maintain your own virtuals or abuse package.provided.

Known Issues in Perl v5.28
= 2016  fiasco =

Following CVE-2016-1238 ( Gentoo bug ), Perl upstream deployed a lot of patches to protect code from unintended side effects of accidentally including libraries from paths relative to.

Most of these took the form of limiting shipped scripts which had no inherent need for this behaviour, and could be safely removed without consequences to end users.

However, one change that was not strictly necessary, ( or mentioned in the CVE ), was the modification of a very commonly used module, who's implementation means that it is mostly a proxy for a core language feature that has been present ( and depended upon ) for the last 20 years.

Upstream saw it fit that they must break any and all user code that intentionally relied on this effect, while not actually fixing the underlying problem, Perl's  implementation, which is still subject to this risk, and will be until at least Perl 5.26.

And then upstream got stuck in a 6 month long conflict, while upstream tried to work out how to break this aspect of  while limiting the number of side effects that broke API, insistent that breaking API in a stable, bugfix point release was the way to proceed.

Meanwhile, the nature of the security hole was the internets worst kept secret, and all the identified and quantifiable risks were sitting there in the repo, fixed, but not distributed.

And 6 months on sitting on your hands when the CVE warrants a reaction in under a week is not good.

Subsequently,  was shipped to Gentoo, with   stripping out upstreams   changes so we could actually deploy the security fixes that mattered.

And  was shipped to Gentoo with   preserved, in  order to use it as a testing target to smoke out anything that broke.

Later, upstream came around, and themselves reverted the  changes so they could get the security release out.

As a side effect, this means that Gentoo's  was essentially upstreams , modulo some cosmetic changes

And there is subsequently no real need to ship a, though we could just to reduce confusion.

However,  should continue to ship as-is, with the "base.pm might break your tools" fixes, as upstream are tempted to replicate the same mistake in   ( and maybe   ), as shipping upstreams   would revert this change ( just like they did for   ), which would reduce our ability to test for this bug before we got around to stabilizing it.

In short
Don't read too much in the _rc suffix when it comes to tracking perl stuff, they're mostly used for tracking downstream-vs-upstream versions, and your impressions of stability should be based on Gentoo Keywording, not upstream versioning, as the Perl Project apparently care more about not breaking your stuff than upstream do.

is just as safe as

= Historical Versions =

5.22.3_rc4

 * added to tree at
 * First :   at


 * Released to Gentoo early to get security issues resolved, but with  changes reverted.
 * Logically equivalent to upstreams  final.


 * See

5.22.3

 * Upstream release notes: https://metacpan.org/pod/release/SHAY/perl-5.22.3/pod/perldelta.pod
 * Fix bug with patching now-missing CPANPLUS code
 * Update cross-perl to 1.1.4
 * Fix cross-compile bugs
 * Fix GCC6 + lto bugs
 * Backport fixes from Compress-Raw-Zlib 2.074 for zlib 1.2.9+

5.24.1_rc4

 * added to tree at


 * Released to Gentoo early to get security issues resolved, and to get  API breakage into testing.


 * Not equivalent to upstreams  final as upstream reverted   changes.


 * See

5.24.1

 * Newer
 * Upstream release notes: https://metacpan.org/pod/release/SHAY/perl-5.24.1/pod/perldelta.pod
 * changes reverted upstream in  patched back in for testers ( See  )
 * With patching CPANPLUS fixed
 * With Zlib tests failing worked around by disabling tests

5.24.1-r1

 * Upgrade base.pm patchset to latest for testing
 * Fix compilation with GCC6 and -flto
 * Properly fix compilation against newer zlibs by backporting changes to ZLib.xs from Compress-Raw-Zlib 2.074
 * Fix related to bug under crossdev where "touch" on a path would fail because the parent path did not exist
 * Fix patching failure under crossdev due to SHA1Sums changing
 * Upgrade perl-cross to 1.1.4
 * Fix makefile ordering issue when compiling unicore/ parts before Config.pm has been compiled
 * Ensure miniperl is built with the right target arch for bootstrap