X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/f0556e947703bfb1093d559aad038503d26bd125..336e728bcfb08d746b12d89a0e64792ba99edb50:/pod/perldelta.pod diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 6dfb854..41fbe50 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -5,15 +5,15 @@ [ 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.31.4 +perldelta - what is new for perl v5.31.5 =head1 DESCRIPTION -This document describes differences between the 5.31.3 release and the 5.31.4 +This document describes differences between the 5.31.4 release and the 5.31.5 release. -If you are upgrading from an earlier release such as 5.31.2, first read -L, which describes differences between 5.31.2 and 5.31.3. +If you are upgrading from an earlier release such as 5.31.3, first read +L, which describes differences between 5.31.3 and 5.31.4. =head1 Notice @@ -27,15 +27,6 @@ here, but most should go in the L section. [ List each enhancement as a =head2 entry ] -=head2 Now can dump compiled patterns before optimization - -This is primarily useful for tracking down bugs in the regular -expression compiler. This dump happens on C<-DDEBUGGING> perls, if you -specify C<-Drv> on the command line; or on any perl if the pattern is -compiled within the scope of S> or -S>. (All but the 2nd case display -other information as well.) - =head1 Security XXX Any security-related notices go here. In particular, any security @@ -54,6 +45,24 @@ XXX For a release on a stable branch, this section aspires to be: [ List each incompatible change as a =head2 entry ] +=head2 Modifiable variables are no longer permitted in constants + +Code like: + + my $var; + $sub = sub () { $var }; + +where C<$var> is referenced elsewhere in some sort of modiable context +now produces an exception when the sub is defined. + +This error can be avoided by adding a return to the sub definition: + + $sub = sub () { return $var }; + +This has been deprecated since perl 5.22. + +[perl #131138] + =head1 Deprecations XXX Any deprecated features, syntax, modules etc. should be listed here. @@ -104,64 +113,71 @@ XXX =head1 Modules and Pragmata -XXX All changes to installed files in F, F, F and F -go here. If Module::CoreList is updated, generate an initial draft of the -following sections using F. A paragraph summary -for important changes should then be added by hand. In an ideal world, -dual-life modules would have a F file that could be cribbed. +=head2 Updated Modules and Pragmata -The list of new and updated modules is modified automatically as part of -preparing a Perl release, so the only reason to manually add entries here is if -you're summarising the important changes in the module update. (Also, if the -manually-added details don't match the automatically-generated ones, the -release manager will have to investigate the situation carefully.) +=over 4 -[ Within each section, list entries as an =item entry ] +=item * -=head2 New Modules and Pragmata +L has been upgraded from version 1.76 to 1.77. -=over 4 +=item * + +L has been upgraded from version 1.49 to 1.50. =item * -XXX Remove this section if not applicable. +L has been upgraded from version 3.55 to 3.54. -=back +=item * -=head2 Updated Modules and Pragmata +L has been upgraded from version 2.55 to 2.55_01. -=over 4 +=item * + +L has been upgraded from version 1.18 to 1.21. + +Previously, when dumping elements of an array and encountering an undefined +value, the string printed would have been C. This has been +changed to what was apparently originally intended: C. =item * -L has been upgraded from version A.xx to B.yy. +L has been upgraded from version 0.280232 to 0.280233. -If there was something important to note about this change, include that here. +=item * -=back +L has been upgraded from version 1.999816 to 1.999817_01. -=head2 Removed Modules and Pragmata +=item * -=over 4 +L has been upgraded from version 0.5008 to 0.5009. =item * -XXX +L has been upgraded from version 5.20190920 to 5.20191020. -=back +=item * -=head1 Documentation +L has been upgraded from version 2.40 to 2.41. + +=item * + +L has been upgraded from version 2.22 to 2.23. + +=item * -XXX Changes to files in F go here. Consider grouping entries by -file and be sure to link to the appropriate page, e.g. L. +L has been upgraded from version 1.9763 to 1.9764. -=head2 New Documentation +=item * -XXX Changes which create B files in F go here. +L has been upgraded from version 1.03 to 1.04. -=head3 L +If there was something important to note about this change, include that here. -XXX Description of the purpose of the new file here +=back + +=head1 Documentation =head2 Changes to Existing Documentation @@ -169,65 +185,69 @@ 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. -XXX Changes which significantly change existing files in F go here. -However, any changes to F should go in the L -section. - -Additionally, the following selected changes have been made: - -=head3 L +=head3 L =over 4 =item * -XXX Description of the change here +Details of the various stacks within the perl interpreter are now explained +here. =back -=head1 Diagnostics +Additionally, the following selected changes have been made: -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. +=head3 URLs have been changed to https://, stale links updated -XXX New or changed warnings emitted by the core's C code go here. Also -include any changes in L that reconcile it to the C code. +=over 4 -=head2 New Diagnostics +=item * -XXX Newly added diagnostic messages go under here, separated into New Errors -and New Warnings +Where applicable, the URLs in the documentation have been moved from +using the http:// protocol to https:// . This also affects the location +of the bug tracker at L. -=head3 New Errors +=item * -=over 4 +Some links to OS/2 libraries, Address Sanitizer and other system tools +had gone stale. These have been updated with working links. =item * -XXX L +Some links to old mails on perl5-porters had gone stale. These have been +updated with working links. =back -=head3 New Warnings - -=over 4 +=head1 Diagnostics -=item * +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. -XXX L +=head2 Changes to Existing Diagnostics -=back +=over 4 -=head2 Changes to Existing Diagnostics +=item * -XXX Changes (i.e. rewording) of diagnostic messages go here +L -=over 4 +This error message has been slightly reformatted from the original C, and in particular misleading error messages like C are now rendered as C. =item * -XXX Describe change here +L + +This error message replaces the former C to reflect the fact that this previously deprecated usage has now been +transformed into an exception. The message's classification has also been +updated from D (deprecated) to F (fatal). =back @@ -263,7 +283,18 @@ L section, instead. =item * -XXX +Perl now no longer probes for C, defaulting to C +on all platforms. This check was error prone when it was done, which +was on 32-bit platforms only. [perl #133495] + +=item * + +Documentation and hints for building perl on Z/OS (native EBCDIC) have +been updated. Still work in progress. + +=item * + +New probe for malloc_usable_size =back @@ -339,9 +370,9 @@ L section. =over 4 -=item XXX-some-platform +=item Windows -XXX +Support for building perl with Visual C++ 6.0 has now been removed. =back @@ -357,7 +388,19 @@ well. =item * -XXX +Added the C<si_cxsubix>> field. This records the stack +index of the most recently pushed sub/format/eval context. It is set and +restored automatically by C, C etc., but would +need to be manually managed if you do any unusual manipulation of the +context stack. + +=item * + +Various macros dealing with character type classification and changing +case where the input is encoded in UTF-8 now require an extra parameter +to prevent potential reads beyond the end of the buffer. Use of these +has generated a deprecation warning since 5.26. Details are in +L =back @@ -372,11 +415,7 @@ files in F and F are best summarized in L. =item * -Perl no longer treats strings starting with "0x" or "0b" as hex or -binary numbers respectively when converting a string to a number. -This reverts a change in behaviour inadvertently introduced in perl -5.30.0 intended to improve precision when converting a string to a -floating point number. [perl #134230] +XXX =back @@ -416,13 +455,13 @@ died, add a short obituary here. XXX Generate this with: - perl Porting/acknowledgements.pl v5.31.3..HEAD + perl Porting/acknowledgements.pl v5.31.4..HEAD =head1 Reporting Bugs If you find what you think is a bug, you might check the perl bug database at L. There may also be information at -L, the Perl Home Page. +L, the Perl Home Page. If you believe you have an unreported bug, please run the L program included with your release. Be sure to trim your bug down to a tiny but