In perl.git, the branch maint-5.20 has been updated <http://perl5.git.perl.org/perl.git/commitdiff/4b1db3b25d2553c02cd16483528b6b8b803ab20a?hp=2b70db9cb1f05e5314cb72a2e7c5e267350db284>
- Log ----------------------------------------------------------------- commit 4b1db3b25d2553c02cd16483528b6b8b803ab20a Author: Steve Hay <[email protected]> Date: Fri Aug 21 09:00:29 2015 +0100 perldelta - Copy-editing M pod/perldelta.pod commit 679ed5f7fecfd2623cb86ea9cc87f23d0b6ace33 Author: Steve Hay <[email protected]> Date: Fri Aug 21 08:22:39 2015 +0100 perldelta - Remove boilerplate sections except for Acknowledgements M pod/perldelta.pod ----------------------------------------------------------------------- Summary of changes: pod/perldelta.pod | 388 +++++++----------------------------------------------- 1 file changed, 50 insertions(+), 338 deletions(-) diff --git a/pod/perldelta.pod b/pod/perldelta.pod index d5a2266..1334a24 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -2,9 +2,6 @@ =head1 NAME -[ this is a template for a new perldelta file. Any text flagged as XXX needs -to be processed before release. ] - perldelta - what is new for perl v5.20.3 =head1 DESCRIPTION @@ -15,104 +12,8 @@ release. If you are upgrading from an earlier release such as 5.20.1, first read L<perl5202delta>, which describes differences between 5.20.1 and 5.20.2. -=head1 Notice - -XXX Any important notices here - -=head1 Core Enhancements - -XXX New core language features go here. Summarize user-visible core language -enhancements. Particularly prominent performance optimisations could go -here, but most should go in the L</Performance Enhancements> section. - -[ List each enhancement as a =head2 entry ] - -=head1 Security - -XXX Any security-related notices go here. In particular, any security -vulnerabilities closed should be noted here rather than in the -L</Selected Bug Fixes> section. - -[ List each security issue as a =head2 entry ] - -=head1 Incompatible Changes - -XXX For a release on a stable branch, this section aspires to be: - - There are no changes intentionally incompatible with 5.XXX.XXX - If any exist, they are bugs, and we request that you submit a - report. See L</Reporting Bugs> below. - -[ List each incompatible change as a =head2 entry ] - -=head1 Deprecations - -XXX Any deprecated features, syntax, modules etc. should be listed here. - -=head2 Module removals - -XXX Remove this section if inapplicable. - -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 XXX - -XXX Note that deprecated modules should be listed here even if they are listed -as an updated module in the L</Modules and Pragmata> section. - -=back - -[ List each other deprecation as a =head2 entry ] - -=head1 Performance Enhancements - -XXX Changes which enhance performance without changing behaviour go here. -There may well be none in a stable release. - -[ List each enhancement as a =item entry ] - -=over 4 - -=item * - -XXX - -=back - =head1 Modules and Pragmata -XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/> -go here. If Module::CoreList is updated, generate an initial draft of the -following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary -for important changes should then be added by hand. In an ideal world, -dual-life modules would have a F<Changes> file that could be cribbed. - -[ Within each section, list entries as a =item entry ] - -=head2 New Modules and Pragmata - -=over 4 - -=item * - -XXX - -=back - =head2 Updated Modules and Pragmata =over 4 @@ -121,9 +22,9 @@ XXX L<Errno> has been upgraded from version 1.20_05 to 1.20_06. -Add C<-P> to the preprocessor command-line on GCC 5. GCC added extra -line directives, breaking parsing of error code definitions. [perl -#123784] +Add B<-P> to the pre-processor command-line on GCC 5. GCC added extra line +directives, breaking parsing of error code definitions. +L<[perl #123784]|https://rt.perl.org/Ticket/Display.html?id=123784> =item * @@ -135,46 +36,22 @@ Updated to cover the latest releases of Perl. L<perl5db.pl> has been upgraded from 1.44 to 1.44_01. -The debugger would cause an assertion failure. [perl #124127] - -=back - -=head2 Removed Modules and Pragmata - -=over 4 - -=item * - -XXX +The debugger would cause an assertion failure. +L<[perl #124127]|https://rt.perl.org/Ticket/Display.html?id=124127> =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 -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. - =head3 L<perlfunc> =over 4 =item * -Mention that C<study()> is currently a no-op. +Mention that L<C<study()>|perlfunc/study> is currently a no-op. =back @@ -195,8 +72,8 @@ storage of the offset. =item * -Documentation has been added illustrating the perils of assuming the contents of -static memory pointed to by the return values of Perl wrappers for C library +Documentation has been added illustrating the perils of assuming the contents +of static memory pointed to by the return values of Perl wrappers for C library functions doesn't change. =back @@ -207,106 +84,28 @@ functions doesn't change. =item * -The specification of the pod language is changing so that the default -encoding of pods that aren't in UTF-8 (unless otherwise indicated) is -CP1252 instead of ISO 8859-1 (Latin1). - -=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 +The specification of the POD language is changing so that the default encoding +of PODs that aren't in UTF-8 (unless otherwise indicated) is CP1252 instead of +ISO-8859-1 (Latin1). =back =head1 Utility Changes -XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here. -Most of these are built within the directories F<utils> and F<x2p>. - -[ List utility changes as a =head2 entry for each utility and =item -entries for each change -Use L<XXX> with program names to get proper documentation linking. ] - -=head2 L<XXX> +=head2 L<h2ph> =over 4 =item * -F<h2ph> now handles hexadecimal constants in the compiler's predefined -macro definitions, as visible in C<$Config{cppsymbols}>. [perl -#123784] - -=back - -=head1 Configuration and Compilation - -XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools -go here. Any other changes to the Perl build process should be listed here. -However, any platform-specific changes should be listed in the -L</Platform Support> section, instead. - -[ List changes as a =item entry ]. - -=over 4 - -=item * - -XXX +B<h2ph> now handles hexadecimal constants in the compiler's predefined macro +definitions, as visible in C<$Config{cppsymbols}>. +L<[perl #123784]|https://rt.perl.org/Ticket/Display.html?id=123784> =back =head1 Testing -XXX Any significant changes to the testing of a freshly built perl should be -listed here. Changes which create B<new> files in F<t/> go here as do any -large changes to the testing harness (e.g. when parallel testing was added). -Changes to existing files in F<t/> aren't worth summarizing, although the bugs -that they represent may be covered elsewhere. - -[ List each test improvement as a =item entry ] - =over 4 =item * @@ -320,45 +119,8 @@ efficient way of determining at runtime what vars to localize. =head1 Platform Support -XXX Any changes to platform support should be listed in the sections below. - -[ Within the sections, list each platform as a =item entry with specific -changes as paragraphs below it. ] - -=head2 New Platforms - -XXX List any platforms that this version of perl compiles on, that previous -versions did not. These will either be enabled by new files in the F<hints/> -directories, or new subdirectories and F<README> files at the top level of the -source tree. - -=over 4 - -=item XXX-some-platform - -XXX - -=back - -=head2 Discontinued Platforms - -XXX List any platforms that this version of perl no longer compiles on. - -=over 4 - -=item XXX-some-platform - -XXX - -=back - =head2 Platform-Specific Notes -XXX List any changes for specific platforms. This could include configuration -and compilation changes or changes in portability/compatibility. However, -changes within modules for platforms should generally be listed in the -L</Modules and Pragmata> section. - =over 4 =item Win32 @@ -367,75 +129,55 @@ L</Modules and Pragmata> section. =item * -Previously, on Visual C++ for Win64 built Perls only, when compiling every Perl -XS module (including CPAN ones) and Perl aware .c file with a 64 bit Visual C++, -would uncondtionally have around a dozen warnings from hv_func.h. These -warnings have been silenced. GCC all bitness and Visual C++ for Win32 were -not affected. +Previously, when compiling with a 64-bit Visual C++, every Perl XS module +(including CPAN ones) and Perl aware C file would unconditionally have around a +dozen warnings from F<hv_func.h>. These warnings have been silenced. GCC (all +bitness) and 32-bit Visual C++ were not affected. =item * -F<miniperl.exe> is now built with C<-fno-strict-aliasing>, allowing -64-bit builds to complete on GCC 4.8. [perl #123976] +B<miniperl.exe> is now built with B<-fno-strict-aliasing>, allowing 64-bit +builds to complete with GCC 4.8. +L<[perl #123976]|https://rt.perl.org/Ticket/Display.html?id=123976> =back =back -=head1 Internal Changes - -XXX Changes which affect the interface available to C<XS> code go here. Other -significant internal changes for future core maintainers should be noted as -well. - -[ List each change as a =item entry ] - -=over 4 - -=item * - -XXX - -=back - =head1 Selected Bug Fixes -XXX Important bug fixes in the core language are summarized here. Bug fixes in -files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>. - -[ List each fix as a =item entry ] - =over 4 =item * -Repeated global pattern matches in scalar context on large tainted -strings were exponentially slow depending on the current match -position in the string. [perl #123202] +Repeated global pattern matches in scalar context on large tainted strings were +exponentially slow depending on the current match position in the string. +L<[perl #123202]|https://rt.perl.org/Ticket/Display.html?id=123202> =item * -The original visible value of C<$/> is now preserved when it is set to -an invalid value. Previously if you set C<$/> to a reference to an -array, for example, perl would produce a runtime error and not set -C<PL_rs>, but perl code that checked C<$/> would see the array -reference. [perl #123218] +The original visible value of L<C<$E<sol>>|perlvar/$E<sol>> is now preserved +when it is set to an invalid value. Previously if you set C<$/> to a reference +to an array, for example, perl would produce a runtime error and not set PL_rs, +but Perl code that checked C<$/> would see the array reference. +L<[perl #123218]|https://rt.perl.org/Ticket/Display.html?id=123218> =item * -Perl 5.14.0 introduced a bug whereby C<eval { LABEL: }> would crash. This -has been fixed. [rt.perl.org #123652] +Perl 5.14.0 introduced a bug whereby C<eval { LABEL: }> would crash. This has +been fixed. +L<[perl #123652]|https://rt.perl.org/Ticket/Display.html?id=123652> =item * -Extending an array cloned from a parent thread could result in -"Modification of a read-only value attempted" errors when attempting -to modify the new elements. [perl #124127] +Extending an array cloned from a parent thread could result in "Modification of +a read-only value attempted" errors when attempting to modify the new elements. +L<[perl #124127]|https://rt.perl.org/Ticket/Display.html?id=124127> =item * Several cases of data used to store environment variable contents in core C -code being potentailly overwritten before being used have been fixed. +code being potentially overwritten before being used have been fixed. L<[perl #123748]|https://rt.perl.org/Ticket/Display.html?id=123748> =item * @@ -446,66 +188,36 @@ to enable all features. This has now been fixed. =item * UTF-8 variable names used in array indexes, unquoted UTF-8 HERE-document -terminators and UTF-8 function names all now work correctly. [perl #124113] +terminators and UTF-8 function names all now work correctly. +L<[perl #124113]|https://rt.perl.org/Ticket/Display.html?id=124113> =item * A subtle bug introduced in Perl 5.20.2 involving UTF-8 in regular expressions -and sometimes causing a crash has been fixed. A new test script has been added -to test this fix; see under L</Testing>. [perl #124109] +and sometimes causing a crash has been fixed. A new test script has been added +to test this fix; see under L</Testing>. +L<[perl #124109]|https://rt.perl.org/Ticket/Display.html?id=124109> =item * -Some patterns starting with C</.*..../> matched against long strings have -been slow since Perl 5.8, and some of the form C</.*..../i> have been slow -since Perl 5.18. They are now all fast again. -L<[perl #123743]|https://rt.perl.org/Ticket/Display.html?id=123743>. +Some patterns starting with C</.*..../> matched against long strings have been +slow since Perl 5.8, and some of the form C</.*..../i> have been slow since +Perl 5.18. They are now all fast again. +L<[perl #123743]|https://rt.perl.org/Ticket/Display.html?id=123743> =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] +Warning fatality is now ignored when rewinding the stack. This prevents +infinite recursion when the now fatal error also causes rewinding of the stack. +L<[perl #123398]|https://rt.perl.org/Ticket/Display.html?id=123398> =item * -C<setpgrp($nonzero)> (with one argument) was accidentally changed in 5.16 +C<setpgrp($nonzero)> (with one argument) was accidentally changed in Perl 5.16 to mean C<setpgrp(0)>. This has been fixed. =back -=head1 Known Problems - -XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any -tests that had to be C<TODO>ed for the release would be noted here. Unfixed -platform specific bugs also go here. - -[ List each fix as a =item entry ] - -=over 4 - -=item * - -XXX - -=back - -=head1 Errata From Previous Releases - -=over 4 - -=item * - -XXX Add anything here that we forgot to add, or were mistaken about, in -the perldelta of a previous release. - -=back - -=head1 Obituary - -XXX If any significant core contributor has died, we've added a short obituary -here. - =head1 Acknowledgements XXX Generate this with: -- Perl5 Master Repository
