In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/b31d1ef1144adb563cad5228eb7a7a4866b19a50?hp=000aab206ed911bf00a5ce23de4e642f401b9871>
- Log ----------------------------------------------------------------- commit b31d1ef1144adb563cad5228eb7a7a4866b19a50 Author: Ricardo Signes <[email protected]> Date: Wed Apr 13 22:16:10 2016 -0400 patchlevel: we are now RC1 M patchlevel.h commit a383bbaba01aec92a46d40499c2da493bb6094f7 Author: Ricardo Signes <[email protected]> Date: Wed Apr 13 22:02:23 2016 -0400 remove the v5.23.x perldeltas M MANIFEST M pod/perl.pod D pod/perl5230delta.pod D pod/perl5231delta.pod D pod/perl5232delta.pod D pod/perl5233delta.pod D pod/perl5234delta.pod D pod/perl5235delta.pod D pod/perl5236delta.pod D pod/perl5237delta.pod D pod/perl5238delta.pod D pod/perl5239delta.pod M win32/pod.mak commit 0032ae01e451abd535968298daf6210114236dd8 Author: Ricardo Signes <[email protected]> Date: Wed Apr 13 21:59:39 2016 -0400 perlpolicy: update the supported versions for v5.24 on M pod/perlpolicy.pod commit ff40fa26fcde00ce8495d1d105f4d8a78ebbf429 Author: Ricardo Signes <[email protected]> Date: Wed Apr 13 21:54:27 2016 -0400 perlhist: add v5.24.0 data M pod/perlhist.pod commit fc62d23183554fababc84180bc99273ae5a6d7cf Author: Ricardo Signes <[email protected]> Date: Wed Apr 13 21:46:28 2016 -0400 corelist: set a (tentative) release date for 5.24.0 M dist/Module-CoreList/lib/Module/CoreList.pm ----------------------------------------------------------------------- Summary of changes: MANIFEST | 10 - dist/Module-CoreList/lib/Module/CoreList.pm | 2 +- patchlevel.h | 2 +- pod/perl.pod | 10 - pod/perl5230delta.pod | 306 --------------- pod/perl5231delta.pod | 317 ---------------- pod/perl5232delta.pod | 375 ------------------- pod/perl5233delta.pod | 404 -------------------- pod/perl5234delta.pod | 557 ---------------------------- pod/perl5235delta.pod | 420 --------------------- pod/perl5236delta.pod | 522 -------------------------- pod/perl5237delta.pod | 438 ---------------------- pod/perl5238delta.pod | 525 -------------------------- pod/perl5239delta.pod | 431 --------------------- pod/perlhist.pod | 41 +- pod/perlpolicy.pod | 6 +- win32/pod.mak | 40 -- 17 files changed, 27 insertions(+), 4379 deletions(-) delete mode 100644 pod/perl5230delta.pod delete mode 100644 pod/perl5231delta.pod delete mode 100644 pod/perl5232delta.pod delete mode 100644 pod/perl5233delta.pod delete mode 100644 pod/perl5234delta.pod delete mode 100644 pod/perl5235delta.pod delete mode 100644 pod/perl5236delta.pod delete mode 100644 pod/perl5237delta.pod delete mode 100644 pod/perl5238delta.pod delete mode 100644 pod/perl5239delta.pod diff --git a/MANIFEST b/MANIFEST index 8690604..3da3119 100644 --- a/MANIFEST +++ b/MANIFEST @@ -4644,16 +4644,6 @@ pod/perl5202delta.pod Perl changes in version 5.20.2 pod/perl5203delta.pod Perl changes in version 5.20.3 pod/perl5220delta.pod Perl changes in version 5.22.0 pod/perl5221delta.pod Perl changes in version 5.22.1 -pod/perl5230delta.pod Perl changes in version 5.23.0 -pod/perl5231delta.pod Perl changes in version 5.23.1 -pod/perl5232delta.pod Perl changes in version 5.23.2 -pod/perl5233delta.pod Perl changes in version 5.23.3 -pod/perl5234delta.pod Perl changes in version 5.23.4 -pod/perl5235delta.pod Perl changes in version 5.23.5 -pod/perl5236delta.pod Perl changes in version 5.23.6 -pod/perl5237delta.pod Perl changes in version 5.23.7 -pod/perl5238delta.pod Perl changes in version 5.23.8 -pod/perl5239delta.pod Perl changes in version 5.23.9 pod/perl561delta.pod Perl changes in version 5.6.1 pod/perl56delta.pod Perl changes in version 5.6 pod/perl581delta.pod Perl changes in version 5.8.1 diff --git a/dist/Module-CoreList/lib/Module/CoreList.pm b/dist/Module-CoreList/lib/Module/CoreList.pm index 8b8fc9e..29257d9 100644 --- a/dist/Module-CoreList/lib/Module/CoreList.pm +++ b/dist/Module-CoreList/lib/Module/CoreList.pm @@ -291,7 +291,7 @@ sub changes_between { 5.023007 => '2016-01-20', 5.023008 => '2016-02-20', 5.023009 => '2016-03-20', - 5.024000 => '????-??-??', + 5.024000 => '2016-06-01', ); for my $version ( sort { $a <=> $b } keys %released ) { diff --git a/patchlevel.h b/patchlevel.h index f94d151..97beacf 100644 --- a/patchlevel.h +++ b/patchlevel.h @@ -133,7 +133,7 @@ hunk. # endif static const char * const local_patches[] = { NULL - ,"RC0" + ,"RC1" #ifdef PERL_GIT_UNCOMMITTED_CHANGES ,"uncommitted-changes" #endif diff --git a/pod/perl.pod b/pod/perl.pod index 3e08691..638e8c9 100644 --- a/pod/perl.pod +++ b/pod/perl.pod @@ -180,16 +180,6 @@ aux c2ph h2ph h2xs perlbug pl2pm pod2html pod2man splain xsubpp perlhist Perl history records perldelta Perl changes since previous version - perl5239delta Perl changes in version 5.23.9 - perl5238delta Perl changes in version 5.23.8 - perl5237delta Perl changes in version 5.23.7 - perl5236delta Perl changes in version 5.23.6 - perl5235delta Perl changes in version 5.23.5 - perl5234delta Perl changes in version 5.23.4 - perl5233delta Perl changes in version 5.23.3 - perl5232delta Perl changes in version 5.23.2 - perl5231delta Perl changes in version 5.23.1 - perl5230delta Perl changes in version 5.23.0 perl5221delta Perl changes in version 5.22.1 perl5220delta Perl changes in version 5.22.0 perl5203delta Perl changes in version 5.20.3 diff --git a/pod/perl5230delta.pod b/pod/perl5230delta.pod deleted file mode 100644 index 5620bed..0000000 --- a/pod/perl5230delta.pod +++ /dev/null @@ -1,306 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5230delta - what is new for perl v5.23.0 - -=head1 DESCRIPTION - -This document describes differences between the 5.22.0 release and the 5.23.0 -release. - -=head1 Core Enhancements - -=head2 Unicode 8.0 is now supported - -For details on what is in this release, see -L<http://www.unicode.org/versions/Unicode8.0.0/>. - -=head1 Incompatible Changes - -=head2 The C</\C/> character class has been removed. - -This regular expression character class was deprecated in v5.20.0 and has -produced a deprecation warning since v5.22.0. It is now a compile-time -error. If you need to examine the individual bytes that make up a -UTF8-encoded character, then use C<utf8::encode()> on the string (or a -copy) first. - -=head2 C<chdir('')> no longer chdirs home - -Using C<chdir('')> or C<chdir(undef)> to chdir home has been deprecated since -perl v5.8, and will now fail. Use C<chdir()> instead. - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -The libnet distribution has been upgraded from version 3.05 to 3.06. - -=item * - -The Scalar-List-Utils distribution has been upgraded from version 1.41 to 1.42. - -=item * - -L<autodie> has been upgraded from version 2.26 to 2.27. - -=item * - -L<CPAN::Meta> has been upgraded from version 2.150001 to 2.150005. - -=item * - -L<CPAN::Meta::Requirements> has been upgraded from version 2.132 to 2.133. - -=item * - -L<CPAN::Meta::YAML> has been upgraded from version 0.012 to 0.016. - -=item * - -L<Encode> has been upgraded from version 2.72 to 2.73. - -=item * - -L<encoding> has been upgraded from version 2.14 to 2.15. - -=item * - -L<ExtUtils::CBuilder> has been upgraded from version 0.280221 to 0.280223. - -=item * - -L<feature> has been upgraded from version 1.40 to 1.41. - -=item * - -L<Getopt::Long> has been upgraded from version 2.45 to 2.46. - -=item * - -L<HTTP::Tiny> has been upgraded from version 0.054 to 0.056. - -=item * - -L<List::Util> has been upgraded from version 1.41 to 1.42_01. - -=item * - -L<Locale::Codes> has been upgraded from version 3.34 to 3.35. - -=item * - -L<Math::BigInt> has been upgraded from version 1.9997 to 1.999701. - -Correct the behaviour of bdiv() and bmod() in list context. [perl #124300] - -Correct C<< Math::BigInt->new() >> for non-integer input. [perl #124325] - -Speed up Math::BigFloat -> blog(). [perl #124382] - -Fix bug in Math::BigFloat's bceil() and bint() methods. [perl #124412] - -=item * - -L<Math::BigRat> has been upgraded from version 0.2608 to 0.260801. - -Correct the behaviour of bdiv() and bmod() in list context. [perl #124303] - -=item * - -L<Module::CoreList> has been upgraded from version 5.20150520 to 5.20150620. - -=item * - -L<Module::Metadata> has been upgraded from version 1.000026 to 1.000027. - -=item * - -L<parent> has been upgraded from version 0.232 to 0.234. - -=item * - -L<Parse::CPAN::Meta> has been upgraded from version 1.4414 to 1.4417. - -=item * - -L<perl5db.pl> has been upgraded from version 1.49 to 1.49_01. - -User actions are no longer evaluated after the script under the -debugger finishes. [perl #71678] - -=item * - -L<Pod::Simple> has been upgraded from version 3.29 to 3.30. - -=item * - -L<Pod::Usage> has been upgraded from version 1.64 to 1.67. - -=item * - -L<POSIX> has been upgraded from version 1.53 to 1.54. - -The NaN payload API has been implemented (getpayload, setpayload, -setpayloadsig, issignaling). - -=item * - -L<Scalar::Util> has been upgraded from version 1.41 to 1.42_01. - -=item * - -L<Socket> has been upgraded from version 2.018 to 2.019. - -=item * - -L<threads> has been upgraded from version 2.01 to 2.02. - -=item * - -L<Time::Piece> has been upgraded from version 1.29 to 1.30. - -=item * - -L<UNIVERSAL> has been upgraded from version 1.12 to 1.13. - -Don't import from L<UNIVERSAL> in its documentation, it no longer -exports anything. [perl #125410] - -=back - -=head1 Platform Support - -=head2 Platform-Specific Notes - -=over 4 - -=item Win32 - -=over - -=item * - -Visual C++ 2013 builds will now execute on XP and higher. Previously they would -only execute on Vista and higher. - -=item * - -You can now build perl with GNU Make and GCC. [perl #123440] - -=item * - -C<truncate($filename, $size)> now works for files over 4GB in size. -[perl #125347] - -=back - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -Duplicating a closed file handle for write no longer creates a -filename of the form F<GLOB(0xXXXXXXXX)>. [perl #125115] - -=item * - -Warning fatality is now ignored when rewinding the stack. This -prevents infinite recursion when the now fatal error also causes -rewinding of the stack. [perl #123398] - -=item * - -In perl v5.22.0, the logic changed when parsing a numeric parameter to the -C -option, such that the successfully parsed number was not saved as the option -value if it parsed to the end of the argument. [perl #125381] - -=item * - -The PadlistNAMES macro is an lvalue again. - -=item * - -Zero -DPERL_TRACE_OPS memory for sub-threads. - -perl_clone_using() was missing Zero init of PL_op_exec_cnt[]. This -caused sub-threads in threaded -DPERL_TRACE_OPS builds to spew exceedingly -large op-counts at destruct. These counts would print %x as "ABABABAB", -clearly a mem-poison value. - -=back - -=head1 Acknowledgements - -Perl 5.23.0 represents approximately 3 weeks of development since Perl 5.22.0 -and contains approximately 86,000 lines of changes across 480 files from 29 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 55,000 lines of changes to 270 .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.23.0: - -Chase Whitener, Chris 'BinGOs' Williams, Craig A. Berry, Dagfinn Ilmari -Mannsåker, Daniel Dragan, David Golden, David Mitchell, Hugo van der Sanden, -Jan Dubois, Jarkko Hietaniemi, Jerry D. Hedden, Jim Cromie, Karen Etheridge, -Karl Williamson, kmx, Lukas Mai, Martijn Lievaart, Matthew Horsfall, Niko Tyni, -Peter John Acklam, Rafael Garcia-Suarez, Reini Urban, Ricardo Signes, Shlomi -Fish, Steve Hay, Thomas Sibley, Tony Cook, Unicode Consortium, 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 F<AUTHORS> file in the Perl source distribution. - -=head1 Reporting Bugs - -If you find what you think is a bug, you might check the articles recently -posted to the comp.lang.perl.misc newsgroup and 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 L<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 C<perl -V>, -will be sent off to [email protected] 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 please send it -to [email protected]. This points to a closed subscription -unarchived mailing list, which includes all the core committers, who will be -able to help assess the impact of issues, figure out a resolution, and help -co-ordinate the release of patches to mitigate or fix the problem across all -platforms on which Perl is supported. Please only use this address for -security issues in the Perl core, not for modules independently distributed on -CPAN. - -=head1 SEE ALSO - -The F<Changes> file for an explanation of how to view exhaustive details on -what changed. - -The F<INSTALL> file for how to build Perl. - -The F<README> file for general stuff. - -The F<Artistic> and F<Copying> files for copyright information. - -=cut diff --git a/pod/perl5231delta.pod b/pod/perl5231delta.pod deleted file mode 100644 index ad4c7ce..0000000 --- a/pod/perl5231delta.pod +++ /dev/null @@ -1,317 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5231delta - what is new for perl v5.23.1 - -=head1 DESCRIPTION - -This document describes differences between the 5.23.0 release and the 5.23.1 -release. - -If you are upgrading from an earlier release such as 5.22.0, first read -L<perl5230delta>, which describes differences between 5.22.0 and 5.23.0. - -=head1 Core Enhancements - -=head2 Integer shift (C<< << >> and C<< >> >>) now more explicitly defined - -Negative shifts are reverse shifts: left shift becomes right shift, -and right shift becomes left shift. - -Shifting by the number of bits in a native integer (or more) is zero, -except when the "overshift" is right shifting a negative value under -C<use integer>, in which case the result is -1 (arithmetic shift). - -Until now negative shifting and overshifting have been undefined -because they have relied on whatever the C implementation happens -to do. For example, for the overshift a common C behavior is -"modulo shift": - - 1 >> 64 == 1 >> (64 % 64) == 1 >> 0 == 1 # Common C behavior. - - # And the same for <<, while Perl now produces 0 for both. - -Now these behaviors are well-defined under Perl, regardless of what -the underlying C implementation does. Note, however, that you cannot -escape the native integer width, you need to know how far left you -can go. You can use for example: - - use Config; - my $wordbits = $Config{uvsize} * 8; # Or $Config{uvsize} << 3. - -If you need a more bits on the left shift, you can use for example -the C<bigint> pragma, or the C<Bit::Vector> module from CPAN. - -=head2 Postfix dereferencing is no longer experimental - -Using the C<postderef> and C<postderef_qq> features no longer emits a -warning. Existing code that disables the C<experimental::postderef> warning -category that they previously used will continue to work. The C<postderef> -feature has no effect; all Perl code can use postfix dereferencing, -regardless of what feature declarations are in scope. The C<5.24> feature -bundle now includes the C<postderef_qq> feature. - -=head2 printf and sprintf now allow reordered precision arguments - -That is, C<< sprintf '|%.*2$|', 2, 3 >> now returns C<|002|>. This extends -the existing reordering mechanism (which allows reordering for arguments -that are used as format fields, widths, and vector separators). - -=head1 Incompatible Changes - -=head2 ASCII characters in variable names must now be all visible - -It was legal until now on ASCII platforms for variable names to contain -non-graphical ASCII control characters (ordinals 0 through 31, and 127, -which are the C0 controls and C<DELETE>). This usage has been -deprecated since v5.20, and as of now causes a syntax error. The -variables these names referred to are special, reserved by Perl for -whatever use it may choose, now, or in the future. Each such variable -has an alternative way of spelling it. Instead of the single -non-graphic control character, a two character sequence beginning with a -caret is used, like C<$^]> and C<${^GLOBAL_PHASE}>. Details are at -L<perlvar>. It remains legal, though unwise and deprecated (raising a -deprecation warning), to use certain non-graphic non-ASCII characters in -variables names when not under S<C<use utf8>>. No code should do this, -as all such variables are reserved by Perl, and Perl doesn't currently -define any of them (but could at any time, without notice). - -=head2 The C<autoderef> feature has been removed - -The experimental C<autoderef> feature (which allowed calling C<push>, -C<pop>, C<shift>, C<unshift>, C<splice>, C<keys>, C<values>, and C<each> on -a scalar argument) has been deemed unsuccessful. It has now been removed; -trying to use the feature (or to disable the C<experimental::autoderef> -warning it previously triggered) now yields an exception. - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -The libnet distribution has been upgraded from version 3.06 to 3.07. - -=item * - -L<autodie> has been upgraded from version 2.27 to 2.29. - -=item * - -L<DynaLoader> has been upgraded from version 1.32 to 1.33. - -=item * - -L<Encode> has been upgraded from version 2.73 to 2.75. - -=item * - -L<encoding> has been upgraded from version 2.15 to 2.16. - -=item * - -L<feature> has been upgraded from version 1.41 to 1.42. - -=item * - -L<File::Path> has been upgraded from version 2.09 to 2.11. - -=item * - -L<Getopt::Long> has been upgraded from version 2.46 to 2.47. - -=item * - -L<I18N::Langinfo> has been upgraded from version 0.12 to 0.13. - -=item * - -L<IPC::Open3> has been upgraded from version 1.18 to 1.19. - -If a Perl exception was thrown from inside this module, the exception -C<IPC::Open3> threw to the callers of C<open3> would have an irrelevant -message derived from C<$!> which was in an undefined state, instead of the -C<$@> message which triggers the failure path inside C<open3>. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20150620 to 5.20150720. - -=item * - -L<Opcode> has been upgraded from version 1.32 to 1.33. - -=item * - -L<PerlIO::scalar> has been upgraded from version 0.22 to 0.23. - -=item * - -L<POSIX> has been upgraded from version 1.54 to 1.55. - -=item * - -L<Socket> has been upgraded from version 2.019 to 2.020. - -=item * - -L<Storable> has been upgraded from version 2.53 to 2.54. - -=item * - -L<Unicode::Collate> has been upgraded from version 1.12 to 1.14. - -=item * - -L<Unicode::Normalize> has been upgraded from version 1.18 to 1.19. - -=item * - -L<warnings> has been upgraded from version 1.32 to 1.33. - -=item * - -L<XS::Typemap> has been upgraded from version 0.13 to 0.14. - -=back - -=head1 Diagnostics - -The following additions or changes have been made to diagnostic output, -including warnings and fatal error messages. For the complete list of -diagnostic messages, see L<perldiag>. - -=head2 Changes to Existing Diagnostics - -=over 4 - -=item * - -The C<printf> and C<sprintf> builtins are now more careful about the -warnings they emit: argument reordering now disables the "redundant -argument" warning in all cases; and invalid format strings are no longer -treated as absorbing arguments (so "redundant argument" warnings can -correctly be emitted by such code). - -=back - -=head1 Platform Support - -=head2 Platform-Specific Notes - -=over 4 - -=item VMS - -=over - -=item * - -The minimum supported version of VMS is now v7.3-2, released in 2003. As a -side effect of this change, VAX is no longer supported as the terminal -release of OpenVMS VAX was v7.3 in 2001. - -=back - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -C<sv_catpvf> and related functions (including C<sv_vcatpvfn_flags> when -called with a C<va_list> rather than an array of SV pointers) have never -handled argument reordering. Attempts to reorder arguments now yield an -exception, rather than being silently ignored. - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -A leak in the XS typemap caused one scalar to be leaked each time a C<FILE *> -or a C<PerlIO *> was C<OUTPUT:>ed or imported to Perl, since perl 5.000. These -particular typemap entries are thought to be extremely rarely used by XS -modules. [perl #124181] - -=item * - -C<alarm()> and C<sleep()> will now warn if the argument is a negative number -and return undef. Previously they would pass the negative value to the -underlying C function which may have set up a timer with a surprising value. - -=back - -=head1 Acknowledgements - -Perl 5.23.1 represents approximately 4 weeks of development since Perl 5.23.0 -and contains approximately 8,400 lines of changes across 320 files from 22 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 5,000 lines of changes to 140 .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.23.1: - -Aaron Crane, Aristotle Pagaltzis, Chas. Owens, Chris 'BinGOs' Williams, Craig -A. Berry, Daniel Dragan, David Mitchell, Father Chrysostomos, Herbert Breunung, -H.Merijn Brand, James E Keenan, Jarkko Hietaniemi, Karen Etheridge, Karl -Williamson, Leon Timmermans, Matthew Horsfall, Max Maischein, Rafael -Garcia-Suarez, Ricardo Signes, Stanislaw Pusep, Steve Hay, Tony Cook. - -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 F<AUTHORS> file in the Perl source distribution. - -=head1 Reporting Bugs - -If you find what you think is a bug, you might check the articles recently -posted to the comp.lang.perl.misc newsgroup and the perl bug database at -L<https://rt.perl.org/> . There may also be information at -L<http://www.perl.org/> , the Perl Home Page. - -If you believe you have an unreported bug, please run the L<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 C<perl -V>, -will be sent off to [email protected] 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 please send it -to [email protected]. This points to a closed subscription -unarchived mailing list, which includes all the core committers, who will be -able to help assess the impact of issues, figure out a resolution, and help -co-ordinate the release of patches to mitigate or fix the problem across all -platforms on which Perl is supported. Please only use this address for -security issues in the Perl core, not for modules independently distributed on -CPAN. - -=head1 SEE ALSO - -The F<Changes> file for an explanation of how to view exhaustive details on -what changed. - -The F<INSTALL> file for how to build Perl. - -The F<README> file for general stuff. - -The F<Artistic> and F<Copying> files for copyright information. - -=cut diff --git a/pod/perl5232delta.pod b/pod/perl5232delta.pod deleted file mode 100644 index 220cd51..0000000 --- a/pod/perl5232delta.pod +++ /dev/null @@ -1,375 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5232delta - what is new for perl v5.23.2 - -=head1 DESCRIPTION - -This document describes differences between the 5.23.1 release and the 5.23.2 -release. - -If you are upgrading from an earlier release such as 5.23.0, first read -L<perl5231delta>, which describes differences between 5.23.0 and 5.23.1. - -=head1 Incompatible Changes - -=head2 Nested declarations are now disallowed - -A C<my>, C<our>, or C<state> declaration is no longer allowed inside -of another C<my>, C<our>, or C<state> declaration. - -For example, these are now fatal: - - my ($x, my($y)); - our (my $x); - -L<[perl #125587]|https://rt.perl.org/Ticket/Display.html?id=125587> - -L<[perl #121058]|https://rt.perl.org/Ticket/Display.html?id=121058> - -=head1 Deprecations - -=head2 sysread(), syswrite(), recv() and send() are deprecated on -:utf8 handles - -The sysread(), recv(), syswrite() and send() operators -are deprecated on handles that have the C<:utf8> layer, either -explicitly, or implicitly, eg., with the C<:encoding(UTF-16LE)> layer. - -Both sysread() and recv() currently use only the C<:utf8> flag for the -stream, ignoring the actual layers. Since sysread() and recv() do no -UTF-8 validation they can end up creating invalidly encoded scalars. - -Similarly, syswrite() and send() use only the C<:utf8> flag, otherwise -ignoring any layers. If the flag is set, both write the value UTF-8 -encoded, even if the layer is some different encoding, such as the -example above. - -Ideally, all of these operators would completely ignore the C<:utf8> -state, working only with bytes, but this would result in silently -breaking existing code. To avoid this a future version of perl will -throw an exception when any of sysread(), recv(), syswrite() or send() -are called on handle with the C<:utf8> layer. - -=head1 Performance Enhancements - -=over 4 - -=item * - -Creating Perl debugger data structures (see L<perldebguts/"Debugger Internals">) -for XSUBs and const subs has been removed. This removed one glob/scalar combo -for each unique C<.c> file that XSUBs and const subs came from. On startup -(C<perl -e"0">) about half a dozen glob/scalar debugger combos were created. -Loading XS modules created more glob/scalar combos. These things were created -regardless if the perl debugger was being used or not, unlike for pure perl -subs, and ignores that the perl debugger can not debug C code. - -=item * - -Single arguments in list assign are now slightly faster: - - ($x) = (...); - (...) = ($x); - -=back - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -The PathTools module collection has been upgraded from version 3.55 to -3.56. - -Minor optimizations. -L<[perl #125712]|https://rt.perl.org/Ticket/Display.html?id=125712> - -=item * - -L<Attribute::Handlers> has been upgraded from version 0.97 to 0.99. - -=item * - -L<CPAN::Meta::YAML> has been upgraded from version 0.016 to 0.017. - -=item * - -L<Encode> has been upgraded from version 2.75 to 2.76. - -=item * - -L<ExtUtils::ParseXS> has been upgraded from version 3.28 to 3.29. - -=item * - -L<ExtUtils::Typemaps> has been upgraded from version 3.28 to 3.29. - -=item * - -L<File::Find> has been upgraded from version 1.29 to 1.30. - -=item * - -L<File::Spec> has been upgraded from version 3.56 to 3.57. - -=item * - -L<Filter::Util::Call> has been upgraded from version 1.54 to 1.55. - -=item * - -L<Hash::Util> has been upgraded from version 0.18 to 0.19. - -C<unlock_hashref_recurse> and C<unlock_hash_recurse> didn't -actually unlock parts of the data structures... - -...now they do. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20150720 to 5.20150820. - -=item * - -L<perlfaq> has been upgraded from version 5.021009 to 5.021010. - -=item * - -L<POSIX> has been upgraded from version 1.55 to 1.56. - -=item * - -L<Term::Cap> has been upgraded from version 1.15 to 1.17. - -=item * - -L<Unicode::UCD> has been upgraded from version 0.61 to 0.62. - -=back - -=head1 Documentation - -=head2 Changes to Existing Documentation - -=head3 L<perlpolicy> - -=over 4 - -=item * - -This note has been added to perlpolicy: - - While civility is required, kindness is encouraged; if you have any doubt - about whether you are being civil, simply ask yourself, "Am I being kind?" - and aspire to that. - -=back - -=head3 L<perlvar> - -=over 4 - -=item * - -Use of C<$OLD_PERL_VERSION> is now discouraged. - -=back - -=head1 Diagnostics - -The following additions or changes have been made to diagnostic output, -including warnings and fatal error messages. For the complete list of -diagnostic messages, see L<perldiag>. - -=head2 New Diagnostics - -=head3 New Errors - -=over 4 - -=item * - -L<Can't redeclare "%s" in "%s"|perldiag/"Can't redeclare "%s" in "%s""> - -(F) A "my", "our" or "state" declaration was found within another declaration, -such as C<my ($x, my($y), $z)> or C<our (my $x)>. - -=back - -=head3 New Warnings - -=over 4 - -=item * - -L<%s() is deprecated on :utf8 handles|perldiag/"%s() is deprecated on :utf8 handles"> - -(W deprecated) The sysread(), recv(), syswrite() and send() operators -are deprecated on handles that have the C<:utf8> layer, either -explicitly, or implicitly, eg., with the C<:encoding(UTF-16LE)> layer. - -Both sysread() and recv() currently use only the C<:utf8> flag for the -stream, ignoring the actual layers. Since sysread() and recv() do no -UTF-8 validation they can end up creating invalidly encoded scalars. - -Similarly, syswrite() and send() use only the C<:utf8> flag, otherwise -ignoring any layers. If the flag is set, both write the value UTF-8 -encoded, even if the layer is some different encoding, such as the -example above. - -Ideally, all of these operators would completely ignore the C<:utf8> -state, working only with bytes, but this would result in silently -breaking existing code. To avoid this a future version of perl will -throw an exception when any of sysread(), recv(), syswrite() or send() -are called on handle with the C<:utf8> layer. - -=back - -=head2 Changes to Existing Diagnostics - -=over 4 - -=item * - -The diagnostic C<< Hexadecimal float: internal error >> has been changed to -C<< Hexadecimal float: internal error (%s) >> to include more information. - -=back - -=head1 Configuration and Compilation - -=over 4 - -=item * - -F<Configure> should handle spaces in paths a little better. - -=back - -=head1 Testing - -=over 4 - -=item * - -A new test (F<t/op/aassign.t>) has been added to test the list assignment operator -C<OP_AASSIGN>. - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -C<PL_sawalias> and C<GPf_ALIASED_SV> have been removed. - -=item * - -C<GvASSIGN_GENERATION> and C<GvASSIGN_GENERATION_set> have been removed. - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -Perl can again be compiled with any Unicode version. This used to -(mostly) work, but was lost in v5.18 through v5.20. The property -C<Name_Alias> did not exist prior to Unicode 5.0. L<Unicode::UCD> -incorrectly said it did. This has been fixed. - -=item * - -Very large code-points (beyond Unicode) in regular expressions no -longer cause a buffer overflow in some cases when converted to UTF-8. -L<[perl #125826]|https://rt.perl.org/Ticket/Display.html?id=125826> - -=item * - -The integer overflow check for the range operator (...) in list -context now correctly handles the case where the size of the range is -larger than the address space. This could happen on 32-bits with --Duse64bitint. -L<[perl #125781]|https://rt.perl.org/Ticket/Display.html?id=125781> - -=item * - -A crash with C<< %::=(); J->${\"::"} >> has been fixed. -L<[perl #125541]|https://rt.perl.org/Ticket/Display.html?id=125541> - -=back - -=head1 Acknowledgements - -Perl 5.23.2 represents approximately 4 weeks of development since Perl 5.23.1 -and contains approximately 22,000 lines of changes across 240 files from 23 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 17,000 lines of changes to 140 .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.23.2: - -Aaron Priven, Aristotle Pagaltzis, Chris 'BinGOs' Williams, Craig A. Berry, -Dagfinn Ilmari Mannsåker, Daniel Dragan, David Mitchell, Ed J, Father -Chrysostomos, H.Merijn Brand, Ivan Pozdeev, James E Keenan, Jarkko Hietaniemi, -Karen Etheridge, Karl Williamson, Ludovic E. R. Tolhurst-Cleaver, Lukas Mai, -Matthew Horsfall, Reini Urban, Ricardo Signes, Sisyphus, Steve Hay, Tony Cook. - -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 F<AUTHORS> file in the Perl source distribution. - -=head1 Reporting Bugs - -If you find what you think is a bug, you might check the articles recently -posted to the comp.lang.perl.misc newsgroup and the perl bug database at -L<https://rt.perl.org/> . There may also be information at -L<http://www.perl.org/> , the Perl Home Page. - -If you believe you have an unreported bug, please run the L<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 C<perl -V>, -will be sent off to [email protected] 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 please send it -to [email protected]. This points to a closed subscription -unarchived mailing list, which includes all the core committers, who will be -able to help assess the impact of issues, figure out a resolution, and help -co-ordinate the release of patches to mitigate or fix the problem across all -platforms on which Perl is supported. Please only use this address for -security issues in the Perl core, not for modules independently distributed on -CPAN. - -=head1 SEE ALSO - -The F<Changes> file for an explanation of how to view exhaustive details on -what changed. - -The F<INSTALL> file for how to build Perl. - -The F<README> file for general stuff. - -The F<Artistic> and F<Copying> files for copyright information. - -=cut diff --git a/pod/perl5233delta.pod b/pod/perl5233delta.pod deleted file mode 100644 index a8adeee..0000000 --- a/pod/perl5233delta.pod +++ /dev/null @@ -1,404 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5233delta - what is new for perl v5.23.3 - -=head1 DESCRIPTION - -This document describes differences between the 5.23.2 release and the 5.23.3 -release. - -If you are upgrading from an earlier release such as 5.23.1, first read -L<perl5232delta>, which describes differences between 5.23.1 and 5.23.2. - -=head1 Core Enhancements - -=head2 C<qr/(?[ ])/> now works in UTF-8 locales - -L<Extended Bracketed Character Classes|perlrecharclass/Extended Bracketed Character Classes> -now will successfully compile when S<C<use locale>> is in effect. The compiled -pattern will use standard Unicode rules. If the runtime locale is not a -UTF-8 one, a warning is raised and standard Unicode rules are used -anyway. No tainting is done since the outcome does not actually depend -on the locale. - -=head1 Incompatible Changes - -=head2 An off by one issue in C<$Carp::MaxArgNums> has been fixed - -C<$Carp::MaxArgNums> is supposed to be the number of arguments to display. -Prior to this version, it was instead showing C<$Carp::MaxArgNums> + 1 arguments, -contrary to the documentation. - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<B> has been upgraded from version 1.58 to 1.59. - -=item * - -L<bignum> has been upgraded from version 0.39 to 0.40. - -=item * - -L<Carp> has been upgraded from version 1.36 to 1.37. - -=item * - -L<Compress::Raw::Zlib> has been upgraded from version 2.068 to 2.068_01. - -=item * - -L<DynaLoader> has been upgraded from version 1.33 to 1.34. - -=item * - -L<Encode> has been upgraded from version 2.76 to 2.77. - -=item * - -L<encoding> has been upgraded from version 2.16 to 2.17. - -=item * - -L<English> has been upgraded from version 1.09 to 1.10. - -=item * - -L<Errno> has been upgraded from version 1.23 to 1.24. - -=item * - -L<experimental> has been upgraded from version 0.013 to 0.014. - -=item * - -L<ExtUtils::MakeMaker> has been upgraded from version 7.04_01 to 7.10. - -=item * - -L<ExtUtils::ParseXS> has been upgraded from version 3.29 to 3.30. - -=item * - -L<ExtUtils::Typemaps> has been upgraded from version 3.29 to 3.30. - -=item * - -L<File::Find> has been upgraded from version 1.30 to 1.31. - -=item * - -L<File::Glob> has been upgraded from version 1.24 to 1.25. - -=item * - -L<File::Spec> has been upgraded from version 3.57 to 3.58. - -=item * - -L<Hash::Util::FieldHash> has been upgraded from version 1.15 to 1.17. - -=item * - -L<if> has been upgraded from version 0.0604 to 0.0605. - -=item * - -L<locale> has been upgraded from version 1.06 to 1.07. - -=item * - -L<Locale::Codes> has been upgraded from version 3.35 to 3.36. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20150820 to 5.20150920. - -=item * - -L<mro> has been upgraded from version 1.17 to 1.18. - -=item * - -L<Pod::Perldoc> has been upgraded from version 3.25 to 3.25_01. - -=item * - -L<POSIX> has been upgraded from version 1.56 to 1.57. - -=item * - -L<Socket> has been upgraded from version 2.020 to 2.020_01. - -=item * - -L<Test> has been upgraded from version 1.26 to 1.27. - -=item * - -L<Thread::Queue> has been upgraded from version 3.05 to 3.06. - -=item * - -L<threads> has been upgraded from version 2.02 to 2.03. - -=item * - -L<Time::HiRes> has been upgraded from version 1.9726 to 1.9727_02. - -=item * - -L<Unicode::UCD> has been upgraded from version 0.62 to 0.63. - -=item * - -L<Win32> has been upgraded from version 0.51 to 0.52. - -=back - -=head2 New Modules and Pragmata - -=over 4 - -=item * - -L<Amiga::ARexx> has been added, as version 0.02 - -=item * - -L<Amiga::Exec> has been added, as version 0.01 - -=back - -=head1 Documentation - -=head2 Changes to Existing Documentation - -=head3 L<perlcall> - -=over 4 - -=item * - -A number of cleanups have been made to perlcall, including: - -=over 4 - -=item * - -use EXTEND(SP, n) and PUSHs() instead of XPUSHs() where applicable -and update prose to match - -=item * - -add POPu, POPul and POPpbytex to the "complete list of POP macros" -and clarify the documentation for some of the existing entries, and -a note about side-effects - -=item * - -add API documentation for POPu and POPul - -=item * - -use ERRSV more efficiently - -=item * - -approaches to thread-safety storage of SVs. - -=back - -=back - -=head3 L<perlunicode> - -=over 4 - -=item * - -Discourage use of 'In' prefix for Unicode Block property. - -=back - -=head1 Diagnostics - -The following additions or changes have been made to diagnostic output, -including warnings and fatal error messages. For the complete list of -diagnostic messages, see L<perldiag>. - -=head2 New Diagnostics - -=head3 New Errors - -=over 4 - -=item * - -L<%s must not be a named sequence in transliteration operator|perldiag/"%s must not be a named sequence in transliteration operator"> - -(F) Transliteration (C<tr///> and C<y///>) transliterates individual -characters. But a named sequence by definition is more than an -individual charater, and hence doing this operation on it doesn't make -sense. - -=back - -=head1 Testing - -=over 4 - -=item * - -Parallel building has been added to the dmake C<makefile.mk> makefile. All -Win32 compilers are supported. - -=back - -=head1 Platform Support - -=head2 Platform-Specific Notes - -=over 4 - -=item EBCDIC C<cmp()> and C<sort()> fixed for UTF-EBCDIC strings - -Comparing two strings that were both encoded in UTF-8 (or more -precisely, UTF-EBCDIC) did not work properly until now. Since C<sort()> -uses C<cmp()>, this fixes that as well. - -=item EBCDIC C<tr///> and C<y///> fixed for C<\N{}>, and C<S<use utf8>> ranges - -Perl v5.22 introduced the concept of portable ranges to regular -expression patterns. A portable range matches the same set of -characters no matter what platform is being run on. This concept is now -extended to C<tr///>. See -C<L<trE<sol>E<sol>E<sol>|perlop/trE<sol>SEARCHLISTE<sol>REPLACEMENTLISTE<sol>cdsr>>. - -There were also some problems with these operations under S<C<use -utf8>>, which are now fixed - -=item Win32 - -=over - -=item * - -Parallel building has been added to the dmake C<makefile.mk> makefile. All -Win32 compilers are supported. - -=back - -=item AmigaOS - -The AmigaOS port has been reintegrated into the main tree, based off of -Perl 5.22.1. - -=item clang++ - -Don't add -shared when the compiler is clang++ - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -C<qr/(?[ () ])/> no longer segfaults, giving a syntax error message instead. -[perl #125805] - -=item * - -Regular expression possessive quantifier v5.20 regression now fixed. -C<qr/>I<PAT>C<{>I<min>,I<max>C<}+>C</> is supposed to behave identically -to C<qr/(?E<gt>>I<PAT>C<{>I<min>,I<max>C<})/>. Since v5.20, this didn't -work if I<min> and I<max> were equal. [perl #125825] - -=item * - -C<< BEGIN <> >> no longer segfaults and properly produces an error -message. [perl #125341] - -=item * - -In C<tr///> an illegal backwards range like C<tr/\x{101}-\x{100}//> was -not always detected, giving incorrect results. This is now fixed. - -=back - -=head1 Acknowledgements - -Perl 5.23.3 represents approximately 4 weeks of development since Perl 5.23.2 -and contains approximately 150,000 lines of changes across 550 files from 30 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 120,000 lines of changes to 410 .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.23.3: - -Aaron Crane, Alexander D'Archangel, Andy Broad, Chris 'BinGOs' Williams, Craig -A. Berry, Dan Collins, Daniel Dragan, David Mitchell, Father Chrysostomos, -James E Keenan, Jan Dubois, Jarkko Hietaniemi, Jerry D. Hedden, John SJ -Anderson, Karen Etheridge, Karl Williamson, Lukas Mai, Matthew Horsfall, -Nicolas R., Peter John Acklam, Peter Martini, Ricardo Signes, Shlomi Fish, -Steffen Müller, Steve Hay, Sullivan Beck, Thomas Sibley, Todd Rinaldo, Tony -Cook, Zachary Storer. - -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 F<AUTHORS> file in the Perl source distribution. - -=head1 Reporting Bugs - -If you find what you think is a bug, you might check the articles recently -posted to the comp.lang.perl.misc newsgroup and the perl bug database at -L<https://rt.perl.org/> . There may also be information at -L<http://www.perl.org/> , the Perl Home Page. - -If you believe you have an unreported bug, please run the L<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 C<perl -V>, -will be sent off to [email protected] 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 please send it -to [email protected]. This points to a closed subscription -unarchived mailing list, which includes all the core committers, who will be -able to help assess the impact of issues, figure out a resolution, and help -co-ordinate the release of patches to mitigate or fix the problem across all -platforms on which Perl is supported. Please only use this address for -security issues in the Perl core, not for modules independently distributed on -CPAN. - -=head1 SEE ALSO - -The F<Changes> file for an explanation of how to view exhaustive details on -what changed. - -The F<INSTALL> file for how to build Perl. - -The F<README> file for general stuff. - -The F<Artistic> and F<Copying> files for copyright information. - -=cut diff --git a/pod/perl5234delta.pod b/pod/perl5234delta.pod deleted file mode 100644 index 193e824..0000000 --- a/pod/perl5234delta.pod +++ /dev/null @@ -1,557 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5234delta - what is new for perl v5.23.4 - -=head1 DESCRIPTION - -This document describes differences between the 5.23.3 release and the 5.23.4 -release. - -If you are upgrading from an earlier release such as 5.23.2, first read -L<perl5233delta>, which describes differences between 5.23.2 and 5.23.3. - -=head1 Incompatible Changes - -=head2 Lexical $_ has been removed - -C<my $_> was introduced in Perl 5.10, and subsequently caused much confusion -with no obvious solution. In Perl 5.18.0, it was made experimental on the -theory that it would either be removed or redesigned in a less confusing (but -backward-incompatible) way. Over the following years, no alternatives were -proposed. The feature has now been removed and will fail to compile. - -=head2 Only blanks and tabs are now allowed within C<[...]> within C<(?[...])>. - -The experimental Extended Bracketed Character Classes can contain regular -bracketed character classes within them. These differ from regular ones in -that white space is generally ignored, unless escaped by preceding it with a -backslash. The white space that is ignored is now limited to just tab C<\t> -and SPACE characters. Previously, it was any white space. See -L<perlrecharclass/Extended Bracketed Character Classes>. - -=head1 Performance Enhancements - -=over 4 - -=item * - -C</fixed-substr/> has been made much faster. - -On platforms with a libc memchr() implementation which makes good use of -underlying hardware support, patterns which include fixed substrings will now -often be much faster; for example with glibc on a recent x86_64 CPU, this: - - $s = "a" x 1000 . "wxyz"; - $s =~ /wxyz/ for 1..30000 - -is now about 7 times faster. On systems with slow memchr(), e.g. 32-bit ARM -Raspberry Pi, there will be a small or little speedup. Conversely, some -pathological cases, such as C<"ab" x 1000 =~ /aa/> will be slower now; up to 3 -times slower on the rPi, 1.5x slower on x86_64. - -=back - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<B> has been upgraded from version 1.59 to 1.60. - -=item * - -L<bignum> has been upgraded from version 0.40 to 0.41. - -=item * - -L<Compress::Raw::Bzip2> has been upgraded from version 2.068 to 2.069. - -=item * - -L<Compress::Raw::Zlib> has been upgraded from version 2.068_01 to 2.069. - -=item * - -L<Devel::PPPort> has been upgraded from version 3.31 to 3.32. - -=item * - -L<DynaLoader> has been upgraded from version 1.34 to 1.35. - -=item * - -L<Encode> has been upgraded from version 2.77 to 2.78. - -=item * - -L<experimental> has been upgraded from version 0.014 to 0.016. - -=item * - -L<ExtUtils::CBuilder> has been upgraded from version 0.280223 to 0.280224. - -=item * - -L<File::Path> has been upgraded from version 2.11 to 2.12. - -=item * - -L<if> has been upgraded from version 0.0605 to 0.0606. - -=item * - -L<IO> has been upgraded from version 1.35 to 1.36. - -For an IO::Poll object C<$poll> with no file handles yet in it, -C<$poll-E<gt>poll(10)> now sleeps for up to 10 seconds anyway instead of -returning 0 immediately. -L<[cpan #25049]|https://rt.cpan.org/Ticket/Display.html?id=25049> - -=item * - -The IO-Compress modules have been upgraded from version 2.068 to 2.069. - -=item * - -L<Math::BigInt> has been upgraded from version 1.999701 to 1.999704. - -=item * - -L<Math::BigInt::FastCalc> has been upgraded from version 0.31 to 0.34. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20150920 to 5.20151020. - -=item * - -L<Module::Metadata> has been upgraded from version 1.000027 to 1.000029. - -=item * - -L<Perl::OSType> has been upgraded from version 1.008 to 1.009. - -=item * - -L<PerlIO::encoding> has been upgraded from version 0.21 to 0.22. - -PerlIO::encoding objects are now properly duplicated. -L<[perl #31923]|https://rt.perl.org/Ticket/Display.html?id=31923> - -=item * - -L<POSIX> has been upgraded from version 1.57 to 1.58. - -If C<POSIX::strerror> was passed C<$!> as its argument then it accidentally -cleared C<$!>. This has been fixed. -L<[perl #126229]|https://rt.perl.org/Ticket/Display.html?id=126229> - -=item * - -L<Socket> has been upgraded from version 2.020_01 to 2.020_02. - -Various fixes have been applied to inet_pton for the benefit of MS VC++ builds -on Windows. In particular, this restores the build with MS VC++ 6.0. - -=item * - -L<Unicode::Normalize> has been upgraded from version 1.19 to 1.21. - -=item * - -L<warnings> has been upgraded from version 1.33 to 1.35. - -The C<warnings::enabled> example now actually uses C<warnings::enabled>. -L<[perl #126051]|https://rt.perl.org/Ticket/Display.html?id=126051> - -=back - -=head1 Documentation - -=head2 Changes to Existing Documentation - -=head3 L<perlapi> - -=over 4 - -=item * - -The process of using undocumented globals has been documented, namely, that one -should send email to L<[email protected]|mailto:[email protected]> -first to get the go-ahead for documenting and using an undocumented function or -global variable. - -=back - -=head3 L<perlsub> - -=over 4 - -=item * - -Updated to note that anonymous subroutines can have signatures. - -=back - -=head3 L<perltie> - -=over 4 - -=item * - -The usage of C<FIRSTKEY> and C<NEXTKEY> has been clarified. - -=back - -=head3 L<perlvar> - -=over 4 - -=item * - -The specific true value of C<$!{E...}> is now documented, noting that it is -subject to change and not guaranteed. - -=back - -=head1 Diagnostics - -The following additions or changes have been made to diagnostic output, -including warnings and fatal error messages. For the complete list of -diagnostic messages, see L<perldiag>. - -=head2 New Diagnostics - -=head3 New Errors - -=over 4 - -=item * - -L<Can't find Unicode property definition "%s" in regex;|perldiag/"Can't find Unicode property definition "%s" in regex; marked by <-- HERE in m/%s/"> - -=item * - -L<Character following \p must be '{' or a single-character Unicode property name in regex;|perldiag/"Character following \%c must be '{' or a single-character Unicode property name in regex; marked b ... [21 chars truncated] - -=item * - -L<Illegal user-defined property name|perldiag/"Illegal user-defined property name"> - -=back - -=head2 Changes to Existing Diagnostics - -=over 4 - -=item * - -L<Can't modify non-lvalue subroutine call of &%s|perldiag/"Can't modify non-lvalue subroutine call of &%s"> - -This error now reports the name of the non-lvalue subroutine you attempted to -use as an lvalue. - -=back - -=head1 Configuration and Compilation - -=over 4 - -=item * - -Using the C<NO_HASH_SEED> define in combination with the default hash algorithm -C<PERL_HASH_FUNC_ONE_AT_A_TIME_HARD> resulted in a fatal error while compiling -the interpreter, since Perl 5.17.10. This has been fixed. - -=item * - -If you had F<Configure> hints for C<d_procselfexe> or C<procselfexe>, they were -probably broken by the AmigaOS changes in Perl 5.23.3. This has been now -fixed. -L<[perl #126152]|https://rt.perl.org/Ticket/Display.html?id=126152> - -=back - -=head1 Platform Support - -=head2 Platform-Specific Notes - -=over 4 - -=item IRIX - -=over - -=item * - -Under some circumstances IRIX stdio fgetc() and fread() set the errno to -C<ENOENT>, which made no sense according to either IRIX or POSIX docs. Errno -is now cleared in such cases. -L<[perl #123977]|https://rt.perl.org/Ticket/Display.html?id=123977> - -=item * - -Problems when multiplying long doubles by infinity have been fixed. -L<[perl #126396]|https://rt.perl.org/Ticket/Display.html?id=126396> - -=back - -=item MacOS X - -=over - -=item * - -Until now OS X builds of perl have specified a link target of 10.3 (Panther, -2003) but have not specified a compiler target. From now on, builds of perl on -OS X 10.6 or later (Snow Leopard, 2008) by default capture the current OS X -version and specify that as the explicit build target in both compiler and -linker flags, thus preserving binary compatibility for extensions built later -regardless of changes in OS X, SDK, or compiler and linker versions. To -override the default value used in the build and preserved in the flags, -specify C<export MACOSX_DEPLOYMENT_TARGET=10.N> before configuring and building -perl, where 10.N is the version of OS X you wish to target. In OS X 10.5 or -earlier there is no change to the behavior present when those systems were -current; the link target is still OS X 10.3 and there is no explicit compiler -target. - -=back - -=item VMS - -=over - -=item * - -Perl now implements its own C<killpg> by scanning for processes in the -specified process group, which may not mean exactly the same thing as a Unix -process group, but allows us to send a signal to a parent (or master) process -and all of its sub-processes. At the perl level, this means we can now send a -negative pid like so: - - kill SIGKILL, -$pid; - -to signal all processes in the same group as C<$pid>. - -=back - -=item Win32 - -=over - -=item * - -A new build option C<USE_NO_REGISTRY> has been added to the makefiles. This -option is off by default, meaning the default is to do Windows registry -lookups. This option stops Perl from looking inside the registry for anything. -For what values are looked up in the registry see L<perlwin32>. Internally, in -C, the name of this option is C<WIN32_NO_REGISTRY>. - -=item * - -The behavior of Perl using C<HKEY_CURRENT_USER\Software\Perl> and -C<HKEY_LOCAL_MACHINE\Software\Perl> to lookup certain values, including C<%ENV> -vars starting with C<PERL> has changed. Previously, the 2 keys were checked -for entries at all times through Perl processes life time even if they did not -exist. For performance reasons, now, if the root key (i.e. -C<HKEY_CURRENT_USER\Software\Perl> or C<HKEY_LOCAL_MACHINE\Software\Perl>) does -not exist at process start time, it will not be checked again for C<%ENV> -override entries for the remainder of the Perl processes life. This more -closely matches Unix behaviour in that the environment is copied or inherited -on startup and changing the variable in the parent process or another process -or editing F<.bashrc> will not change the environmental variable in other -existing, running, processes. - -=item * - -One glob fetch was removed for each C<-X> or C<stat> call whether done from -Perl code or internally from Perl's C code. The glob being looked up was -C<${^WIN32_SLOPPY_STAT}> which is a special variable. This makes C<-X> and -C<stat> slightly faster. - -=item * - -During miniperl's process startup, during the build process, 4 to 8 IO calls -related to the process starting F<.pl> and the F<buildcustomize.pl> file were -removed from the code opening and executing the first 1 or 2 F<.pl> files. - -=back - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -L<perlapi/sv_backoff> had its return type changed from C<int> to C<void>. It -previously has always returned C<0> since Perl 5.000 stable but that was -undocumented. Although C<sv_backoff> is marked as public API, XS code is not -expected to be impacted since the proper API call would be through public API -C<sv_setsv(sv, &PL_sv_undef)>, or quasi-public C<SvOOK_off>, or non-public -C<SvOK_off> calls, and the return value of C<sv_backoff> was previously a -meaningless constant that can be rewritten as C<(sv_backoff(sv),0)>. - -=item * - -The C<EXTEND> and C<MEXTEND> macros have been improved to avoid various issues -with integer truncation and wrapping. In particular, some casts formerly used -within the macros have been removed. This means for example that passing an -unsigned nitems argument is likely to raise a compiler warning now (it's always -been documented to require a signed value; formerly int, lately SSize_t). - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -There were places in regular expression patterns where comments (C<(?#...)>) -weren't allowed, but should have been. This is now fixed. -L<[perl #116639]|https://rt.perl.org/Ticket/Display.html?id=116639> - -=item * - -Some regressions from Perl 5.20 have been fixed, in which some syntax errors in -L<C<(?[...])>|perlrecharclass/Extended Bracketed Character Classes> constructs -within regular expression patterns could cause a segfault instead of a proper -error message. -L<[perl #126180]|https://rt.perl.org/Ticket/Display.html?id=126180> -L<[perl #126404]|https://rt.perl.org/Ticket/Display.html?id=126404> - -=item * - -Another problem with -L<C<(?[...])>|perlrecharclass/Extended Bracketed Character Classes> -constructs has been fixed wherein things like C<\c]> could cause panics. -L<[perl #126181]|https://rt.perl.org/Ticket/Display.html?id=126181> - -=item * - -Some problems with attempting to extend the perl stack to around 2G or 4G -entries have been fixed. This was particularly an issue on 32-bit perls built -to use 64-bit integers, and was easily noticeable with the list repetition -operator, e.g. - - @a = (1) x $big_number - -Formerly perl may have crashed, depending on the exact value of C<$big_number>; -now it will typically raise an exception. -L<[perl #125937]|https://rt.perl.org/Ticket/Display.html?id=125937> - -=item * - -In a regex conditional expression C<(?(condition)yes-pattern|no-pattern)>, if -the condition is C<(?!)> then perl failed the match outright instead of -matching the no-pattern. This has been fixed. -L<[perl #126222]|https://rt.perl.org/Ticket/Display.html?id=126222> - -=item * - -The special backtracking control verbs C<(*VERB:ARG)> now all allow an optional -argument and set C<REGERROR>/C<REGMARK> appropriately as well. -L<[perl #126186]|https://rt.perl.org/Ticket/Display.html?id=126186> - -=item * - -Several bugs, including a segmentation fault, have been fixed with the bounds -checking constructs (introduced in Perl 5.22) C<\b{gcb}>, C<\b{sb}>, C<\b{wb}>, -C<\B{gcb}>, C<\B{sb}>, and C<\B{wb}>. All the C<\B{}> ones now match an empty -string; none of the C<\b{}> ones do. -L<[perl #126319]|https://rt.perl.org/Ticket/Display.html?id=126319> - -=back - -=head1 Errata From Previous Releases - -=over 4 - -=item * - -(This was actually done in Perl 5.23.2, but the perldelta entry got missed.) -The way that C<OP_AASSIGN> handles assignment with potentially common values -(e.g. C<($a,$b) = ($b, $a)> has changed. In particular the C<OPpASSIGN_COMMON> -flag has been replaced with three more specific flags: - - OPpASSIGN_COMMON_AGG - OPpASSIGN_COMMON_RC1 - OPpASSIGN_COMMON_SCALAR - -and the runtime now sometimes does a mark and sweep using the C<SVf_BREAK> to -detect common elements. - -=back - -=head1 Acknowledgements - -Perl 5.23.4 represents approximately 4 weeks of development since Perl 5.23.3 -and contains approximately 21,000 lines of changes across 360 files from 21 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 15,000 lines of changes to 250 .pm, .t, .c and .h files. **** PATCH TRUNCATED AT 2000 LINES -- 2578 NOT SHOWN **** -- Perl5 Master Repository
