In perl.git, the branch blead has been updated <https://perl5.git.perl.org/perl.git/commitdiff/8f15991dea7096140b5c58a083654e964737a7eb?hp=0330c9a2cb2987ce3d725ba1f55c8f7af6cca789>
- Log ----------------------------------------------------------------- commit 8f15991dea7096140b5c58a083654e964737a7eb Author: Sawyer X <xsawy...@cpan.org> Date: Mon May 21 16:54:21 2018 +0300 Remove 5.27.x perldelta files ----------------------------------------------------------------------- Summary of changes: pod/perl5270delta.pod | 97 ------- pod/perl52710delta.pod | 330 ---------------------- pod/perl52711delta.pod | 256 ----------------- pod/perl5271delta.pod | 434 ---------------------------- pod/perl5272delta.pod | 215 -------------- pod/perl5273delta.pod | 241 ---------------- pod/perl5274delta.pod | 352 ----------------------- pod/perl5275delta.pod | 265 ----------------- pod/perl5276delta.pod | 751 ------------------------------------------------- pod/perl5277delta.pod | 673 -------------------------------------------- pod/perl5278delta.pod | 524 ---------------------------------- pod/perl5279delta.pod | 376 ------------------------- 12 files changed, 4514 deletions(-) delete mode 100644 pod/perl5270delta.pod delete mode 100644 pod/perl52710delta.pod delete mode 100644 pod/perl52711delta.pod delete mode 100644 pod/perl5271delta.pod delete mode 100644 pod/perl5272delta.pod delete mode 100644 pod/perl5273delta.pod delete mode 100644 pod/perl5274delta.pod delete mode 100644 pod/perl5275delta.pod delete mode 100644 pod/perl5276delta.pod delete mode 100644 pod/perl5277delta.pod delete mode 100644 pod/perl5278delta.pod delete mode 100644 pod/perl5279delta.pod diff --git a/pod/perl5270delta.pod b/pod/perl5270delta.pod deleted file mode 100644 index 11e73b822f..0000000000 --- a/pod/perl5270delta.pod +++ /dev/null @@ -1,97 +0,0 @@ -=encoding utf8 - -=head1 NAME - -[ this is a template for a new perldelta file. Any text flagged as XXX needs -to be processed before release. ] - -perl5270delta - what is new for perl v5.27.0 - -=head1 DESCRIPTION - -This document describes differences between the 5.26.0 release and the 5.27.0 -release. - -If you are upgrading from an earlier release such as 5.25.0, first read -L<perl5260delta>, which describes differences between 5.25.0 and 5.26.0. - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<feature> has been upgraded from version 1.47 to 1.48. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20170530 to 5.20170531. - -=back - -=head1 Acknowledgements - -Perl 5.26.1 represents approximately 0 weeks of development since Perl 5.26.0 -and contains approximately 7,200 lines of changes across 43 files from 2 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 72 lines of changes to 8 .pm, .t, .c and .h files. - -Perl continues to flourish into its third decade thanks to a vibrant community -of users and developers. The following people are known to have contributed the -improvements that became Perl 5.26.1: - -Ricardo Signes, Sawyer X. - -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 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 perl...@perl.org to be analysed by the Perl porting team. - -If the bug you are reporting has security implications which make it -inappropriate to send to a publicly archived mailing list, then see -L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> -for details of how to report the issue. - -=head1 Give Thanks - -If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, -you can do so by running the C<perlthanks> program: - - perlthanks - -This will send an email to the Perl 5 Porters list with your show of thanks. - -=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/perl52710delta.pod b/pod/perl52710delta.pod deleted file mode 100644 index ef7cfc4aa2..0000000000 --- a/pod/perl52710delta.pod +++ /dev/null @@ -1,330 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl52710delta - what is new for perl v5.27.10 - -=head1 DESCRIPTION - -This document describes differences between the 5.27.9 release and the 5.27.10 -release. - -If you are upgrading from an earlier release such as 5.27.8, first read -L<perl5279delta>, which describes differences between 5.27.8 and 5.27.9. - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<attributes> has been upgraded from version 0.32 to 0.33 - -=item * - -L<B::Deparse> has been upgraded from version 1.47 to 1.48. - -=item * - -L<Carp> has been upgraded from version 1.46 to 1.49. - -L<Carp>, when generating stack traces, now attempts to work around -longstanding bugs resulting from Perl's non-reference-counted stack. -[perl #52610] - -Carp has been modified to avoid assuming that objects cannot be -overloaded without the L<overload> module loaded (this can happen with -objects created by XS modules). Previously, infinite recursion would -result if an XS-defined overload method itself called Carp. [perl #132828] - -Carp now avoids using C<overload::StrVal>, partly because older versions -of L<overload> (included with perl 5.14 and earlier) load L<Scalar::Util> -at run time, which will fail if Carp has been invoked after a syntax error. - -L<I18N::Langinfo> has been upgraded from version 0.15 to 0.16. - -This module is now available on all platforms, emulating the system -L<nl_langinfo(3)> on systems that lack it. Some caveats apply, as -L<detailed in its documentation|I18N::Langinfo>, the most severe being -that, except for MS Windows, the C<CODESET> item is not implemented on -those systems, always returning C<"">. - -It now sets the UTF-8 flag in its returned scalar if the string contains -legal non-ASCII UTF-8, and the locale is UTF-8 ([perl #127288]. - -=item * - -L<Encode> has been upgraded from version 2.96 to 2.97. - -=item * - -L<ExtUtils::MakeMaker> has been upgraded from version 7.32 to 7.34. - -=item * - -L<ExtUtils::ParseXS> has been upgraded from version 3.38 to 3.39 - -=item * - -L<File::Glob> has been upgraded from version 1.30 to 1.31. - -=item * - -L<I18N::Langinfo> has been upgraded from version 0.15 to 0.16. - -=item * - -L<Locale::Codes> has been upgraded from version 3.55 to 3.56. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20180220 to 5.20180221. - -=item * - -L<POSIX> has been upgraded from version 1.82 to 1.83. - -=item * - -L<Scalar::Util> has been upgraded from version 1.49 to 1.50. - -=item * - -L<Test::Harness> has been upgraded from version 3.39 to 3.42. - -=item * - -L<Test::Simple> has been upgraded from version 1.302122 to 1.302133. - -=item * - -L<Time::HiRes> has been upgraded from version 1.9753 to 1.9757. - -=item * - -L<Time::Piece> has been upgraded from version 1.3203 to 1.3204. - -=item * - -L<warnings> has been upgraded from version 1.41 to 1.42. - -=back - -=head1 Documentation - -=head2 Changes to Existing Documentation - -We have attempted to update the documentation to reflect the changes -listed in this document. If you find any we have missed, send email -to L<perl...@perl.org|mailto:perl...@perl.org>. - -Additionally, the following selected changes have been made: - -=head3 L<perlfunc> - -=over 4 - -=item * - -Clarification to require was added to show that - - require "Foo/Bar.pm"; - -is equivalent to: - - eval "require Foo::Bar"; - -=back - -=head3 L<perlguts> - -=over 4 - -=item * - -Improve documentation related to UTF-8 multibytes. - -=back - -=head3 L<perlrequick> - -=over 4 - -=item * - -Clarifications on metacharacters and character classes - -=back - -=head3 L<perlretut> - -=over 4 - -=item * - -Clarify metacharacters. - -=back - -=head1 Diagnostics - -=head2 Changes to Existing Diagnostics - -=over 4 - -=item * - -The new (as of 5.27.8) restriction forbidding use of C<goto> to enter the -argument of a binary or list expression (see L<perldiag/"Can't -E<quot>gotoE<quot> into a binary or list expression">) has been relaxed to -allow entering the I<first> argument of an operator that takes a fixed -number of arguments, since this is a case that will not cause stack -corruption. [perl #132854] - -=item * - -The warning added in 5.27.8 concerning UTF-8 locale compatibility was -misleading. The new wording and explanation are at -L<perldiag/Locale '%s' contains (at least) the following characters which -have unexpected meanings: %s The Perl program will use the expected -meanings> - -=back - -=head1 Configuration and Compilation - -=over 4 - -=item * - -F<lib/unicore/mktables> now correctly canonicalizes the names of the -dependencies stored in the files it generates. - -F<regen/mk_invlists.pl>, unlike the other F<regen/*.pl> scripts, used -C<$0> to name itself in the dependencies stored in the files it -generates. It now uses a literal so that the path stored in the -generated files doesn't depend on how F<regen/mk_invlists.pl> is -invoked. - -This lack of canonical names could cause test failures in -F<t/porting/regen.t>. [perl #132925] - -=back - -=head1 Testing - -Tests were added and changed to reflect the other additions and -changes in this release. - -=head1 Internal Changes - -=over 4 - -=item * - -The item names passed to the function L<perlapi/Perl_langinfo>, -introduced in 5.27.4, may no longer be prefixed with C<PERL_>. For -example, if you want the current floating point radix character, you -must call it like C<Perl_langinfo(RADIXCHAR)>. - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -Blead Breaks CPAN: FELIPE/Crypt-Perl [perl #132900] - -=item * - -Prevent duplicate Config.pm vars [perl #132834] - -=item * - -Regex assertion failure [perl #132163] - -=item * - -fix line numbers in multi-line s/// - -=item * - -add an empty file (to be removed next commit) - -=item * - -warnings.pm: sprintf is faster than concat - -=back - -=head1 Acknowledgements - -Perl 5.27.10 represents approximately 4 weeks of development since Perl -5.27.9 and contains approximately 80,000 lines of changes across 380 files -from 18 authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 75,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.27.10: - -Aaron Crane, Chris 'BinGOs' Williams, Craig A. Berry, Daniel Dragan, David -Mitchell, Father Chrysostomos, H.Merijn Brand, James E Keenan, Karl -Williamson, Pali, Renee Baecker, Sawyer X, Shoichi Kaji, Steve Hay, Todd -Rinaldo, Tony Cook, Yves Orton, Zefram. - -The list above is almost certainly incomplete as it is automatically -generated from version control history. In particular, it does not include -the names of the (very much appreciated) contributors who reported issues to -the Perl bug tracker. - -Many of the changes included in this version originated in the CPAN modules -included in Perl's core. We're grateful to the entire CPAN community for -helping Perl to flourish. - -For a more complete list of all of Perl's historical contributors, please -see the F<AUTHORS> file in the Perl source distribution. - -=head1 Reporting Bugs - -If you find what you think is a bug, you might check 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 perl...@perl.org to be analysed by the Perl porting team. - -If the bug you are reporting has security implications which make it -inappropriate to send to a publicly archived mailing list, then see -L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> -for details of how to report the issue. - -=head1 Give Thanks - -If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, -you can do so by running the C<perlthanks> program: - - perlthanks - -This will send an email to the Perl 5 Porters list with your show of thanks. - -=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/perl52711delta.pod b/pod/perl52711delta.pod deleted file mode 100644 index 4a8bceffe1..0000000000 --- a/pod/perl52711delta.pod +++ /dev/null @@ -1,256 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl52711delta - what is new for perl v5.27.11 - -=head1 DESCRIPTION - -This document describes differences between the 5.27.10 release and the 5.27.11 -release. - -If you are upgrading from an earlier release such as 5.27.9, first read -L<perl52710delta>, which describes differences between 5.27.9 and 5.27.10. - -=head1 Security - -=head2 [CVE-2017-12837] Heap buffer overflow in regular expression compiler - -Compiling certain regular expression patterns with the case-insensitive -modifier could cause a heap buffer overflow and crash perl. This has now been -fixed. -L<[perl #131582]|https://rt.perl.org/Public/Bug/Display.html?id=131582> - -=head2 [CVE-2017-12883] Buffer over-read in regular expression parser - -For certain types of syntax error in a regular expression pattern, the error -message could either contain the contents of a random, possibly large, chunk of -memory, or could crash perl. This has now been fixed. -L<[perl #131598]|https://rt.perl.org/Public/Bug/Display.html?id=131598> - -=head2 [CVE-2017-12814] C<$ENV{$key}> stack buffer overflow on Windows - -A possible stack buffer overflow in the C<%ENV> code on Windows has been fixed -by removing the buffer completely since it was superfluous anyway. -L<[perl #131665]|https://rt.perl.org/Public/Bug/Display.html?id=131665> - -=head1 Performance Enhancements - -=over 4 - -=item * - -The start up overhead for creating regular expression patterns with -Unicode properties (C<\p{...}>) has been greatly reduced in most cases. - -=back - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<bytes> has been upgraded from version 1.05 to 1.06. - -=item * - -L<Carp> has been upgraded from version 1.49 to 1.50. - -=item * - -L<Devel::PPPort> has been upgraded from version 3.39 to 3.40. - -=item * - -L<Exporter> has been upgraded from version 5.72 to 5.73. - -=item * - -L<ExtUtils::Constant> has been upgraded from version 0.24 to 0.25. - -=item * - -L<I18N::Langinfo> has been upgraded from version 0.16 to 0.17. - -=item * - -L<IO> has been upgraded from version 1.38 to 1.39. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20180221 to 5.20180420. - -=item * - -L<POSIX> has been upgraded from version 1.83 to 1.84. - -=item * - -L<subs> has been upgraded from version 1.02 to 1.03. - -=item * - -L<Time::HiRes> has been upgraded from version 1.9757 to 1.9759. - -=item * - -L<vars> has been upgraded from version 1.03 to 1.04. - -=item * - -L<version> has been upgraded from version 0.9918 to 0.9923. - -=back - -=head1 Documentation - -XXX Changes to files in F<pod/> go here. Consider grouping entries by -file and be sure to link to the appropriate page, e.g. L<perlfunc>. - -=head2 New Documentation - -XXX Changes which create B<new> files in F<pod/> go here. - -=head3 L<XXX> - -XXX Description of the purpose of the new file here - -=head2 Changes to Existing Documentation - -We have attempted to update the documentation to reflect the changes -listed in this document. If you find any we have missed, send email -to L<perl...@perl.org|mailto:perl...@perl.org>. - -XXX Changes which significantly change existing files in F<pod/> go here. -However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics> -section. - -Additionally, the following selected changes have been made: - -=head3 L<XXX> - -=over 4 - -=item * - -XXX Description of the change here - -=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>. - -XXX New or changed warnings emitted by the core's C<C> code go here. Also -include any changes in L<perldiag> that reconcile it to the C<C> code. - -=head2 New Diagnostics - -XXX Newly added diagnostic messages go under here, separated into New Errors -and New Warnings - -=head3 New Errors - -=over 4 - -=item * - -XXX L<message|perldiag/"message"> - -=back - -=head3 New Warnings - -=over 4 - -=item * - -XXX L<message|perldiag/"message"> - -=back - -=head2 Changes to Existing Diagnostics - -XXX Changes (i.e. rewording) of diagnostic messages go here - -=over 4 - -=item * - -XXX Describe change here - -=back - -=head1 Acknowledgements - -Perl 5.27.11 represents approximately 4 weeks of development since Perl -5.27.10 and contains approximately 440,000 lines of changes across 200 files -from 21 authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 440,000 lines of changes to 88 .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.27.11: - -Aaron Crane, Alexandr Savca, Chris 'BinGOs' Williams, Dagfinn Ilmari -Mannsåker, Daniel Dragan, David Mitchell, H.Merijn Brand, James E Keenan, -John Peacock, Karl Williamson, Marc-Philip Werner, Nicholas Clark, Pali, -Ricardo Signes, Sawyer X, Sergey Aleynikov, Steve Hay, Todd Rinaldo, Tony -Cook, Yves Orton, Zefram. - -The list above is almost certainly incomplete as it is automatically -generated from version control history. In particular, it does not include -the names of the (very much appreciated) contributors who reported issues to -the Perl bug tracker. - -Many of the changes included in this version originated in the CPAN modules -included in Perl's core. We're grateful to the entire CPAN community for -helping Perl to flourish. - -For a more complete list of all of Perl's historical contributors, please -see the F<AUTHORS> file in the Perl source distribution. - -=head1 Reporting Bugs - -If you find what you think is a bug, you might check 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 perl...@perl.org to be analysed by the Perl porting team. - -If the bug you are reporting has security implications which make it -inappropriate to send to a publicly archived mailing list, then see -L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> -for details of how to report the issue. - -=head1 Give Thanks - -If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, -you can do so by running the C<perlthanks> program: - - perlthanks - -This will send an email to the Perl 5 Porters list with your show of thanks. - -=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/perl5271delta.pod b/pod/perl5271delta.pod deleted file mode 100644 index 5d9750dfa3..0000000000 --- a/pod/perl5271delta.pod +++ /dev/null @@ -1,434 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5271delta - what is new for perl v5.27.1 - -=head1 DESCRIPTION - -This document describes differences between the 5.27.0 release and the 5.27.1 -release. - -If you are upgrading from an earlier release such as 5.26.0, first read -L<perl5270delta>, which describes differences between 5.26.0 and 5.27.0. - -=head1 Core Enhancements - -=head2 L<C<delete>|perlfunc/delete EXPR> on key/value slices - -L<C<delete>|perlfunc/delete EXPR> can now be used on key/value slices, -returning the keys along with the deleted values. -L<[perl #131328]|https://rt.perl.org/Ticket/Display.html?id=131328> - -=head1 Security - -=head2 Default Hash Function Change - -Perl 5.27.1 retires various older hash functions which are not viewed as -sufficiently secure for use in Perl. We now support four general purpose -hash functions, Siphash (2-4 and 1-3 variants), and Zaphod32, and StadtX -hash. In addition we support SBOX32 (a form of tabular hashing) for hashing -short strings, in conjunction with any of the other hash functions provided. - -By default Perl is configured to support SBOX hashing of strings up to 24 -characters, in conjunction with StadtX hashing on 64 bit builds, and -Zaphod32 hashing for 32 bit builds. - -You may control these settings with the following options to Configure: - - -DPERL_HASH_FUNC_SIPHASH - -DPERL_HASH_FUNC_SIPHASH13 - -DPERL_HASH_FUNC_STADTX - -DPERL_HASH_FUNC_ZAPHOD32 - -To disable SBOX hashing you can use - - -DPERL_HASH_USE_SBOX32_ALSO=0 - -And to set the maximum length to use SBOX32 hashing on with: - - -DSBOX32_MAX_LEN=16 - -The maximum length allowed is 256. There probably isn't much point -in setting it higher than the default. - -=head1 Incompatible Changes - -=head2 Comma-less variable lists in formats are no longer allowed - -Omitting the commas between variables passed to formats is no longer -allowed. This has been deprecated since Perl 5.000. - -=head2 The C<:locked> and C<:unique> attributes have been removed - -These have been no-ops and deprecated since Perl 5.12 and 5.10, -respectively. - -=head2 C<\N{}> with nothing between the braces is now illegal. - -This has been deprecated since Perl 5.24. - -=head2 Opening the same symbol as both a file and directory handle is no longer allowed - -Using C<open()> and C<opendir()> to associate both a filehandle and a dirhandle -to the same symbol (glob or scalar) has been deprecated since Perl 5.10. - -=head2 Use of bare C<< << >> to mean C<< <<"" >> is no longer allowed - -Use of a bare terminator has been deprecated since Perl 5.000. - -=head2 Setting $/ to a reference to a non-positive integer no longer allowed - -This used to work like setting it to C<undef>, but has been deprecated -since Perl 5.20. - -=head2 Unicode code points with values exceeding C<IV_MAX> are now fatal. - -This was deprecated since Perl 5.24. - -=head2 C<B::OP::terse> no longer exists. - -Use C<B::Concise::b_terse> instead. - -=head2 Use of inherited AUTOLOAD for non-methods is no longer allowed. - -This was deprecated in Perl 5.004. - -=head2 Use of strings with code points over 0xFF is not allowed for -bitwise string operators - -Code points over C<0xFF> do not make sense for bitwise operators. - -=head2 Setting C<${^ENCODING}> to a defined value is now illegal - -This has been deprecated since Perl 5.22 and a no-op since Perl 5.26. - -=head2 Backslash no longer escapes colon in PATH for the -S switch - -Previously the C<-S> switch incorrectly treated backslash ("\") as an -escape for colon when traversing the C<PATH> environment variable. -[perl #129183] - -=head2 the -DH (DEBUG_H) misfeature has been removed - -On a perl built with debugging support, the C<H> flag to the C<-D> -debugging option has been removed. This was supposed to dump hash values, -but has been broken for many years. - -=head1 Deprecations - -=head2 Use of L<C<vec>|perlfunc/vec EXPR,OFFSET,BITS> on strings with code -points above 0xFF is deprecated. - -Use of these is nonsensical, as C<vec> is a bit-oriented operation, -which operates on the underlying UTF-8 representation these strings must -be in, and will likely give unexpected results. - -=head2 Some uses of unescaped C<"{"> are no longer fatal - -Perl 5.26.0 fatalized some uses of an unescaped left brace, but an -exception was made at the last minute, specifically crafted to be a -minimal change to allow GNU Autoconf to work. This code is heavily -depended upon, and continues to use the deprecated usage. Its use of an -unescaped left brace is one where we have no intention of repurposing -C<"{"> to be something other than itself. - -That exception is now generalized to include various other such cases -where the C<"{"> will not be repurposed. This is to get real experience -with this more complicated change now, in case we need to issue a dot -release if we find other things like Autoconf that are important to work -around. - -Note that these uses continue to raise a deprecation message. - -=head1 Performance Enhancements - -=over 4 - -=item * - -L<File::Glob> has been modified to remove unnecessary backtracking and -recursion, thanks to Russ Cox. See L<https://research.swtch.com/glob> -for more details. - -=item * - -The C<ref()> builtin is now much faster in boolean context, since it no -longer bothers to construct a temporary string like C<Foo=ARRAY(0x134af48)>. - -=back - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<Archive::Tar> has been upgraded from version 2.24 to 2.26. - -=item * - -L<B::Deparse> has been upgraded from version 1.40 to 1.41. It includes -many bug fixes, and in particular, it now deparses variable attributes -correctly: - - my $x :foo; # used to deparse as - # 'attributes'->import('main', \$x, 'foo'), my $x; - -=item * - -L<charnames> has been upgraded from version 1.44 to 1.45. - -=item * - -L<Devel::PPPort> has been upgraded from version 3.35 to 3.36. - -=item * - -L<DirHandle> has been upgraded from version 1.04 to 1.05. - -=item * - -L<ExtUtils::Install> has been upgraded from version 2.04 to 2.14. - -=item * - -L<ExtUtils::MakeMaker> has been upgraded from version 7.24 to 7.30. - -=item * - -L<File::Path> has been upgraded from version 2.12_01 to 2.14. - -=item * - -L<Filter::Util::Call> has been upgraded from version 1.55 to 1.57. - -=item * - -L<GDBM_File> has been upgraded from version 1.15 to 1.16. - -=item * - -L<Getopt::Long> has been upgraded from version 2.49 to 2.5. - -=item * - -L<if> has been upgraded from version 0.0606 to 0.0607. - -=item * - -L<IO::Socket::IP> has been upgraded from version 0.38 to 0.39. - -=item * - -L<IPC::Cmd> has been upgraded from version 0.96 to 0.98. - -=item * - -L<JSON::PP> has been upgraded from version 2.27400_02 to 2.94. - -=item * - -L<Locale::Codes> has been upgraded from version 3.42 to 3.52. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20170620 to 5.20170621. - -=item * - -L<mro> has been upgraded from version 1.20 to 1.21. - -=item * - -L<PerlIO::scalar> has been upgraded from version 0.26 to 0.27. - -=item * - -L<PerlIO::via> has been upgraded from version 0.16 to 0.17. - -=item * - -L<Storable> has been upgraded from version 2.62 to 2.63. - -=item * - -L<Test::Harness> has been upgraded from version 3.38 to 3.39. - -=item * - -L<threads> has been upgraded from version 2.15 to 2.16. - -=item * - -L<threads::shared> has been upgraded from version 1.56 to 1.57. - -=item * - -L<version> has been upgraded from version 0.9917 to 0.9918. - -=back - -=head1 Testing - -Tests were added and changed to reflect the other additions and -changes in this release. Furthermore, these significant changes were -made: - -=over 4 - -=item * - -Testing of the XS-APItest directory is now done in parallel, where -applicable. - -=item * - -Perl now includes a default F<.travis.yml> file for Travis CI testing -on github mirrors. [perl #123981] - -=back - -=head1 Platform Support - -=head2 Platform-Specific Notes - -=over 4 - -=item Windows - -=over 4 - -=item * - -Support for compiling perl on Windows using Microsoft Visual Studio 2017 -(containing Visual C++ 14.1) has been added. - -=back - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -The C<PL_statbuf> interpreter variable has been removed. - -=item * - -The deprecated function C<to_utf8_case()>, accessible from XS code, has -been removed. - -=item * - -A new function -L<C<is_utf8_invariant_string_loc()>|perlapi/is_utf8_invariant_string_loc> -has been added that is like -L<C<is_utf8_invariant_string()>|perlapi/is_utf8_invariant_string> -but takes an extra pointer parameter into which is stored the location -of the first variant character, if any are found. - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -Fetching the name of a glob that was previously UTF-8 but wasn't any -longer would return that name flagged as UTF-8. [perl #131263] - -=item * - -The perl C<sprintf()> function (via the underlying C function -C<Perl_sv_vcatpvfn_flags()>) has been heavily reworked to fix many minor -bugs, including the integer wrapping of large width and precision -specifiers and potential buffer overruns. It has also been made faster in -many cases. - -=item * - -Exiting from an C<eval>, whether normally or via an exception, now always -frees temporary values (possibly calling destructors) I<before> setting -C<$@>. For example: - - sub DESTROY { eval { die "died in DESTROY"; } } - eval { bless []; }; - # $@ used to be equal to "died in DESTROY" here; it's now "". - -=back - -=head1 Acknowledgements - -Perl 5.27.1 represents approximately 3 weeks of development since Perl 5.27.0 -and contains approximately 62,000 lines of changes across 510 files from 30 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 55,000 lines of changes to 380 .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.27.1: - -Aaron Crane, Abigail, Andy Dougherty, Andy Lester, Aristotle Pagaltzis, Chris -'BinGOs' Williams, Craig A. Berry, Dagfinn Ilmari Mannsåker, Dan Collins, -David Mitchell, Eric Herman, Eugen Konkov, Father Chrysostomos, Graham Knop, -H.Merijn Brand, Jacques Germishuys, James E Keenan, Jerry D. Hedden, John -Peacock, Karl Williamson, Ken Cotterill, Lukas Mai, Matthew Horsfall, Sawyer X, -Steve Hay, Sullivan Beck, Thomas Sibley, Tony Cook, Yves Orton, Zefram. - -The list above is almost certainly incomplete as it is automatically generated -from version control history. In particular, it does not include the names of -the (very much appreciated) contributors who reported issues to the Perl bug -tracker. - -Many of the changes included in this version originated in the CPAN modules -included in Perl's core. We're grateful to the entire CPAN community for -helping Perl to flourish. - -For a more complete list of all of Perl's historical contributors, please see -the F<AUTHORS> file in the Perl source distribution. - -=head1 Reporting Bugs - -If you find what you think is a bug, you might check 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 perl...@perl.org to be analysed by the Perl porting team. - -If the bug you are reporting has security implications which make it -inappropriate to send to a publicly archived mailing list, then see -L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> -for details of how to report the issue. - -=head1 Give Thanks - -If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, -you can do so by running the C<perlthanks> program: - - perlthanks - -This will send an email to the Perl 5 Porters list with your show of thanks. - -=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/perl5272delta.pod b/pod/perl5272delta.pod deleted file mode 100644 index 5d2653c1ad..0000000000 --- a/pod/perl5272delta.pod +++ /dev/null @@ -1,215 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5272delta - what is new for perl v5.27.2 - -=head1 DESCRIPTION - -This document describes differences between the 5.27.1 release and the 5.27.2 -release. - -If you are upgrading from an earlier release such as 5.27.0, first read -L<perl5271delta>, which describes differences between 5.27.0 and 5.27.1. - -=head1 Core Enhancements - -=head2 Unicode 10.0 is supported - -A list of changes is at -L<http://www.unicode.org/versions/Unicode10.0.0>. - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<arybase> has been upgraded from version 0.12 to 0.13. - -=item * - -L<Carp> has been upgraded from version 1.42 to 1.43. - -=item * - -L<Encode> has been upgraded from version 2.88 to 2.92. - -=item * - -L<encoding> has been upgraded from version 2.19 to 2.20. - -=item * - -L<ExtUtils::CBuilder> has been upgraded from version 0.280225 to 0.280228. - -=item * - -L<feature> has been upgraded from version 1.48 to 1.49. - -=item * - -L<File::Glob> has been upgraded from version 1.28 to 1.29. - -=item * - -L<File::Spec> and L<Cwd> have been upgraded from version 3.67 to 3.68. - -=item * - -L<List::Util> has been upgraded from version 1.46_02 to 1.48. - -=item * - -L<Math::BigRat> has been upgraded from version 0.2611 to 0.2613. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20170621 to 5.20170720. - -=item * - -L<Opcode> has been upgraded from version 1.39 to 1.40. - -=item * - -L<PerlIO::scalar> has been upgraded from version 0.27 to 0.29. - -=item * - -L<POSIX> has been upgraded from version 1.76 to 1.77. - -=item * - -L<re> has been upgraded from version 0.34 to 0.35. - -=item * - -L<Scalar::Util> has been upgraded from version 1.46_02 to 1.48. - -=item * - -L<Time::HiRes> has been upgraded from version 1.9741 to 1.9743. - -=item * - -L<Time::Piece> has been upgraded from version 1.31 to 1.3201. - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -List assignment (C<aassign>) could in some rare cases allocate an -entry on the mortal stack and leave the entry uninitialized. [perl -#131570] - -=item * - -Attempting to apply an attribute to an C<our> variable where a -function of that name already exists could result in a NULL pointer -being supplied where an SV was expected, crashing perl. [perl -#131597] - -=item * - -C<split ' '> now correctly handles the argument being split when in the -scope of the L<< C<unicode_strings>|feature/"The 'unicode_strings' feature" ->> feature. Previously, when a string using the single-byte internal -representation contained characters that are whitespace by Unicode rules but -not by ASCII rules, it treated those characters as part of fields rather -than as field separators. [perl #130907] - -=item * - -Several built-in functions previously had bugs that could cause them to -write to the internal stack without allocating room for the item being -written. In rare situations, this could have led to a crash. These bugs have -now been fixed, and if any similar bugs are introduced in future, they will -be detected automatically in debugging builds. - -=item * - -Using a symbolic ref with postderef syntax as the key in a hash lookup was -yielding an assertion failure on debugging builds. [perl #131627] - -=item * - -Array and hash variables whose names begin with a caret now admit indexing -inside their curlies when interpolated into strings, as in C<< -"${^CAPTURE[0]}" >> to index C<@{^CAPTURE}>. [perl #131664] - -=back - -=head1 Acknowledgements - -Perl 5.27.2 represents approximately 4 weeks of development since Perl 5.27.1 -and contains approximately 26,000 lines of changes across 290 files from 18 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 9,700 lines of changes to 150 .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.27.2: - -Aaron Crane, Alberto Simões, Chris 'BinGOs' Williams, Dagfinn Ilmari -Mannsåker, David Mitchell, E. Choroba, Eric Herman, Father Chrysostomos, James -E Keenan, Karl Williamson, Lukas Mai, Ricardo Signes, Sawyer X, Steve Hay, Tony -Cook, Vitali Peil, Yves Orton, Zefram. - -The list above is almost certainly incomplete as it is automatically generated -from version control history. In particular, it does not include the names of -the (very much appreciated) contributors who reported issues to the Perl bug -tracker. - -Many of the changes included in this version originated in the CPAN modules -included in Perl's core. We're grateful to the entire CPAN community for -helping Perl to flourish. - -For a more complete list of all of Perl's historical contributors, please see -the F<AUTHORS> file in the Perl source distribution. - -=head1 Reporting Bugs - -If you find what you think is a bug, you might check 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 perl...@perl.org to be analysed by the Perl porting team. - -If the bug you are reporting has security implications which make it -inappropriate to send to a publicly archived mailing list, then see -L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> -for details of how to report the issue. - -=head1 Give Thanks - -If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, -you can do so by running the C<perlthanks> program: - - perlthanks - -This will send an email to the Perl 5 Porters list with your show of thanks. - -=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/perl5273delta.pod b/pod/perl5273delta.pod deleted file mode 100644 index 5569d6d407..0000000000 --- a/pod/perl5273delta.pod +++ /dev/null @@ -1,241 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5273delta - what is new for perl v5.27.3 - -=head1 DESCRIPTION - -This document describes differences between the 5.27.2 release and the 5.27.3 -release. - -If you are upgrading from an earlier release such as 5.27.1, first read -L<perl5272delta>, which describes differences between 5.27.1 and 5.27.2. - -=head1 Deprecations - -=head2 Module removals - -The following modules will be removed from the core distribution in a -future release, and will at that time need to be installed from CPAN. -Distributions on CPAN which require these modules will need to list them as -prerequisites. - -The core versions of these modules will now issue C<"deprecated">-category -warnings to alert you to this fact. To silence these deprecation warnings, -install the modules in question from CPAN. - -Note that these are (with rare exceptions) fine modules that you are encouraged -to continue to use. Their disinclusion from core primarily hinges on their -necessity to bootstrapping a fully functional, CPAN-capable Perl installation, -not usually on concerns over their design. - -=over - -=item B::Debug - -=back - -=head1 Performance Enhancements - -=over 4 - -=item * - -C<SvTRUE()> is now more efficient. - -=item * - -C<keys()> in void and scalar contexts is now more efficient. - -=item * - -Various integer-returning ops are now more efficient in scalar/boolean context. - -=item * - -C<< if (index(...) != -1) { ... } >> is now more efficient. - -=item * - -C<for()> loops and similar constructs are now more efficient in most cases. - -=back - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<B> has been upgraded from version 1.68 to 1.69. - -=item * - -L<B::Concise> has been upgraded from version 1.000 to 1.001. - -=item * - -L<B::Debug> has been upgraded from version 1.24 to 1.25. -NOTE: L<B::Debug> is deprecated and may be removed from a future version of Perl. - -=item * - -L<B::Deparse> has been upgraded from version 1.41 to 1.42. - -=item * - -L<base> has been upgraded from version 2.25 to 2.26. - -=item * - -L<Data::Dumper> has been upgraded from version 2.167 to 2.167_02. - -=item * - -L<Devel::Peek> has been upgraded from version 1.26 to 1.27. - -=item * - -L<ExtUtils::Constant> has been upgraded from version 0.23 to 0.24. - -=item * - -L<ExtUtils::ParseXS> has been upgraded from version 3.34 to 3.35. - -=item * - -L<ExtUtils::Typemaps> has been upgraded from version 3.34 to 3.35. - -=item * - -L<Filter::Simple> has been upgraded from version 0.93 to 0.94. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20170720 to 5.20170821. - -=item * - -L<SelfLoader> has been upgraded from version 1.23 to 1.24. - -=item * - -L<Storable> has been upgraded from version 2.63 to 2.64. - -=item * - -L<threads> has been upgraded from version 2.16 to 2.17. - -=item * - -L<utf8> has been upgraded from version 1.19 to 1.20. - -=back - -=head1 Configuration and Compilation - -=over 4 - -=item * - -On GCC, C<-Werror=pointer-arith> is now enabled by default, -disallowing arithmetic on void and function pointers. - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -Fixed a duplicate symbol failure with C<-flto -mieee-fp> builds. -F<pp.c> defined C<_LIB_VERSION> which C<-lieee> already defines. [perl -#131786] - -=item * - -The tokenizer no longer consumes the exponent part of a floating -point number if it's incomplete. [perl #131725] - -=item * - -On non-threaded builds, for C<m/$null/> where C<$null> is an empty -string is no longer treated as if the C</o> flag was present when the -previous matching match operator included the C</o> flag. The -rewriting used to implement this behavior could confuse the -interpreter. This matches the behaviour of threaded builds. [perl -#124368] - -=back - -=head1 Acknowledgements - -Perl 5.27.3 represents approximately 5 weeks of development since Perl 5.27.2 -and contains approximately 5,600 lines of changes across 150 files from 19 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 4,000 lines of changes to 84 .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.27.3: - -Aaron Crane, Aristotle Pagaltzis, Chris 'BinGOs' Williams, Craig A. Berry, -Dagfinn Ilmari Mannsåker, Daniel Dragan, David Mitchell, Father Chrysostomos, -James E Keenan, Karl Williamson, Ken Brown, Lukas Mai, Matthew Horsfall, -Nicholas Clark, Robin Barker, Steffen Müller, Steve Hay, Tony Cook, 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 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 perl...@perl.org to be analysed by the Perl porting team. - -If the bug you are reporting has security implications which make it -inappropriate to send to a publicly archived mailing list, then see -L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> -for details of how to report the issue. - -=head1 Give Thanks - -If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, -you can do so by running the C<perlthanks> program: - - perlthanks - -This will send an email to the Perl 5 Porters list with your show of thanks. - -=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/perl5274delta.pod b/pod/perl5274delta.pod deleted file mode 100644 index 3e36538e3e..0000000000 --- a/pod/perl5274delta.pod +++ /dev/null @@ -1,352 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5274delta - what is new for perl v5.27.4 - -=head1 DESCRIPTION - -This document describes differences between the 5.27.3 release and the 5.27.4 -release. - -If you are upgrading from an earlier release such as 5.27.2, first read -L<perl5273delta>, which describes differences between 5.27.2 and 5.27.3. - -=head1 Core Enhancements - -=head2 In-place editing is now safer - -Previously in-place editing would delete or rename the input file -as soon as you started working on a new file. - -Without backups this would result in loss of data if there was an -error, such as a full disk, when writing to the output file. - -This has changed so that the input file isn't replaced until the -output file has been completely written and successfully closed. - -This works by creating a work file in the same directory, which is -renamed over the input file once the output file is complete. - -Incompatibilities: - -=over - -=item * - -Since this renaming needs to only happen once, if you create a thread -or child process, that renaming will only happen in the original -thread or process. - -=item * - -If you change directories while processing a file, and your operating -system doesn't provide the C<unlinkat()>, C<renameat()> and C<fchmodat()> -functions, the final rename step may fail. - -=back - -L<[perl #127663]|https://rt.perl.org/Public/Bug/Display.html?id=127663> - -=head1 Security - -=head2 [CVE-2017-12837] Heap buffer overflow in regular expression compiler - -Compiling certain regular expression patterns with the case-insensitive -modifier could cause a heap buffer overflow and crash perl. This has now been -fixed. -L<[perl #131582]|https://rt.perl.org/Public/Bug/Display.html?id=131582> - -=head2 [CVE-2017-12883] Buffer over-read in regular expression parser - -For certain types of syntax error in a regular expression pattern, the error -message could either contain the contents of a random, possibly large, chunk of -memory, or could crash perl. This has now been fixed. -L<[perl #131598]|https://rt.perl.org/Public/Bug/Display.html?id=131598> - -=head2 [CVE-2017-12814] C<$ENV{$key}> stack buffer overflow on Windows - -A possible stack buffer overflow in the C<%ENV> code on Windows has been fixed -by removing the buffer completely since it was superfluous anyway. -L<[perl #131665]|https://rt.perl.org/Public/Bug/Display.html?id=131665> - -=head1 Performance Enhancements - -=over 4 - -=item * - -Slightly improved performance when parsing stash names. -L<[perl #129990]|https://rt.perl.org/Public/Bug/Display.html?id=129990> - -=back - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<attributes> has been upgraded from version 0.3 to 0.31. - -=item * - -L<File::Glob> has been upgraded from version 1.29 to 1.30. - -=item * - -L<I18N::Langinfo> has been upgraded from version 0.13 to 0.14. -This fixes a bug in which the underlying locale was ignored for the -C<RADIXCHAR> (always was returned as a dot, and the C<THOUSEP> (always -empty). Now the locale-appropriate values are returned. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20170821 to 5.20170920. - -=item * - -L<sort> has been upgraded from version 2.02 to 2.03. - -=item * - -L<Term::ReadLine> has been upgraded from version 1.16 to 1.17. - -=item * - -L<threads> has been upgraded from version 2.17 to 2.18. - -=item * - -L<VMS::Stdio> has been upgraded from version 2.41 to 2.42. - -=back - -=head2 Removed Modules and Pragmata - -=over 4 - -=item * - -The C<VMS::stdio> compatibility shim has been removed. - -=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 * - -A false-positive warning that was issued when using a -numerically-quantified sub-pattern in a recursive regex has been -silenced. L<[perl #131868]|https://rt.perl.org/Public/Bug/Display.html?id=131868> - -=back - -=head1 Testing - -Tests were added and changed to reflect the other additions and changes -in this release. - -=head1 Platform Support - -=head2 Platform-Specific Notes - -=over 4 - -=item Darwin - -Perl now correctly uses reentrant functions, like C<asctime_r>, on -versions of Darwin that have support for them. - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -A new function, L<C<Perl_langinfo()>|perlapi/Perl_langinfo> has been -added. It is an (almost) drop-in replacement for the system -C<nl_langinfo(3)>, but works on platforms that lack that; as well as -being more thread-safe, and hiding some gotchas with locale handling -from the caller. Code that uses this, needn't use L<C<localeconv(3)>> -(and be affected by the gotchas) to find the decimal point, thousands -separator, or currency symbol. See L<perlapi/Perl_langinfo>. - -=item * - -A new API function L<C<sv_rvunweaken()>|perlapi/sv_rvunweaken> has -been added to complement L<C<sv_rvweaken()>|perlapi/sv_rvweaken>. -The implementation was taken from L<Scalar::Util/unweaken>. - -=item * - -A new flag, C<SORTf_UNSTABLE>, has been added. This will allow a -future commit to make mergesort unstable when the user specifies ‘no -sort stable’, since it has been decided that mergesort should remain -stable by default. - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -The internal stack usage checks introduced in 5.27.2 are now also done -by the C<entersub> operator when calling XSUBs. This means we can -report which XSUB failed to allocate enough stack space. -L<[perl #131975]|https://rt.perl.org/Public/Bug/Display.html?id=131975> - -=item * - -Parsing a C<sub> definition could cause a use after free if the C<sub> -keyword was followed by whitespace including newlines (and comments.) -L<[perl #131836]|https://rt.perl.org/Public/Bug/Display.html?id=131836> - -=item * - -The tokenizer now correctly adjusts a parse pointer when skipping -whitespace in a C< ${identifier} > construct. -L<[perl #131949]|https://rt.perl.org/Public/Bug/Display.html?id=131949> - -=item * - -Accesses to C<${^LAST_FH}> no longer assert after using any of a -variety of I/O operations on a non-glob. -L<[perl #128263]|https://rt.perl.org/Public/Bug/Display.html?id=128263> - -=item * - -The C<Copy()>, C<Move()>, C<Zero()> macros and their variants now -assert if the pointers supplied are C<NULL>. ISO C considers -supplying NULL pointers to the functions these macros are built upon -as undefined behaviour even when their count parameters are zero. -Based on these assertions and the original bug report three macro -calls were made conditional. -L<[perl #131746]|https://rt.perl.org/Public/Bug/Display.html?id=131746> -L<[perl #131892]|https://rt.perl.org/Public/Bug/Display.html?id=131892> - -=item * - -The in-place sort optimisation now correctly strengthens weak -references using the new L<C<sv_rvunweaken()>|perlapi/sv_rvunweaken> -API function. - -=item * - -Only the C<=> operator is permitted for defining defaults for -parameters in subroutine signatures. Previously other assignment -operators, e.g. C<+=>, were also permitted. -L<[perl #131777]|https://rt.perl.org/Public/Bug/Display.html?id=131777> - -=item * - -Package names are now always included in C<:prototype> warnings -L<[perl #131833]|https://rt.perl.org/Public/Bug/Display.html?id=131833> - -=item * - -Creating a thread with no parameters no longer tries to C<Copy()> a -null pointer. This fixes an assertion failure and allows threaded -builds to work again. - -=item * - -The C<je_old_stack_hwm> field, previously only found in the C<jmpenv> -structure on debugging builds, has been added to non-debug builds as -well. This fixes an issue with some CPAN modules caused by the size of -this structure varying between debugging and non-debugging builds. -L<[perl #131942]|https://rt.perl.org/Public/Bug/Display.html?id=131942> - -=item * - -The arguments to the C<ninstr()> macro are now correctly parenthesized. - -=item * - -A NULL pointer dereference in the C<S_regmatch()> function has been -fixed. -L<[perl #132017]|https://rt.perl.org/Public/Bug/Display.html?id=132017> - -=back - -=head1 Acknowledgements - -Perl 5.27.4 represents approximately 4 weeks of development since Perl 5.27.3 -and contains approximately 5,000 lines of changes across 140 files from 18 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 3,300 lines of changes to 76 .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.27.4: - -Abigail, Chris 'BinGOs' Williams, Dagfinn Ilmari Mannsåker, David Mitchell, -Dominic Hargreaves, Father Chrysostomos, H.Merijn Brand, James E Keenan, Jarkko -Hietaniemi, John SJ Anderson, Karl Williamson, Lukas Mai, Matthew Horsfall, -Neil Bowers, Nicolas R., 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 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 perl...@perl.org to be analysed by the Perl porting team. - -If the bug you are reporting has security implications which make it -inappropriate to send to a publicly archived mailing list, then see -L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> -for details of how to report the issue. - -=head1 Give Thanks - -If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, -you can do so by running the C<perlthanks> program: - - perlthanks - -This will send an email to the Perl 5 Porters list with your show of thanks. - -=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. - ... 2622 lines suppressed ... -- Perl5 Master Repository