diff options
author | Ricardo Signes <rjbs@cpan.org> | 2016-04-13 22:02:23 -0400 |
---|---|---|
committer | Ricardo Signes <rjbs@cpan.org> | 2016-04-13 22:12:25 -0400 |
commit | a383bbaba01aec92a46d40499c2da493bb6094f7 (patch) | |
tree | e7318a0f125276ef4707b5f0f117c42c639adbad | |
parent | 0032ae01e451abd535968298daf6210114236dd8 (diff) | |
download | perl-a383bbaba01aec92a46d40499c2da493bb6094f7.tar.gz |
remove the v5.23.x perldeltas
-rw-r--r-- | MANIFEST | 10 | ||||
-rw-r--r-- | pod/perl.pod | 10 | ||||
-rw-r--r-- | pod/perl5230delta.pod | 306 | ||||
-rw-r--r-- | pod/perl5231delta.pod | 317 | ||||
-rw-r--r-- | pod/perl5232delta.pod | 375 | ||||
-rw-r--r-- | pod/perl5233delta.pod | 404 | ||||
-rw-r--r-- | pod/perl5234delta.pod | 557 | ||||
-rw-r--r-- | pod/perl5235delta.pod | 420 | ||||
-rw-r--r-- | pod/perl5236delta.pod | 522 | ||||
-rw-r--r-- | pod/perl5237delta.pod | 438 | ||||
-rw-r--r-- | pod/perl5238delta.pod | 525 | ||||
-rw-r--r-- | pod/perl5239delta.pod | 431 | ||||
-rw-r--r-- | win32/pod.mak | 40 |
13 files changed, 0 insertions, 4355 deletions
@@ -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/pod/perl.pod b/pod/perl.pod index 3e08691bfa..638e8c935e 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 5620bed8c4..0000000000 --- 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 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 please send it -to perl5-security-report@perl.org. 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 ad4c7ce6d1..0000000000 --- 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 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 please send it -to perl5-security-report@perl.org. 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 220cd516a1..0000000000 --- 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 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 please send it -to perl5-security-report@perl.org. 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 a8adeee2c1..0000000000 --- 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 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 please send it -to perl5-security-report@perl.org. 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 193e82430f..0000000000 --- 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<perl5-porters@perl.org|mailto:perl5-porters@perl.org> -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 by <-- HERE in m/%s/"> - -=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. - -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.4: - -Chris 'BinGOs' Williams, Craig A. Berry, Dagfinn Ilmari Mannsåker, Daniel -Dragan, David Mitchell, Doug Bell, Father Chrysostomos, H.Merijn Brand, Jarkko -Hietaniemi, Karen Etheridge, Karl Williamson, Nicholas Clark, Peter Martini, -Rafael Garcia-Suarez, Reini Urban, Ricardo Signes, Steve Hay, Tony Cook, Victor -Adam, Vincent Pit, Yves Orton. - -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 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 please send it -to perl5-security-report@perl.org. 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/perl5235delta.pod b/pod/perl5235delta.pod deleted file mode 100644 index c9a3e55fcf..0000000000 --- a/pod/perl5235delta.pod +++ /dev/null @@ -1,420 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5235delta - what is new for perl v5.23.5 - -=head1 DESCRIPTION - -This document describes differences between the 5.23.4 release and the 5.23.5 -release. - -If you are upgrading from an earlier release such as 5.23.3, first read -L<perl5234delta>, which describes differences between 5.23.3 and 5.23.4. - -=head1 Performance Enhancements - -=over 4 - -=item * - -Faster addition, subtraction and multiplication. - -Since 5.8.0, arithmetic became slower due to the need to support -64-bit integers. To deal with 64-bit integers, a lot more corner -cases need to be checked, which adds time. We now detect common -cases where there is no need to check for those corner cases, -and special-case them. - -=item * - -Faster preincrement, predecrement, postincrement, postdecrement. - -By internally splitting the functions which handled multiple -cases into different functions. - -=back - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<arybase> has been upgraded from version 0.10 to 0.11. - -=item * - -L<B> has been upgraded from version 1.60 to 1.61. - -=item * - -L<base> has been upgraded from version 2.22 to 2.22_01. - -Better handling of attempts to load non-existent modules. -Improvements to fields.pm documentation. L<base> now requires v5.8.0. - -=item * - -L<Carp> has been upgraded from version 1.37 to 1.38. - -Improvements when working with older perls. - -=item * - -L<Config::Perl::V> has been upgraded from version 0.24 to 0.25. - -=item * - -L<Devel::Peek> has been upgraded from version 1.22 to 1.23. - -=item * - -L<Dumpvalue> has been upgraded from version 1.17 to 1.18. - -=item * - -L<DynaLoader> has been upgraded from version 1.35 to 1.36. - -=item * - -L<fields> has been upgraded from version 2.17 to 2.22_01. - -=item * - -L<File::Find> has been upgraded from version 1.31 to 1.32. - -Handles empty directory lists. - -=item * - -L<File::Spec> has been upgraded from version 3.58 to 3.59. - -=item * - -L<Getopt::Long> has been upgraded from version 2.47 to 2.48. - -Fixes an issue with C<< gnu_compat >> - -=item * - -L<Hash::Util::FieldHash> has been upgraded from version 1.17 to 1.18. - -=item * - -L<IPC::Open3> has been upgraded from version 1.19 to 1.20. - -Include the error message on C<< exec() >> failure. - -=item * - -L<Math::BigInt> has been upgraded from version 1.999704 to 1.999710. - -=item * - -L<Math::BigInt::FastCalc> has been upgraded from version 0.34 to 0.37. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20151020 to 5.20151120. - -=item * - -L<Module::Metadata> has been upgraded from version 1.000029 to 1.000030. - -Temp dirs cleaned up during tests. More accurately mark tests as TODO, so as to have a quieter and less confusing test run without passing TODO tests. - -=item * - -L<PerlIO::encoding> has been upgraded from version 0.22 to 0.23. - -=item * - -L<PerlIO::mmap> has been upgraded from version 0.014 to 0.015. - -=item * - -L<PerlIO::scalar> has been upgraded from version 0.23 to 0.24. - -=item * - -L<PerlIO::via> has been upgraded from version 0.15 to 0.16. - -=item * - -L<Pod::Simple> has been upgraded from version 3.30 to 3.32. - -Switched debugging output from C<< STDOUT >> to C<< STDERR >>. - -Added C<< errata_seen() >> to make POD errors easily accessible. - -Simplified the detection of case-insensitivity in Pod::Simple::Search. - -Fixed C<< Use of uninitialized value $1 in lc >> warning in -Pod::Simple::Search. - -If C<< @INC >> includes the current directory symbol, C<.>, the -C<< survey() >> method of C<< Pod::Simple::Search >> no longer excludes -it from its list of directories to search. Instead, The C<< survey() >> and -C<< find() >> methods now both exclude duplicate directories from C<< @INC >> -(RT #102344). - -Moved source repository and updated links to new perl-pod GitHub -organization: L<https://github.com/perl-pod/pod-simple>. - -Improved repository links and added GitHub issue tracking link to -the distribution metadata. - -Switched from C<< File::Spec >>'s C<< catdir >> to C<< catfile >> -for path names, to fix failures on VMS. Also now use Unix path semantics -where they're not required to be platform-specific. (RT #105511). - -Improved the example use of the C<< html_encode_chars() >> method in -the C<< Pod::Simple::XHTML >> documentation. - -=item * - -L<POSIX> has been upgraded from version 1.58 to 1.59. - -=item * - -L<Thread::Queue> has been upgraded from version 3.06 to 3.07. - -=item * - -L<threads> has been upgraded from version 2.03 to 2.04. - -=item * - -L<threads::shared> has been upgraded from version 1.48 to 1.49. - -=item * - -L<Tie::Scalar> has been upgraded from version 1.03 to 1.04. - -=item * - -L<Time::HiRes> has been upgraded from version 1.9727_02 to 1.9728. - -=item * - -L<Time::Piece> has been upgraded from version 1.30 to 1.31. - -=item * - -L<Unicode::Normalize> has been upgraded from version 1.21 to 1.23. - -=item * - -L<XSLoader> has been upgraded from version 0.20 to 0.21. - -=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<<< Sequence (?... not terminated in regex; marked by S<<-- HERE> in mE<sol>%sE<sol>|perldiag/"Sequence (?... not terminated in regex; marked by <-- HERE in mE<sol>%sE<sol>" >>> - -=back - -=head2 Changes to Existing Diagnostics - -=over 4 - -=item * - -When running out of memory during an attempt the increase the stack -size, previously, perl would die using the cryptic message -C<< panic: av_extend_guts() negative count (-9223372036854775681) >>. -This has been fixed to show the prettier message: -L<< Out of memory during stack extend|perldiag/"Out of memory during %s extend" >> - -=back - -=head1 Configuration and Compilation - -=over 4 - -=item * - -C<Configure> now acts as if the C<-O> option is always passed, allowing command -line options to override saved configuration. This should eliminate confusion -when command line options are ignored for no obvious reason. C<-O> is now -permitted, but ignored. - -=item * - -Some filesystem stat symbols which were not used by the Perl core -were removed in an earlier commit. However, since these symbols -turned out to be used by at least one CPAN module, these symbols -have been restored. - -=item * - -C<< PPPort.so/PPPort.dll >> no longer get installed, as they are -not used by C<< PPPort.pm >>, only by its test files. - -=item * - -It is now possible to specify which compilation date to show on -C<< perl -V >> output, by setting the macro C<< PERL_BUILD_DATE >>. - -=back - -=head1 Platform Support - -=head2 Platform-Specific Notes - -=over 4 - -=item Win32 - -Win32 does now a parallel build with C++. - -=item Tru64 - -Workaround where Tru64 balks when prototypes are listed as -C<< PERL_STATIC_INLINE >>, but where the test is build with -C<< -DPERL_NO_INLINE_FUNCTIONS >>. - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -C<< sv_ref() >> is now part of the API. - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -C<\b{sb}> works much better. In Perl v5.22.0, this new construct didn't -seem to give the expected results, yet passed all the tests in the -extensive suite furnished by Unicode. It turns out that it was because -these were short input strings, and the failures had to do with longer -inputs. This was fixed in Perl 5.23.4, but the improvement was not -noticed until after that was released, so is included here now. - -=item * - -Certain syntax errors in -L<perlrecharclass/Extended Bracketed Character Classes> caused panics -instead of the proper error message. This has now been fixed. [perl -#126481] - -=item * - -An earlier commit added a message when a quantifier in a regular -expression was useless, but then caused the parser to skip it; -this caused the surplus quantifier to be silently ignored, instead -of throwing an error. This is now fixed. [perl #126253] - -=item * - -The switch to building non-XS modules last in win32/makefile.mk (introduced -by design as part of the changes to enable parallel building) caused the -build of POSIX to break due to problems with the version module. This -is now fixed. - -=item * - -Improved parsing of hex float constants. - -=item * - -Fixed an issue with C<< pack >> where C<< pack "H" >> (and C<< pack "h" >>) -could read past the source when given a non-utf8 source, and a utf8 target. -[perl #126325] - -=item * - -Fixed several cases where perl would abort due to a segmentation fault, -or a C-level assert. [perl #126615], [perl #126602], [perl #126193]. - -=back - -=head1 Acknowledgements - -Perl 5.23.5 represents approximately 4 weeks of development since Perl 5.23.4 -and contains approximately 12,000 lines of changes across 290 files from 23 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 6,400 lines of changes to 180 .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.5: - -Aaron Crane, Abigail, Chris 'BinGOs' Williams, Craig A. Berry, Dagfinn Ilmari -Mannsåker, Daniel Dragan, David Mitchell, Dr.Ruud, H.Merijn Brand, Ivan -Pozdeev, James E Keenan, Jarkko Hietaniemi, Jerry D. Hedden, Karen Etheridge, -Karl Williamson, Lukas Mai, Mohammed El-Afifi, Niko Tyni, Peter Rabbitson, -Reini Urban, Ricardo Signes, 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 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 please send it -to perl5-security-report@perl.org. 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/perl5236delta.pod b/pod/perl5236delta.pod deleted file mode 100644 index 128b6d9660..0000000000 --- a/pod/perl5236delta.pod +++ /dev/null @@ -1,522 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5236delta - what is new for perl v5.23.6 - -=head1 DESCRIPTION - -This document describes differences between the 5.23.5 release and the 5.23.6 -release. - -If you are upgrading from an earlier release such as 5.23.4, first read -L<perl5235delta>, which describes differences between 5.23.4 and 5.23.5. - -=head1 Incompatible Changes - -=head2 Regular expression compilation errors - -Some regular expression patterns that had runtime errors now -don't compile at all. - -This should have been in the perldelta for 5.23.4, but was omitted. - -Almost all Unicode properties using the C<\p{}> and C<\P{}> regular -expression pattern constructs are now checked for validity at pattern -compilation time, and invalid ones will cause the program to not -compile. In earlier releases, this check was often deferred until run -time. Whenever an error check is moved from run- to compile time, -erroneous code is caught 100% of the time, whereas before it would only -get caught if and when the offending portion actually gets executed, -which for unreachable code might be never. - -=head1 Deprecations - -=head2 Using code points above the platform's C<IV_MAX> is now -deprecated - -Unicode defines code points in the range C<0..0x10FFFF>. Some standards -at one time defined them up to 2**31 - 1, but Perl has allowed them to -be as high as anything that will fit in a word on the platform being -used. However, use of those above the platform's C<IV_MAX> is broken in -some constructs, notably C<tr///>, regular expression patterns involving -quantifiers, and in some arithmetic and comparison operations, such as -being the upper limit of a loop. Now the use of such code points raises -a deprecation warning, unless that warning category is turned off. -C<IV_MAX> is typically 2**31 -1 on 32-bit platforms, and 2**63-1 on -64-bit ones. - -=head2 Doing bitwise operations on strings containing code points above -0xFF is deprecated - -The string bitwise operators treat their operands as strings of bytes, -and values beyond 0xFF are nonsensical in this context. To operate on -encoded bytes, first encode the strings. To operate on code points' -numeric values, use C<split> and C<map ord>. In the future, this -warning will be replaced by an exception. - -=head1 Performance Enhancements - -=over 4 - -=item * - -Many languages, such as Chinese, are caseless. Perl now knows about -most modern commercially important ones, and skips much of the work when -a program tries to change case in them (like C<ucfirst()>) or match -caselessly (C<qr//i>). This will speed up a program, such as a web -server, that can operate on multiple languages, while operating on a -caseless one. - -=back - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -The modules L<sigtrap>, L<DB>, and the perl debugger could have, under -rare circumstances, output raw control characters. This has been fixed. - -=item * - -L<B::Deparse> has been upgraded from version 1.35 to 1.36. - -Uses of C<< < > >> are now always deparsed as either C<glob()> or -C<readline()>, and uses of C<glob()> or C<readline()> are never deparsed as -C<< < > >>. This fixes the deparsing of C<readline ${"a"}>. -L<[perl #116677]|https://rt.perl.org/Ticket/Display.html?id=116677> - -=item * - -L<base> has been upgraded from version 2.22_01 to 2.23. - -=item * - -L<Benchmark> has been upgraded from version 1.2 to 1.21. - -=item * - -L<CPAN::Meta::Requirements> has been upgraded from version 2.133 to 2.140. - -Adds a method for getting structured requirements and adds better error -messages. - -=item * - -L<CPAN::Meta::YAML> has been upgraded from version 0.017 to 0.018, -with no change since 0.017. - -=item * - -L<Data::Dumper> has been upgraded from version 2.158 to 2.159. - -This adds a "Trailingcomma" option, which when enabled adds a trailing comma -after the last element of dumped arrays and hashes that would otherwise be -followed immediately by a line break. -L<[perl #126813]|https://rt.perl.org/Ticket/Display.html?id=126813> - -The internals have also been substantially refactored and cleaned up. It -may be more efficient on some platforms. - -=item * - -L<DynaLoader> has been upgraded from version 1.36 to 1.37. - -Fixed an else nesting issue in dynamic loading support for OS/390 (and -similar systems) that was introduced in 1.36. - -=item * - -L<encoding::warnings> has been upgraded from version 0.11 to 0.12. - -=item * - -L<fields> has been upgraded from version 2.22_01 to 2.23. - -=item * - -L<File::Spec> and L<Cwd> have been upgraded from version 3.59 to 3.60, -adding L<File::Spec::AmigaOS>. - -=item * - -L<Hash::Util::FieldHash> has been upgraded from version 1.18 to 1.19. - -=item * - -L<locale> has been upgraded from version 1.07 to 1.08. - -=item * - -L<Locale::Codes> has been upgraded from version 3.36 to 3.37. - -=item * - -L<Math::BigInt::FastCalc> has been updated from version 0.37 to 0.38. - -=item * - -L<Module::CoreList> has been updated from version 5.20151120 to -5.20151220. - -=item * - -L<Module::Metadata> has been updated from version 1.000030 to -1.000031, with no functional changes. - -=item * - -L<Opcode> has been upgraded from version 1.33 to 1.34. - -=item * - -L<PerlIO::mmap> has been upgraded from version 0.015 to 0.016. - -=item * - -L<Pod::Perldoc> has been upgraded from version 3.25_01 to 3.25_02. - -=item * - -L<SDBM_File> has been upgraded from version 1.13 to 1.14. - -=item * - -L<strict> has been upgraded from version 1.09 to 1.10, with only a -documentation change. - -=item * - -L<Term::ANSIColor> has been upgraded from version 4.03 to 4.04, with no -functional changes. - -=item * - -L<Test> has been upgraded from version 1.27 to 1.28. - -=item * - -L<threads> has been upgraded from version 2.04 to 2.05. - -=item * - -L<threads::shared> has been upgraded from version 1.49 to 1.50. - -=item * - -L<Unicode::Normalize> has been updated from version 1.23 to 1.24, with -no functional changes. - -=item * - -L<utf8> has been upgraded from version 1.17 to 1.18. - -Partly reverted a micro-optimization to F<lib/utf_heavy.pl> that -caused self-recursion when it was loaded with C<${^ENCODING}> set. -L<[perl #126593]|https://rt.perl.org/Ticket/Display.html?id=126593> - -=back - -=head1 Documentation - -=head2 Changes to Existing Documentation - -=head3 L<perlfunc> - -=over 4 - -=item * - -The documentation of C<hex> has been revised to clarify valid inputs. - -=back - -=head3 L<perlop> - -=over 4 - -=item * - -The documentation of C<qx//> now describes how C<$?> is affected. - -=back - -=head3 L<perlvar> - -=over 4 - -=item * - -The documentation of C<$@> was reworded to clarify that it is not just for -syntax errors in C<eval>. -L<[perl #124034]|https://rt.perl.org/Ticket/Display.html?id=124034> - -=back - -=head3 L<perlxs> - -=over 4 - -=item * - -The documentation of C<PROTOTYPES> has been clarified; they are I<disabled> -by default, not I<enabled>. - -=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<Invalid number '%s' for -C option.|perldiag/"Invalid number '%s' for -C option."> - -(F) You supplied a number to the -C option that either has extra leading -zeroes or overflows perl's unsigned integer representation. - -=back - -=head1 Configuration and Compilation - -=over 4 - -=item * - -F<make_ext.pl> is no longer inappropriately silent. This was caused -by an operator precedence error introduced in 5.23.4. - -=back - -=head1 Platform Support - -=head2 New Platforms - -=over 4 - -=item OpenIndiana - -OpenIndiana (continuation of OpenSolaris) builds were not working due -to problems with the Perl shared library. This should be working now. -L<[perl #126958]|https://rt.perl.org/Ticket/Display.html?id=126958> - -=back - -=head2 Platform-Specific Notes - -=over 4 - -=item EBCDIC platforms, such as z/OS - -UTF-EBCDIC is like UTF-8, but for EBCDIC platforms. It now has been -extended so that it can represent code points up to 2 ** 64 - 1 on -platforms with 64-bit words. This brings it into parity with UTF-8. -This enhancement requires an incompatible change to the representation -of code points in the range 2 ** 30 to 2 ** 31 -1 (the latter was the -previous maximum representable code point). This means that a file that -contains one of these code points, written out with previous versions of -perl cannot be read in, without conversion, by a perl containing this -change. We do not believe any such files are in existence, but if you -do have one, submit a ticket at L<perlbug@perl.org|mailto:perlbug@perl.org>, -and we will write a conversion script for you. - -=item Cygwin - -Tests are more robust against unusual cygdrive prefixes. -L<[perl #126834]|https://rt.perl.org/Ticket/Display.html?id=126834> - -=item OS X/Darwin - -Builds with both -DDEBUGGING and threading enabled would fail with a -"panic: free from wrong pool" error when built or tested from Terminal -on OS X. This was caused by perl's internal management of the -environment conflicting with an atfork handler using the libc -setenv() function to update the environment. - -Perl now uses setenv()/unsetenv() to update the environment on OS X. -L<[perl #126240]|https://rt.perl.org/Ticket/Display.html?id=126240> - -=item ppc64el floating point - -The floating point format of ppc64el (Debian naming for little-endian -PowerPC) is now detected correctly. - -=item Solaris - -All Solaris now builds shared libperl. - -Solaris and variants like OpenIndiana now always build with the shared -Perl library (Configure -Duseshrplib). This was required for the -OpenIndiana builds, but this has also been the setting for Oracle/Sun -Perl builds for several years. - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -Perl core code and the threads extension have been annotated so that, -if Perl is configured to use threads, then during compile-time clang (3.6 -or later) will warn about suspicious uses of mutexes. -See L<http://clang.llvm.org/docs/ThreadSafetyAnalysis.html> for more -information. - -=item * - -The C<signbit()> emulation has been enhanced. This will help older -and/or more exotic platforms or configurations. - -=item * - -The C<to_utf8_case> function is discouraged in favor of C<toUPPER_utf8>, -C<toTITLE_utf8>, C<toLOWER_utf8>, and C<toFOLD_utf8>. - -=item * - -EBCDIC code paths have largely been unified to avoid repetition. - -=item * - -MSWin32 code for C<$^X> has been moved out of the F<win32> directory to -F<caretx.c>, where other operating systems set that variable. - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -C</...\G/> no longer crashes on utf8 strings. When C<\G> is a fixed number -of characters from the start of the regex, perl needs to count back that -many characters from the current C<pos()> position and start matching from -there. However, it was counting back bytes rather than characters, which -could lead to panics on utf8 strings. - -=item * - -In some cases operators that return integers would return negative -integers as large positive integers. -L<[perl #126635]|https://rt.perl.org/Ticket/Display.html?id=126635> - -=item * - -The C<pipe()> operator would assert for DEBUGGING builds instead of -producing the correct error message. The condition asserted on is -detected and reported on correctly without the assertions, so the -assertions were removed. -L<[perl #126480]|https://rt.perl.org/Ticket/Display.html?id=126480> - -=item * - -In some cases, failing to parse a here-doc would attempt to use freed -memory. This was caused by a pointer not being restored correctly. -L<[perl #126443]|https://rt.perl.org/Ticket/Display.html?id=126443> - -=item * - -C<< @x = sort { *a = 0; $a <=> $b } 0 .. 1 >> no longer frees the GP -for *a before restoring its SV slot. -L<[perl #124097]|https://rt.perl.org/Ticket/Display.html?id=124097> - -=item * - -Multiple problems with the new hexadecimal floating point printf -format C<%a> were fixed: -L<[perl #126582]|https://rt.perl.org/Ticket/Display.html?id=126582>, -L<[perl #126586]|https://rt.perl.org/Ticket/Display.html?id=126586>, -L<[perl #126822]|https://rt.perl.org/Ticket/Display.html?id=126822> - -=item * - -Calling mg_set() in leave_scope() no longer leaks. - -=item * - -A regression from Perl v5.20 was fixed in which debugging output of regular -expression compilation was wrong. (The pattern was correctly compiled, but -what got displayed for it was wrong.) - -=back - -=head1 Acknowledgements - -Perl 5.23.6 represents approximately 4 weeks of development since Perl 5.23.5 -and contains approximately 11,000 lines of changes across 260 files from 22 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 7,500 lines of changes to 170 .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.6: - -Aaron Crane, Abigail, Achim Gratz, Andy Broad, Aristotle Pagaltzis, Chris -'BinGOs' Williams, Craig A. Berry, Dagfinn Ilmari Mannsåker, Daniel Dragan, -David Golden, David Mitchell, Doug Bell, Ed Avis, Jarkko Hietaniemi, Karen -Etheridge, Karl Williamson, Lukas Mai, Ricardo Signes, Shlomi Fish, Steve Hay, -Sullivan Beck, 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 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 please send it -to perl5-security-report@perl.org. 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/perl5237delta.pod b/pod/perl5237delta.pod deleted file mode 100644 index 2f960f5aae..0000000000 --- a/pod/perl5237delta.pod +++ /dev/null @@ -1,438 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5237delta - what is new for perl v5.23.7 - -=head1 DESCRIPTION - -This document describes differences between the 5.23.6 release and the 5.23.7 -release. - -If you are upgrading from an earlier release such as 5.23.5, first read -L<perl5236delta>, which describes differences between 5.23.5 and 5.23.6. - -=head1 Core Enhancements - -=head2 New C<\b{lb}> boundary in regular expressions - -C<lb> stands for Line Break. It is a Unicode property -that determines where a line of text is suitable to break (typically so -that it can be output without overflowing the available horizontal -space). This capability has long been furnished by the -L<Unicode::LineBreak> module, but now a light-weight, non-customizable -version that is suitable for many purposes is in core Perl. - -=head1 Security - -=head2 fix out of boundary access in Win32 path handling - -This is CVE-2015-8608. For more information see -L<[perl #126755]|https://rt.perl.org/Ticket/Display.html?id=126755> - -=head2 fix loss of taint in canonpath - -This is CVE-2015-8607. For more information see -L<[perl #126862]|https://rt.perl.org/Ticket/Display.html?id=126862> - -=head2 Avoid accessing uninitialized memory in win32 C<crypt()> - -Added validation that will detect both a short salt and invalid characters -in the salt. L<[perl #126922]|https://rt.perl.org/Ticket/Display.html?id=126922> - -=head1 Incompatible Changes - -=head2 C<qr/\b{wb}/> is now tailored to Perl expectations - -This is now more suited to be a drop-in replacement for plain C<\b>, but -giving better results for parsing natural language. Previously it -strictly followed the current Unicode rules which calls for it to match -between each white space character. Now it doesn't generally match -within spans of white space, behaving like C<\b> does. See -L<perlrebackslash/\b{wb}> - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -The F<cpan/podlators/> bundle has been upgraded from version 2.28 to 4.04. - -=item * - -L<B> has been upgraded from version 1.61 to 1.62. - -=item * - -L<B::Deparse> has been upgraded from version 1.36 to 1.37. - -=item * - -L<Benchmark> has been upgraded from version 1.21 to 1.22. - -=item * - -L<bignum> has been upgraded from version 0.41 to 0.42. - -=item * - -L<Data::Dumper> has been upgraded from version 2.159 to 2.160. - -=item * - -L<ExtUtils::ParseXS> has been upgraded from version 3.30 to 3.31. - -=item * - -L<ExtUtils::Typemaps> has been upgraded from version 3.30 to 3.31. - -=item * - -L<File::Find> has been upgraded from version 1.32 to 1.33. - -=item * - -L<File::Spec> has been upgraded from version 3.60 to 3.62. - -=item * - -L<Math::BigInt> has been upgraded from version 1.999710 to 1.999715. - -=item * - -L<Math::BigInt::FastCalc> has been upgraded from version 0.38 to 0.40. - -=item * - -L<Math::BigRat> has been upgraded from version 0.260801 to 0.260802. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20151220 to 5.20160120. - -=item * - -L<Pod::Usage> has been upgraded from version 1.67 to 1.68. - -=item * - -L<Test::Harness> has been upgraded from version 3.35 to 3.36. - -=item * - -L<Unicode::Normalize> has been upgraded from version 1.24 to 1.25. - -=item * - -L<Unicode::UCD> has been upgraded from version 0.63 to 0.64. - -=item * - -L<utf8> has been upgraded from version 1.18 to 1.19. - -=back - -=head1 Documentation - -=head2 Changes to Existing Documentation - -=head3 L<perlsyn> - -=over 4 - -=item * - -Fixed a broken example where C<=> was used instead of -C<==> in conditional in do/while example. - -=back - -=head3 L<perlfunc> - -=over 4 - -=item * - -Better explain meaning of negative PIDs in C<waitpid>. -L<[perl #127080]|https://rt.perl.org/Ticket/Display.html?id=127080> - -=back - -=head3 L<perlgit> - -=over 4 - -=item * - -Move sample commands into verbatim paragraphs. - -=item * - -Improve hyperlinks for all email addresses, RT tickets -and commit hashes. - -=item * - -Consistently refer to bisect.pl as F<Porting/bisect.pl> - -=item * - -Miscellaneous grammar and POD fixes. - -=back - -=head3 L<perlreftut> - -=over 4 - -=item * - -Fix some examples to be L<strict> clean. - -=back - -=head3 L<perlrebackslash> - -=over 4 - -=item * - -Clarify that in languages like Japanese and Thai, dictionary lookup -is required to determine word boundaries. - -=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 * - -Accessing the C<IO> part of a glob as C<FILEHANDLE> instead of C<IO> is no -longer deprecated. It is discouraged to encourage uniformity (so that, for -example, one can grep more easily) but it will not be removed. -L<[perl #127060]|https://rt.perl.org/Ticket/Display.html?id=127060> - -=back - -=head1 Configuration and Compilation - -=over 4 - -=item * - -F<Configure> no longer probes for F<libnm> by default. Originally -this was the "New Math" library, but the name has been re-used by the -GNOME NetworkManager. -L<[perl #127131]|https://rt.perl.org/Ticket/Display.html?id=127131> - -=item * - -No longer generate EBCDIC POSIX-BC tables. We don't believe anyone is -using Perl and POSIX-BC at this time, and by not generating these tables -it saves time during development, and makes the resulting tar ball smaller. - -=item * - -The Win32 miniperl now has a real C<getcwd> which increases build performance -resulting in C<getcwd()> being 605x faster in Win32 miniperl. - -=back - -=head1 Platform Support - -=head2 Platform-Specific Notes - -=over 4 - -=item * - -On VMS, the math function prototypes in C<math.h> are now visible under C++. -Now building the POSIX extension with C++ will no longer crash. - -=item * - -VMS has had C<setenv/unsetenv> since v7.0 (released in 1996), C<Perl_vmssetenv> -now always uses C<setenv/unsetenv>. - -=item * - -Try more crypt algorithms in the tests, for OpenBSD. OpenBSD implements the -Blowfish algorithm, but not the MD5 one used by C<glibc>. Enhance the crypt and -taint tests to try both algorithms. If neither works, fall back to no algorithm. -The Blowfish salt is taken from the OpenBSD C<crypt(3)> page. - -=item * - -Use the C<fdclose()> function from FreeBSD if it is available. -L<[perl #126847]|https://rt.perl.org/Ticket/Display.html?id=126847> - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -The obscure C<PL_timesbuf> variable, effectively a vestige of Perl 1, has -been removed. It was documented as deprecated in Perl 5.20, with a statement -that it would be removed early in the 5.21.x series; that has now finally -happened. -L<[perl #121351]|https://rt.perl.org/Ticket/Display.html?id=121351> - -=item * - -Remove unwarranted assertion in C<Perl_newATTRSUB_x()>. If a stub subroutine -definition with a prototype has been seen, then any subsequent stub (or -definition) of the same subroutine with an attribute was causing an assertion -failure because of a null pointer. -L<[perl #126845]|https://rt.perl.org/Ticket/Display.html?id=126845> - -=item * - -Replace C<::> with C<__> in C<ExtUtils::ParseXS> like it's done for -parameters/return values. This is more consistent, and simplifies writing XS -code wrapping C++ classes into a nested Perl namespace (it requires only -a typedef for C<Foo__Bar> rather than two, one for C<Foo_Bar> and the other -for C<Foo::Bar>). - -=item * - -Deprecate the C<to_utf8_case()> function, see -L<http://nntp.perl.org/group/perl.perl5.porters/233287>. - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -A regression that allowed undeclared barewords in hash keys to work despite -strictures has been fixed. -L<[perl #126981]|https://rt.perl.org/Ticket/Display.html?id=126981> - -=item * - -Calls to the placeholder C<&PL_sv_yes> used internally when an C<import()> -or C<unimport()> method isn't found now correctly handle scalar context. -L<[perl #126042]|https://rt.perl.org/Ticket/Display.html?id=126042> - -=item * - -Fixed some problems introduced in 5.23.2 with list assignment dealing -with magic and XS functions returning their arguments. -L<[perl #126633]|https://rt.perl.org/Ticket/Display.html?id=126633> - -=item * - -Report more context when we see an array where we expect to see an -operator and avoid an assertion failure. -L<[perl #123737]|https://rt.perl.org/Ticket/Display.html?id=123737> - -=item * - -Modifying an array that was previously a package C<@ISA> no longer -causes assertion failures or crashes. -L<[perl #123788]|https://rt.perl.org/Ticket/Display.html?id=123788> - -=item * - -Retain binary compatibility across plain and DEBUGGING perl builds. -L<[perl #127212]|https://rt.perl.org/Ticket/Display.html?id=127212> - -=item * - -Avoid leaking memory when setting C<$ENV{foo}> on darwin. -L<[perl #126240]|https://rt.perl.org/Ticket/Display.html?id=126240> - -=back - -=head1 Known Problems - -=over 4 - -=item * - -Statically building perl is not currently working due to a problem -related to multiple definitions of the C<cp1252_encoding> in the -C<Encode> module. - -=back - -=head1 Acknowledgements - -Perl 5.23.7 represents approximately 4 weeks of development since Perl 5.23.6 -and contains approximately 87,000 lines of changes across 450 files from 21 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 67,000 lines of changes to 320 .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.7: - -Aaron Crane, Andreas König, Andy Dougherty, Chris 'BinGOs' Williams, Craig A. -Berry, Dagfinn Ilmari Mannsåker, Daniel Dragan, David Golden, David Mitchell, -James E Keenan, Jarkko Hietaniemi, Karen Etheridge, Karl Williamson, Lukas Mai, -Mattia Barbon, Ricardo Signes, Stevan Little, Steve Hay, Todd Rinaldo, Tom -Hukins, 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 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 please send it -to perl5-security-report@perl.org. 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/perl5238delta.pod b/pod/perl5238delta.pod deleted file mode 100644 index aade38a687..0000000000 --- a/pod/perl5238delta.pod +++ /dev/null @@ -1,525 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5238delta - what is new for perl v5.23.8 - -=head1 DESCRIPTION - -This document describes differences between the 5.23.7 release and the 5.23.8 -release. - -If you are upgrading from an earlier release such as 5.23.6, first read -L<perl5237delta>, which describes differences between 5.23.6 and 5.23.7. - -=head1 Core Enhancements - -=head2 More fields provided to C<sigaction> callback with C<SA_SIGINFO> - -When passing the C<SA_SIGINFO> flag to L<sigaction|POSIX/sigaction>, the -C<errno>, C<status>, C<uid>, C<pid>, C<addr> and C<band> fields are now -included in the hash passed to the handler, if supported by the -platform. - -=head1 Security - -=head2 Set proper umask before calling C<mkstemp(3)> - -In 5.22 perl started setting umask to 0600 before calling C<mkstemp(3)> -and restoring it afterwards. This wrongfully tells open(2) to strip -the owner read and write bits from the given mode before applying it, -rather than the intended negation of leaving only those bits in place. - -Systems that use mode 0666 in C<mkstemp(3)> (like old versions of -glibc) create a file with permissions 0066, leaving world read and -write permissions regardless of current umask. - -This has been fixed by using umask 0177 instead. [perl #127322] - -=head1 Incompatible Changes - -=head2 C<qr/\N{}/> now disallowed under C<use re "strict"> - -An empty C<\N{}> makes no sense, but for backwards compatibility is -silently accepted as doing nothing. But now this is a fatal error under -the experimental feature L<re/'strict' mode>. - -=head1 Performance Enhancements - -=over 4 - -=item * - -The overhead of scope entry and exit has been considerably reduced, so -for example subroutine calls, loops and basic blocks are all faster now. -This empty function call now takes about a third less time to execute: - - sub f{} f(); - -=item * - -On Win32, C<stat>ing or C<-X>ing a path, if the file or directory does not -exist, is now 3.5x faster on a SSD (or any drive) than before. - -=back - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -F<cpan/podlators/> has been upgraded from version 4.04 to 4.06. - -=item * - -The PathTools module collection has been upgraded from version 3.62 -to 3.63. - -=item * - -L<DynaLoader> has been upgraded from version 1.37 to 1.38. - -DynaLoader now always looks for bootstrap files having the same base name as -the module for which the bootstrap code is being run. Previously, and only on -platforms that use C<mod2fname> to produce unique loadable library names, -L<DynaLoader> would look for the bootstrap file using a base name that matched -the loadable library and not find it. - -=item * - -L<Encode> has been upgraded from version 2.78 to 2.80. - -=item * - -L<ExtUtils::CBuilder> has been upgraded from version 0.280224 to 0.280225. - -=item * - -L<ExtUtils::MakeMaker> has been upgraded from version 7.10 to 7.10_01. - -=item * - -L<File::Spec> has been upgraded from version 3.62 to 3.63. - -=item * - -L<IPC::SysV> has been upgraded from version 2.04 to 2.05. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20160120 to 5.20160121. - -=item * - -L<ODBM_File> has been upgraded from version 1.12 to 1.13. - -=item * - -L<PerlIO::encoding> has been upgraded from version 0.23 to 0.24. - -=item * - -L<POSIX> has been upgraded from version 1.59 to 1.63. - -It can now export constants for the C<code> value in the hash passed to the -L<sigaction|POSIX/sigaction> handler when using the C<SA_SIGINFO> flag. - -These previously deprecated functions are now removed: C<isalnum>, -C<isalpha>, C<iscntrl>, C<isdigit>, C<isgraph>, C<islower>, C<isprint>, -C<ispunct>, C<isspace>, C<isupper>, and C<isxdigit>. - -=item * - -L<Storable> has been upgraded from version 2.54 to 2.55. - -=item * - -L<Time::HiRes> has been upgraded from version 1.9728 to 1.9730. - -It can now export Linux-specific and FreeBSD-specific C<clock_gettime()> -constants. It also now has emulation for OS X C<clock_nanosleep()>, -C<clock_gettime()>, and C<clock_getres()>. - -=back - -=head1 Documentation - -=head2 Changes to Existing Documentation - -=head3 L<perlguts> - -=over 4 - -=item * - -A new section has been added, L<perlguts/"Dynamic Scope and the Context -Stack">, which explains how the perl context stack works. - -=back - -=head3 L<perlmodlib> - -=over 4 - -=item * - -We now recommend contacting the module-authors list or PAUSE in seeking -guidance on the naming of modules. - -=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<<< Sequence (?PE<lt>... not terminated in regex; marked by E<lt>-- HERE in mE<sol>%sE<sol> -|perldiag/"Sequence (?PE<lt>... not terminated in regex; marked by <-- HERE in mE<sol>%sE<sol>" >>> - -=item * - -L<Sequence (?PE<gt>... not terminated in regex; marked by E<lt>-- HERE in mE<sol>%sE<sol> -|perldiag/"Sequence (?PE<gt>... not terminated in regex; marked by <-- HERE in mE<sol>%sE<sol>"> - -=item * - -L<Empty \%c in regex; marked by E<lt>-- HERE in mE<sol>%sE<sol> -|perldiag/"Empty \%c in regex; marked by <-- HERE in mE<sol>%sE<sol>"> - -=back - -=head3 New Warnings - -=over 4 - -=item * - -L<Assuming NOT a POSIX class since %s in regex; marked by E<lt>-- HERE in mE<sol>%sE<sol>| -perldiag/Assuming NOT a POSIX class since %s in regex; marked by <-- HERE in mE<sol>%sE<sol>> - -=back - -=head1 Configuration and Compilation - -=over 4 - -=item * - -The GNU Make makefile for Win32 now supports parallel builds. [perl #126632] - -=item * - -You can now build perl with MSVC++ on Win32 using GNU Make. [perl #126632] - -=item * - -Bison 3.0 is now supported. - -=back - -=head1 Platform Support - -=head2 Platform-Specific Notes - -=over 4 - -=item VMS - -=over - -=item * - -For those C<%ENV> elements based on the CRTL environ array, we've always -preserved case when setting them but did look-ups only after upcasing the -key first, which made lower- or mixed-case entries go missing. This problem -has been corrected by making C<%ENV> elements derived from the environ array -case-sensitive on look-up as well as case-preserving on store. - -=item * - -Environment look-ups for C<PERL5LIB> and C<PERLLIB> previously only -considered logical names, but now consider all sources of C<%ENV> as -determined by C<PERL_ENV_TABLES> and as documented in L<perlvms/%ENV>. - -=back - -=item Win32 - -Builds using Microsoft Visual C++ 2003 and earlier no longer produce -an "INTERNAL COMPILER ERROR" message. [perl #126045] - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -The implementation of perl's context stack system, and its internal API, -have been heavily reworked. Note that no significant changes have been -made to any external APIs, but XS code which relies on such internal -details may need to be fixed. The main changes are: - -=over 4 - -=item * - -The C<PUSHBLOCK()>, C<POPSUB()> etc. macros have been replaced with static -inline functions such as C<cx_pushblock()>, C<cx_popsub()> etc. These use -function args rather than implicitly relying on local vars such as -C<gimme> and C<newsp> being available. Also their functionality has -changed: in particular, C<cx_popblock()> no longer decrements -C<cxstack_ix>. The ordering of the steps in the C<pp_leave*> functions -involving C<cx_popblock()>, C<cx_popsub()> etc. has changed. See the new -documentation, L<perlguts/"Dynamic Scope and the Context Stack">, for -details on how to use them. - -=item * - -Various macros, which now consistently have a CX_ prefix, have been added: - - CX_CUR(), CX_LEAVE_SCOPE(), CX_POP() - -or renamed: - - CX_POP_SAVEARRAY(), CX_DEBUG(), CX_PUSHSUBST(), CX_POPSUBST() - -=item * - -C<cx_pushblock()> now saves C<PL_savestack_ix> and C<PL_tmps_floor>, so -C<pp_enter*> and C<pp_leave*> no longer do - - ENTER; SAVETMPS; ....; LEAVE - -=item * - -C<cx_popblock()> now also restores C<PL_curpm>. - -=item * - -In C<dounwind()> for every context type, the current savestack frame is -now processed before each context is popped; formerly this was only done -for sub-like context frames. This action has been removed from -C<cx_popsub()> and placed into its own macro, C<CX_LEAVE_SCOPE(cx)>, which -must be called before C<cx_popsub()> etc. - -C<dounwind()> now also does a C<cx_popblock()> on the last popped frame -(formerly it only did the C<cx_popsub()> etc. actions on each frame). - -=item * - -The temps stack is now freed on scope exit; previously, temps created -during the last statement of a block wouldn't be freed until the next -C<nextstate> following the block (apart from an existing hack that did -this for recursive subs in scalar context); and in something like -C<f(g())>, the temps created by the last statement in C<g()> would -formerly not be freed until the statement following the return from -C<f()>. - -=item * - -Most values that were saved on the savestack on scope entry are now -saved in suitable new fields in the context struct, and saved and -restored directly by C<cx_pushfoo()> and C<cx_popfoo()>, which is much -faster. - -=item * - -Various context struct fields have been added, removed or modified. - -=item * - -The handling of C<@_> in C<cx_pushsub()> and C<cx_popsub()> has been -considerably tidied up, including removing the C<argarray> field from the -context struct, and extracting out some common (but rarely used) code into -a separate function, C<clear_defarray()>. Also, useful subsets of -C<cx_popsub()> which had been unrolled in places like C<pp_goto> have been -gathered into the new functions C<cx_popsub_args()> and -C<cx_popsub_common()>. - -=item * - -C<pp_leavesub> and C<pp_leavesublv> now use the same function as the rest -of the C<pp_leave*>'s to process return args. - -=item * - -C<CXp_FOR_PAD> and C<CXp_FOR_GV> flags have been added, and -C<CXt_LOOP_FOR> has been split into C<CXt_LOOP_LIST>, C<CXt_LOOP_ARY>. - -=item * - -Some variables formerly declared by C<dMULTICALL> (but not documented) have -been removed. - -=back - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -Line numbers larger than 2**31-1 but less than 2**32 are no longer -returned by caller() as negative numbers. [perl #126991] - -=item * - -C<< unless ( I<assignment> ) >> now properly warns when syntax -warnings are enabled. [perl #127122] - -=item * - -Setting an C<ISA> glob to an array reference now properly adds -C<isaelem> magic to any existing elements. Previously modifying such -an element would not update the ISA cache, so method calls would call -the wrong function. Perl would also crash if the C<ISA> glob was -destroyed, since new code added in 5.23.7 would try to release the -C<isaelem> magic from the elements. [perl #127351] - -=item * - -If a here-doc was found while parsing another operator, the parser had -already read end of file, and the here-doc was not terminated, perl -could produce an assertion or a segmentation fault. This now reliably -complains about the unterminated here-doc. [perl #125540] - -=item * - -untie() would sometimes return the last value returned by the UNTIE() -handler as well as it's normal value, messing up the stack. [perl -#126621] - -=item * - -Fixed an operator precedence problem when C< castflags & 2> is true. -[perl #127474] - -=item * - -Caching of DESTROY methods could result in a non-pointer or a -non-STASH stored in the SvSTASH() slot of a stash, breaking the B -STASH() method. The DESTROY method is now cached in the MRO metadata -for the stash. [perl #126410] - -=item * - -The AUTOLOAD method is now called when searching for a DESTROY method, -and correctly sets C<$AUTOLOAD> too. [perl #124387] [perl #127494] - -=item * - -Avoid parsing beyond the end of the buffer when processing a C<#line> -directive with no filename. [perl #127334] - -=item * - -Perl now raises a warning when a regular expression pattern looks like -it was supposed to contain a POSIX class, like C<qr/[[:alpha:]]/>, but -there was some slight defect in its specification which causes it to -instead be treated as a regular bracketed character class. An example -would be missing the second colon in the above like this: -C<qr/[[:alpha]]/>. This compiles to match a sequence of two characters. -The second is C<"]">, and the first is any of: C<"[">, C<":">, C<"a">, -C<"h">, C<"l">, or C<"p">. This is unlikely to be the intended -meaning, and now a warning is raised. No warning is raised unless the -specification is very close to one of the 14 legal POSIX classes. (See -L<perlrecharclass/POSIX Character Classes>.) -[perl #8904] - -=item * - -Certain regex patterns involving a complemented POSIX class in an -inverted bracketed character class, and matching something else -optionally would improperly fail to match. An example of one that could -fail is C</qr/_?[^\Wbar]\x{100}/>. This has been fixed. -[perl #127537] - -=item * - -Perl 5.22 added support to the C99 hexadecimal floating point notation, -but sometimes misparses hex floats. This had been fixed. -[perl #127183] - -=back - -=head1 Acknowledgements - -Perl 5.23.8 represents approximately 4 weeks of development since Perl 5.23.7 -and contains approximately 30,000 lines of changes across 350 files from 23 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 14,000 lines of changes to 210 .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.8: - -Aaron Crane, Chris 'BinGOs' Williams, Craig A. Berry, Dagfinn Ilmari -Mannsåker, Daniel Dragan, David Mitchell, Ed J, Herbert Breunung, H.Merijn -Brand, James E Keenan, Jarkko Hietaniemi, Karl Williamson, Lukas Mai, Niko -Tyni, Pip Cet, Ricardo Signes, Sawyer X, Sisyphus, Stevan Little, Steve Hay, -Todd Rinaldo, Tom Hukins, 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 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 please send it -to perl5-security-report@perl.org. 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/perl5239delta.pod b/pod/perl5239delta.pod deleted file mode 100644 index 969f7f4b99..0000000000 --- a/pod/perl5239delta.pod +++ /dev/null @@ -1,431 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5239delta - what is new for perl v5.23.9 - -=head1 DESCRIPTION - -This document describes differences between the 5.23.8 release and the 5.23.9 -release. - -If you are upgrading from an earlier release such as 5.23.7, first read -L<perl5238delta>, which describes differences between 5.23.7 and 5.23.8. - -=head1 Core Enhancements - -=head2 perl will now croak when closing an in-place output file fails - -Until now, failure to close the output file for an in-place edit was not -detected, meaning that the input file could be clobbered without the edit being -successfully completed. Now, when the output file cannot be closed -successfully, an exception is raised. - -=head1 Security - -=head2 Remove duplicate environment variables from C<environ> - -Previously, if an environment variable appeared more than once in -C<environ[]>, C<%ENV> would contain the last entry for that name, -while a typical C<getenv()> would return the first entry. We now -make sure C<%ENV> contains the same as what C<getenv> returns. - -Second, we remove duplicates from C<environ[]>, so if a setting -with that name is set in C<%ENV> we won't pass an unsafe value -to a child process. - -[CVE-2016-2381] - -=head1 Performance Enhancements - -=over 4 - -=item * - -Less peak memory is now used when compiling regular expression patterns. - -=back - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<autouse> has been upgraded from version 1.08 to 1.11. - -=item * - -L<bytes> has been upgraded from version 1.04 to 1.05. - -=item * - -L<Carp> has been upgraded from version 1.38 to 1.40. - -C<longmess> now returns the error in scalar context. [CPAN #107225] - -=item * - -L<Errno> has been upgraded from version 1.24 to 1.25. - -It now exports Winsock error constants. - -=item * - -L<ExtUtils::Embed> has been upgraded from version 1.32 to 1.33. - -=item * - -L<File::Find> has been upgraded from version 1.33 to 1.34. - -=item * - -L<File::Glob> has been upgraded from version 1.25 to 1.26. - -=item * - -L<IPC::SysV> has been upgraded from version 2.05 to 2.06_01. - -=item * - -L<List::Util> has been upgraded from version 1.42_01 to 1.42_02. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20160121 to -5.20160320. - -=item * - -L<Pod::Functions> has been upgraded from version 1.09 to 1.10. - -=item * - -L<POSIX> has been upgraded from version 1.63 to 1.64. - -It now exports Winsock error constants. - -=item * - -L<Scalar::Util> has been upgraded from version 1.42_01 to 1.42_02. - -=item * - -L<SelfLoader> has been upgraded from version 1.22 to 1.23. - -=item * - -L<Socket> has been upgraded from version 2.020_02 to 2.020_03. - -=item * - -L<Storable> has been upgraded from version 2.55 to 2.56. - -=item * - -L<strict> has been upgraded from version 1.10 to 1.11. - -Narrowed the filename check. - -=item * - -L<Thread::Queue> has been upgraded from version 3.07 to 3.08. - -=item * - -L<threads> has been upgraded from version 2.05 to 2.06. - -=item * - -L<Tie::File> has been upgraded from version 1.01 to 1.02. - -=item * - -L<Time::HiRes> has been upgraded from version 1.9730 to 1.9732. - -=item * - -L<version> has been upgraded from version 0.9909 to 0.9916. - -=item * - -L<warnings> has been upgraded from version 1.35 to 1.36. - -Narrowed the filename check. - -=item * - -L<Win32API::File> has been upgraded from version 0.1202 to 0.1203. - -=back - -=head1 Documentation - -=head2 Changes to Existing Documentation - -=head3 L<perlfunc> - -=over 4 - -=item * - -The L<perlfunc> manual page got a cleanup: there's more consistency now -(in POD usage, grammar, code examples), better practices in code examples -(use of C<my>, removal of bareword filehandles, dropped usage of C<&> -when calling subroutines, ...), etc. - -=back - -=head1 Configuration and Compilation - -=over 4 - -=item * - -Dtrace builds now build successfully on systems with a newer dtrace -that require an input object file that uses the probes in the F<.d> -file. - -Previously the probe would fail and cause a build failure. [perl -#122287] - -=item * - -F<installman> no longer warns if a module doesn't contain documentation, -as this isn't actually an error. Now missing documentation will only -be reported when using the B<--verbose> switch, and if it does, the -missing documentation will be reported on C<STDOUT> instead of C<STDERR>. - -=item * - -The B<u> option to the C<ar> command was removed. This was redundant -anyway, and on some systems, it caused a warning. - -=item * - -Added F<Configure> probes for C<newlocale>, C<freelocale>, and C<uselocale>. - -=item * - -Fix up dtrace compile/link for Solaris. [perl #127543] - -=back - -=head1 Platform Support - -=head2 Platform-Specific Notes - -=over 4 - -=item Win32 - -=over - -=item * - -Building a 64-bit perl with a 64-bit GCC but a 32-bit gmake would -result in an invalid C<$Config{archname}> for the resulting perl. -[perl #127584] - -=item * - -Errors set by Winsock functions are now put directly into C<$^E>, and the -relevant C<WSAE*> error codes are now exported from the L<Errno> and L<POSIX> -modules for testing this against. - -The previous behaviour of putting the errors (converted to POSIX-style C<E*> -error codes since Perl 5.20.0) into C<$!> was buggy due to the non-equivalence -of like-named Winsock and POSIX error constants, a relationship between which -has unfortunately been established in one way or another since Perl 5.8.0. - -The new behaviour provides a much more robust solution for checking Winsock -errors in portable software without accidentally matching POSIX tests that were -intended for other OSes and may have different meanings for Winsock. - -The old behaviour is currently retained, warts and all, for backwards -compatibility, but users are encouraged to change any code that tests C<$!> -against C<E*> constants for Winsock errors to instead test C<$^E> against -C<WSAE*> constants. After a suitable deprecation period, the old behaviour may -be removed, leaving C<$!> unchanged after Winsock function calls, to avoid any -possible confusion over which error variable to check. - -=back - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -It now works properly to specify a user-defined property, such as - - qr/\p{mypkg1::IsMyProperty}/i - -with C</i> caseless matching, an explicit package name, and -I<IsMyProperty> not defined at the time of the pattern compilation. - -=item * - -Perl's memcpy(), memmove(), memset() and memcmp() fallbacks are now -more compatible with the originals. [perl #127619] - -=item * - -The peak memory usage when compiling some regular expression patterns is -now significantly smaller. [perl #127392] - -=item * - -A case has been fixed in which malformed UTF-8 in the source of a Perl -script caused an assertion failure instead of an error message. [perl -#127262] - -=item * - -Fixed a buffer overrun issue in F<Socked.xs> which was reported by Coverity. -[CPAN #111707] - -=item * - -Fixed a possible division by 0 error in C<Scalar::List::Utils::product> -(reported by Coverity). [CPAN #105415] - -=item * - -Fixed the issue where a C<< s///r >>) with B<< -DPERL_NO_COW >> attempts -to modify the source SV, resulting in the program dying. [perl #127635] - -=item * - -Fixed a spurious warning about posix character classes. [perl #127581] - -=item * - -Fixed an obscure case where a pattern could fail to match. This only -occurred when matching characters from the set of C1 controls, when -the target matched string was in UTF-8, and only on EBCDIC platforms. - -=item * - -Fixed over eager warnings for C<< /[.foo.]/ >>. - -This prevents Perl from warning about constructs like C<< /[.].*[.]/ >>. -[perl #127582, #127604] - -=item * - -Narrow the filename check in F<strict.pm> and F<warnings.pm>. Previously, -it assumed that if the filename (without the F<.pmc?> extension) differed -from the package name, if was a misspelled use statement (i.e. C<use Strict> -instead of C<use strict>). We now check whether there's really a -miscapitalization happening, and not another issue. - -=item * - -Turn an assertion into a more user friendly failure when parsing -regexes. [perl #127599] - -=item * - -Correctly raise an error when trying to compile patterns with -unterminated character classes while there are trailing backslashes. -[perl #126141]. - -=item * - -Added a guard against malformed UTF-8. [perl #127262] - -=item * - -Only test C<semctl> if we have everything needed to use it. In a FreeBSD -the C<semctl> entry point may exist, but it can be disabled by policy. -[perl #127533] - -=item * - -Handle C<NOTHING> regops and C<EXACTFU_SS> regops in C<make_trie> properly. -[perl #126206] - -=item * - -Fix a Solaris optimiser bug which prevented certain regular expression -to be compiled. [perl #127455] - -=item * - -Improved the detection of infinite recursion in regular expressions. -Previously, perl would in certain cases slowly consume resources until -finally running out of memory. [perl #126182] - - -=back - -=head1 Acknowledgements - -Perl 5.23.9 represents approximately 4 weeks of development since Perl 5.23.8 -and contains approximately 21,000 lines of changes across 230 files from 23 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 8,500 lines of changes to 120 .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.9: - -Abigail, Alex Vandiver, Andy Broad, Aristotle Pagaltzis, Chris 'BinGOs' -Williams, Craig A. Berry, Dagfinn Ilmari Mannsåker, Daniel Dragan, David -Mitchell, Father Chrysostomos, H.Merijn Brand, Jarkko Hietaniemi, John Peacock, -Karl Williamson, Leon Timmermans, Lukas Mai, Matthew Horsfall, Ricardo Signes, -Sawyer X, Shlomi Fish, Steve Hay, Tony Cook, Yves Orton. - -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 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 please send it -to perl5-security-report@perl.org. 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/win32/pod.mak b/win32/pod.mak index deb273bf12..775af655e4 100644 --- a/win32/pod.mak +++ b/win32/pod.mak @@ -42,16 +42,6 @@ POD = perl.pod \ perl5203delta.pod \ perl5220delta.pod \ perl5221delta.pod \ - perl5230delta.pod \ - perl5231delta.pod \ - perl5232delta.pod \ - perl5233delta.pod \ - perl5234delta.pod \ - perl5235delta.pod \ - perl5236delta.pod \ - perl5237delta.pod \ - perl5238delta.pod \ - perl5239delta.pod \ perl5240delta.pod \ perl561delta.pod \ perl56delta.pod \ @@ -189,16 +179,6 @@ MAN = perl.man \ perl5203delta.man \ perl5220delta.man \ perl5221delta.man \ - perl5230delta.man \ - perl5231delta.man \ - perl5232delta.man \ - perl5233delta.man \ - perl5234delta.man \ - perl5235delta.man \ - perl5236delta.man \ - perl5237delta.man \ - perl5238delta.man \ - perl5239delta.man \ perl5240delta.man \ perl561delta.man \ perl56delta.man \ @@ -336,16 +316,6 @@ HTML = perl.html \ perl5203delta.html \ perl5220delta.html \ perl5221delta.html \ - perl5230delta.html \ - perl5231delta.html \ - perl5232delta.html \ - perl5233delta.html \ - perl5234delta.html \ - perl5235delta.html \ - perl5236delta.html \ - perl5237delta.html \ - perl5238delta.html \ - perl5239delta.html \ perl5240delta.html \ perl561delta.html \ perl56delta.html \ @@ -483,16 +453,6 @@ TEX = perl.tex \ perl5203delta.tex \ perl5220delta.tex \ perl5221delta.tex \ - perl5230delta.tex \ - perl5231delta.tex \ - perl5232delta.tex \ - perl5233delta.tex \ - perl5234delta.tex \ - perl5235delta.tex \ - perl5236delta.tex \ - perl5237delta.tex \ - perl5238delta.tex \ - perl5239delta.tex \ perl5240delta.tex \ perl561delta.tex \ perl56delta.tex \ |