In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/3e91b2051efe63da7b76f3c0bc75eb11fa977136?hp=3198fda65dbcd975c56916e4b98f515fab7f02e5>
- Log ----------------------------------------------------------------- commit 3e91b2051efe63da7b76f3c0bc75eb11fa977136 Author: Steve Hay <[email protected]> Date: Mon Apr 20 20:27:13 2015 +0100 perldelta - Wrap to 79 columns and other minor copy-editing M pod/perldelta.pod commit 7378d30e766a9fce6ee5e2ecea7b7f28978ef6bf Author: Steve Hay <[email protected]> Date: Mon Apr 20 20:12:40 2015 +0100 perldelta - Remove boilerplate sections except for Acknowledgements M pod/perldelta.pod commit 799b8ca78a16e8229a24c36f601c1cdf827624bc Author: Steve Hay <[email protected]> Date: Mon Apr 20 20:07:49 2015 +0100 perldelta - Fill in rt.perl.org links M pod/perldelta.pod commit 51c2f40fba1475c18057b46435106b2f81adf77c Author: Steve Hay <[email protected]> Date: Mon Apr 20 20:07:11 2015 +0100 perldelta - One more module update M pod/perldelta.pod ----------------------------------------------------------------------- Summary of changes: pod/perldelta.pod | 408 +++++++++--------------------------------------------- 1 file changed, 66 insertions(+), 342 deletions(-) diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 5d8741c..573bd1b 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.21.11 =head1 DESCRIPTION @@ -15,111 +12,16 @@ release. If you are upgrading from an earlier release such as 5.21.9, first read L<perl52110delta>, which describes differences between 5.21.9 and 5.21.10. -=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 Making all warnings fatal is discouraged -The documentation for L<fatal warnings|warnings/Fatal Warnings> notes -that C<< use warnings FATAL => 'all' >> is discouraged -and provides stronger language about the risks of fatal warnings -in general. - -=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 +The documentation for L<fatal warnings|warnings/Fatal Warnings> notes that +C<< use warnings FATAL => 'all' >> is discouraged and provides stronger +language about the risks of fatal warnings in general. =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 @@ -144,6 +46,10 @@ L<Config::Perl::V> has been upgraded from version 0.23 to 0.24. =item * +L<CPAN> has been upgraded from version 2.10 to 2.11. + +=item * + L<Cwd> has been upgraded from version 3.55 to 3.56. =item * @@ -176,14 +82,15 @@ L<IO::Socket::IP> has been upgraded from version 0.36 to 0.37. L<Module::CoreList> has been upgraded from version 5.20150320 to 5.20150420. -Updated to cover the latest releases of Perl. Also fixes a fencepost error in +Updated to cover the latest releases of Perl. Also fixes a fencepost error in is_core() and copes with versions that do not match x.yyyzzz. =item * L<perl5db.pl> has been upgraded from 1.48 to 1.49. -The debugger would cause an assertion failure. [perl #124127] +The debugger would cause an assertion failure. +L<[perl #124127]|https://rt.perl.org/Ticket/Display.html?id=124127> =item * @@ -201,35 +108,10 @@ L<warnings> has been upgraded from version 1.31 to 1.32. =back -=head2 Removed Modules and Pragmata - -=over 4 - -=item * - -XXX - -=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<perlebcdic> =over 4 @@ -268,8 +150,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 @@ -291,7 +173,7 @@ Out-of-date VMS-specific information has been fixed/simplified. =item * Advice for how to make sure your strings and regular expression patterns are -interpreted as Unicode has been revised to account for the new 5.22 EBCDIC +interpreted as Unicode has been revised to account for the new Perl 5.22 EBCDIC handling. =back @@ -306,98 +188,8 @@ Out-of-date and/or incorrect material 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>. - -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 Utility Changes - -XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here. -Most of these are built within the directory F<utils>. - -[ 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> - -=over 4 - -=item * - -XXX - -=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 - -=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 * @@ -411,54 +203,18 @@ 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 -F<miniperl.exe> is now built with C<-fno-strict-aliasing>, allowing -64-bit builds to complete on GCC 4.8. [perl #123976] +F<miniperl.exe> is now built with C<-fno-strict-aliasing>, allowing 64-bit +builds to complete on GCC 4.8. +L<[perl #123976]|https://rt.perl.org/Ticket/Display.html?id=123976> -C<test-prep> again depends on C<test-prep-gcc> for GCC builds. [perl -#124221] +C<test-prep> again depends on C<test-prep-gcc> for GCC builds. +L<[perl #124221]|https://rt.perl.org/Ticket/Display.html?id=124221> =back @@ -468,99 +224,93 @@ C<test-prep> again depends on C<test-prep-gcc> for GCC builds. [perl =item * -5.21.2 introduced a new build option, C<-DPERL_OP_PARENT>, which causes -the last C<op_sibling> pointer to refer back to the parent rather than -being C<NULL>, and where instead a new flag indicates the end of the -chain. In this release, the new implementation has been revised; in -particular: +Perl 5.21.2 introduced a new build option, C<-DPERL_OP_PARENT>, which causes +the last C<op_sibling> pointer to refer back to the parent rather than being +C<NULL>, and where instead a new flag indicates the end of the chain. In this +release, the new implementation has been revised; in particular: =over 4 =item * On C<PERL_OP_PARENT> builds, the C<op_sibling> field has been renamed -C<op_sibparent> to reflect its new dual purpose. Since the intention is that +C<op_sibparent> to reflect its new dual purpose. Since the intention is that this field should primarily be accessed via macros, this change should be transparent for code written to work under C<PERL_OP_PARENT>. =item * -The newly-introduced C<op_lastsib> flag bit has been renamed C<op_moresib> -and its logic inverted; i.e. it is initialised to zero in a new op, and is -changed to 1 when an op gains a sibling. +The newly-introduced C<op_lastsib> flag bit has been renamed C<op_moresib> and +its logic inverted; i.e. it is initialised to zero in a new op, and is changed +to 1 when an op gains a sibling. =item * The function C<Perl_op_parent> is now only available on C<PERL_OP_PARENT> -builds. Using it on a plain build will be a compile-timer error. +builds. Using it on a plain build will be a compile-timer error. =item * -Three new macros, C<OpMORESIB_set>, C<OpLASTSIB_set>, C<OpMAYBESIB_set> -have been added, which are intended to be be a low-level portable way to -set C<op_sibling> / C<op_sibparent> while also updating C<op_moresib>. -The first sets the sibling pointer to a new sibling, the second makes the -op the last sibling, and the third conditionally does the first or second -action. The C<op_sibling_splice()> function is retained as a higher-level -interface that can also maintain consistency in the parent at the same time -(e.g. by updating C<op_first> and C<op_last> where appropriate). +Three new macros, C<OpMORESIB_set>, C<OpLASTSIB_set>, C<OpMAYBESIB_set> have +been added, which are intended to be a low-level portable way to set +C<op_sibling> / C<op_sibparent> while also updating C<op_moresib>. The first +sets the sibling pointer to a new sibling, the second makes the op the last +sibling, and the third conditionally does the first or second action. The +C<op_sibling_splice()> function is retained as a higher-level interface that +can also maintain consistency in the parent at the same time (e.g. by updating +C<op_first> and C<op_last> where appropriate). =item * -The macro C<OpSIBLING_set>, added in 5.21.2, has been removed. It didn't -manipulate C<op_moresib> and has been superseded by C<OpMORESIB_set> et -al. +The macro C<OpSIBLING_set>, added in Perl 5.21.2, has been removed. It didn't +manipulate C<op_moresib> and has been superseded by C<OpMORESIB_set> et al. =item * -The C<op_sibling_splice> function now accepts a null C<parent> argument -where the splicing doesn't affect the first or last ops in the sibling -chain, and thus where the parent doesn't need to be updated accordingly. +The C<op_sibling_splice> function now accepts a null C<parent> argument where +the splicing doesn't affect the first or last ops in the sibling chain, and +thus where the parent doesn't need to be updated accordingly. =back - =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 * -C<pack("D", $x)> and C<pack("F", $x)> now zero the padding on x86 long -double builds. GCC 4.8 and later, under some build options, would -either overwrite the zero-initialized padding, or bypass the -initialized buffer entirely. This caused F<op/pack.t> to fail. [perl -#123971] +C<pack("D", $x)> and C<pack("F", $x)> now zero the padding on x86 long double +builds. GCC 4.8 and later, under some build options, would either overwrite +the zero-initialized padding, or bypass the initialized buffer entirely. This +caused F<op/pack.t> to fail. +L<[perl #123971]|https://rt.perl.org/Ticket/Display.html?id=123971> =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 * An assertion failure and subsequent crash with C<< *x=<y> >> has been fixed. -[perl #123790] +L<[perl #123790]|https://rt.perl.org/Ticket/Display.html?id=123790> =item * An optimization for state variable initialization introduced in Perl 5.21.6 has been reverted because it was found to exacerbate some other existing buggy -behaviour. [perl #124160] +behaviour. +L<[perl #124160]|https://rt.perl.org/Ticket/Display.html?id=124160> =item * The extension of another optimization to cover more ops in Perl 5.21 has also been reverted to its Perl 5.20 state as a temporary fix for regression issues -that it caused. [perl #123790] +that it caused. +L<[perl #123790]|https://rt.perl.org/Ticket/Display.html?id=123790> =item * @@ -569,28 +319,33 @@ to enable all features. This has now been fixed. =item * -A possible crashing/looping bug has been fixed. [perl #124099] +A possible crashing/looping bug has been fixed. +L<[perl #124099]|https://rt.perl.org/Ticket/Display.html?id=124099> =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 * Breakage in C<require(VERSION)> (with parentheses), introduced in Perl 5.21.6, -has been fixed. [perl #124135] +has been fixed. +L<[perl #124135]|https://rt.perl.org/Ticket/Display.html?id=124135> =item * Wide char warnings, wrongly raised in UTF-8 locales since Perl 5.21.8, are now -suppressed. [perl #123527] +suppressed. +L<[perl #123527]|https://rt.perl.org/Ticket/Display.html?id=123527> =item * A subtle bug introduced in Perl 5.21.4 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 * @@ -600,7 +355,8 @@ has been reverted. =item * A bug whereby C<< 'FOO'->f() >> lost the read-only status of C<FOO>, introduced -in Perl 5.21.7, has been fixed. [perl #123619] +in Perl 5.21.7, has been fixed. +L<[perl #123619]|https://rt.perl.org/Ticket/Display.html?id=123619> =item * @@ -608,38 +364,6 @@ A regression in Perl 5.21 in the matching of C</[A-Z]/ai> 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
