PERL5262DELTA(1) Perl Programmers Reference Guide PERL5262DELTA(1) #
PERL5262DELTA(1) Perl Programmers Reference Guide PERL5262DELTA(1)
NNAAMMEE #
perl5262delta - what is new for perl v5.26.2
DDEESSCCRRIIPPTTIIOONN #
This document describes differences between the 5.26.1 release and the
5.26.2 release.
If you are upgrading from an earlier release such as 5.26.0, first read
perl5261delta, which describes differences between 5.26.0 and 5.26.1.
SSeeccuurriittyy [[CCVVEE--22001188--66779977]] hheeaapp--bbuuffffeerr--oovveerrffllooww ((WWRRIITTEE ooff ssiizzee 11)) iinn SS__rreeggaattoomm ((rreeggccoommpp..cc)) A crafted regular expression could cause a heap buffer write overflow, with control over the bytes written. [GH #16185] https://github.com/Perl/perl5/issues/16185
[[CCVVEE--22001188--66779988]] HHeeaapp--bbuuffffeerr--oovveerrffllooww iinn PPeerrll____bbyyttee__dduummpp__ssttrriinngg ((uuttff88..cc)) Matching a crafted locale dependent regular expression could cause a heap buffer read overflow and potentially information disclosure. [GH #16143] https://github.com/Perl/perl5/issues/16143
[[CCVVEE--22001188--66991133]] hheeaapp--bbuuffffeerr--oovveerrffllooww iinn SS__ppaacckk__rreecc “pack()” could cause a heap buffer write overflow with a large item count. [GH #16098] https://github.com/Perl/perl5/issues/16098
AAsssseerrttiioonn ffaaiilluurree iinn PPeerrll____ccoorree__sswwaasshh__iinniitt ((uuttff88..cc)) Control characters in a supposed Unicode property name could cause perl to crash. This has been fixed. [perl #132055] https://rt.perl.org/Public/Bug/Display.html?id=132055 [perl #132553] https://rt.perl.org/Public/Bug/Display.html?id=132553 [perl #132658] https://rt.perl.org/Public/Bug/Display.html?id=132658
IInnccoommppaattiibbllee CChhaannggeess There are no changes intentionally incompatible with 5.26.1. If any exist, they are bugs, and we request that you submit a report. See “Reporting Bugs” below.
MMoodduulleess aanndd PPrraaggmmaattaa UUppddaatteedd MMoodduulleess aanndd PPrraaggmmaattaa • Module::CoreList has been upgraded from version 5.20170922_26 to 5.20180414_26.
• PerlIO::via has been upgraded from version 0.16 to 0.17.
• Term::ReadLine has been upgraded from version 1.16 to 1.17.
• Unicode::UCD has been upgraded from version 0.68 to 0.69.
DDooccuummeennttaattiioonn CChhaannggeess ttoo EExxiissttiinngg DDooccuummeennttaattiioonn _p_e_r_l_u_n_i_p_r_o_p_s
• This has been updated to note that "\p{Word}" now includes code
points matching the "\p{Join_Control}" property. The change to the
property was made in Perl 5.18, but not documented until now. There
are currently only two code points that match this property: U+200C
(ZERO WIDTH NON-JOINER) and U+200D (ZERO WIDTH JOINER).
PPllaattffoorrmm SSuuppppoorrtt PPllaattffoorrmm--SSppeecciiffiicc NNootteess Windows Visual C++ compiler version detection has been improved to work on non-English language systems. [GH #16235] https://github.com/Perl/perl5/issues/16235
We now set $Config{libpth} correctly for 64-bit builds using Visual
C++ versions earlier than 14.1. [GH #16269]
<https://github.com/Perl/perl5/issues/16269>
SSeelleecctteedd BBuugg FFiixxeess • The “readpipe()” built-in function now checks at compile time that it has only one parameter expression, and puts it in scalar context, thus ensuring that it doesn’t corrupt the stack at runtime. [GH #2793] https://github.com/Perl/perl5/issues/2793
• Fixed a use after free bug in "pp_list" introduced in Perl 5.27.1.
[GH #16124] <https://github.com/Perl/perl5/issues/16124>
• Parsing a "sub" definition could cause a use after free if the "sub"
keyword was followed by whitespace including newlines (and comments).
[GH #16097] <https://github.com/Perl/perl5/issues/16097>
• The tokenizer now correctly adjusts a parse pointer when skipping
whitespace in an " ${identifier} " construct. [perl #131949]
<https://rt.perl.org/Public/Bug/Display.html?id=131949>
• Accesses to "${^LAST_FH}" no longer assert after using any of a
variety of I/O operations on a non-glob. [GH #15372]
<https://github.com/Perl/perl5/issues/15372>
• "sort" now performs correct reference counting when aliasing $a and
$b, thus avoiding premature destruction and leakage of scalars if
they are re-aliased during execution of the sort comparator. [GH
#11422] <https://github.com/Perl/perl5/issues/11422>
• Some convoluted kinds of regexp no longer cause an arithmetic
overflow when compiled. [GH #16113]
<https://github.com/Perl/perl5/issues/16113>
• Fixed a duplicate symbol failure with --ffllttoo --mmiieeeeee--ffpp builds. _p_p_._c
defined "_LIB_VERSION" which --lliieeeeee already defines. [GH #16086]
<https://github.com/Perl/perl5/issues/16086>
• A NULL pointer dereference in the "S_regmatch()" function has been
fixed. [perl #132017]
<https://rt.perl.org/Public/Bug/Display.html?id=132017>
• Failures while compiling code within other constructs, such as with
string interpolation and the right part of "s///e" now cause
compilation to abort earlier.
Previously compilation could continue in order to report other
errors, but the failed sub-parse could leave partly parsed constructs
on the parser shift-reduce stack, confusing the parser, leading to
perl crashes. [GH #14739]
<https://github.com/Perl/perl5/issues/14739>
AAcckknnoowwlleeddggeemmeennttss Perl 5.26.2 represents approximately 7 months of development since Perl 5.26.1 and contains approximately 3,300 lines of changes across 82 files from 17 authors.
Excluding auto-generated files, documentation and release tools, there
were approximately 1,800 lines of changes to 36 .pm, .t, .c and .h files.
Perl continues to flourish into its third decade thanks to a vibrant
community of users and developers. The following people are known to
have contributed the improvements that became Perl 5.26.2:
Aaron Crane, Abigail, Chris 'BinGOs' Williams, H.Merijn Brand, James E
Keenan, Jarkko Hietaniemi, John SJ Anderson, Karen Etheridge, Karl
Williamson, Lukas Mai, Renee Baecker, Sawyer X, Steve Hay, Todd Rinaldo,
Tony Cook, Yves Orton, Zefram.
The list above is almost certainly incomplete as it is automatically
generated from version control history. In particular, it does not
include the names of the (very much appreciated) contributors who
reported issues to the Perl bug tracker.
Many of the changes included in this version originated in the CPAN
modules included in Perl's core. We're grateful to the entire CPAN
community for helping Perl to flourish.
For a more complete list of all of Perl's historical contributors, please
see the _A_U_T_H_O_R_S file in the Perl source distribution.
RReeppoorrttiinngg BBuuggss If you find what you think is a bug, you might check the perl bug database at https://rt.perl.org/ . There may also be information at http://www.perl.org/ , the Perl Home Page.
If you believe you have an unreported bug, please run the perlbug program
included with your release. Be sure to trim your bug down to a tiny but
sufficient test case. Your bug report, along with the output of "perl
-V", will be sent off to perlbug@perl.org to be analysed by the Perl
porting team.
If the bug you are reporting has security implications which make it
inappropriate to send to a publicly archived mailing list, then see
"SECURITY VULNERABILITY CONTACT INFORMATION" in perlsec for details of
how to report the issue.
GGiivvee TThhaannkkss If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, you can do so by running the “perlthanks” program:
perlthanks
This will send an email to the Perl 5 Porters list with your show of
thanks.
SSEEEE AALLSSOO #
The _C_h_a_n_g_e_s file for an explanation of how to view exhaustive details on
what changed.
The _I_N_S_T_A_L_L file for how to build Perl.
The _R_E_A_D_M_E file for general stuff.
The _A_r_t_i_s_t_i_c and _C_o_p_y_i_n_g files for copyright information.
perl v5.36.3 2023-02-15 PERL5262DELTA(1)