In perl.git, the branch blead has been updated <https://perl5.git.perl.org/perl.git/commitdiff/0deccbc48080cbdd305d6c0c62702b49ee113ecc?hp=c6fe5b981b942ddabb23ed4b7602067e906e6d88>
- Log ----------------------------------------------------------------- commit 0deccbc48080cbdd305d6c0c62702b49ee113ecc Author: Abigail <abig...@abigail.be> Date: Sun Dec 16 00:27:51 2018 +0100 Get pod/perldelta in shape. * Fixed POD issues. * Fixed spelling. * Removed most of the templating stuff; only the Module List and Acknowledgment are left -- they will be done at the day of the release. commit 0ce66d44d2492abee5f950d627d123526dc1e6c3 Author: Abigail <abig...@abigail.be> Date: Sat Dec 15 18:34:40 2018 +0100 Perldelta entries for 5.29.6. ----------------------------------------------------------------------- Summary of changes: pod/perldelta.pod | 292 ++++++++++++++---------------------------------------- 1 file changed, 76 insertions(+), 216 deletions(-) diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 69d0516e5b..564cc1a980 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.29.6 =head1 DESCRIPTION @@ -15,81 +12,40 @@ release. If you are upgrading from an earlier release such as 5.29.4, first read L<perl5295delta>, which describes differences between 5.29.4 and 5.29.5. -=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 +=head2 [CVE-2018-18312] Heap-buffer-overflow write in S_regatom (regcomp.c) -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 not applicable. +A crafted regular expression could cause heap-buffer-overflow write during +compilation, potentially allowing arbitrary code execution. -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. +L<[perl #133423]|https://rt.perl.org/Ticket/Display.html?id=133423> -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 +=head1 Performance Enhancements -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. +=over 4 -=back +=item * -[ List each other deprecation as a =head2 entry ] +Optimization of C<IV> to C<UV> conversions. +L<[perl #133677]|https://rt.perl.org/Ticket/Display.html?id=133677>. -=head1 Performance Enhancements +=item * -XXX Changes which enhance performance without changing behaviour go here. -There may well be none in a stable release. +Speed up of the integer stringification algorithm by processing +two digits at a time instead of one. +L<[perl #133691]|https://rt.perl.org/Ticket/Display.html?id=133691>. -[ List each enhancement as an =item entry ] +=item * -=over 4 +Improvements based on LGTM analysis and recommendation. +(L<https://lgtm.com/projects/g/Perl/perl5/alerts/?mode=tree>). +L<[perl #133686]|https://rt.perl.org/Ticket/Display.html?id=133686>. +L<[perl #133699]|https://rt.perl.org/Ticket/Display.html?id=133699>. =item * -XXX +Code optimizations in F<regcomp.c>, F<regcomp.h>, F<regexec.c>. =back @@ -157,222 +113,132 @@ XXX =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 +=head3 L<perlfunc> =over 4 =item * -XXX L<message|perldiag/"message"> +Clarification of behaviour of C<reset EXPR>. =back -=head3 New Warnings +=head3 L<perlreref> =over 4 =item * -XXX L<message|perldiag/"message"> +Clarification of the syntax of /(?(cond)yes)/. =back -=head2 Changes to Existing Diagnostics - -XXX Changes (i.e. rewording) of diagnostic messages go here +=head3 L<perlop> -=over 4 +=over =item * -XXX Describe change here +We no longer have null (empty line) here doc terminators, so +L<perlop> should not refer to them. =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>. +=head1 Diagnostics -[ 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. ] +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 L<XXX> +=head2 Changes to Existing Diagnostics =over 4 =item * -XXX +Under C<< -Dr >> (or C<< use re 'Debug' >>) the compiled regex engine +program is displayed. It used two different spellings for I<< infinity >>, +C<< INFINITY >>, and C<< INFTY >>. It now uses the latter exclusively, +as that spelling has been around the longest. =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. +=head1 Utility Changes -[ List changes as an =item entry ]. +=head2 L<xsubpp> =over 4 =item * -XXX +The generated prototype (with C<< PROTOTYPES: ENABLE >>) would include +C<< OUTLIST >> parameters, but these aren't arguments to the perl function. +This has been rectified. +L<[perl #133654]|https://rt.perl.org/Ticket/Display.html?id=133654>. =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. - -XXX If there were no significant test changes, say this: - -Tests were added and changed to reflect the other additions and changes -in this release. - -XXX If instead there were significant changes, say this: - Tests were added and changed to reflect the other additions and changes in this release. Furthermore, these significant changes were made: -[ List each test improvement as an =item entry ] - =over 4 =item * -XXX +Some tests in F<< t/io/eintr.t >> caused the process to hang on +pre-16 Darwin. These tests are skipped for those version of Darwin. =back =head1 Platform Support -XXX Any changes to platform support should be listed in the sections below. - -[ Within the sections, list each platform as an =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. +=head2 Platform-Specific Notes =over 4 -=item XXX-some-platform +=item Cygwin -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 +Cygwin doesn't make C<< cuserid >> visible. -=item XXX-some-platform +=item Win32 Mingw -XXX +C99 math functions are now available. =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. +=over 4 -[ List each change as an =item entry ] +=item * -=over 4 +Two new regnodes have been introduced C<< EXACT_ONLY8 >>, and +C<< EXACTFU_ONLY8 >>. They're equivalent to C<< EXACT >> and C<< EXACTFU >>, +except that they contain a code point which requires UTF-8 to +represent/match. Hence, if the target string isn't UTF-8, we know +it can't possibly match, without needing to try. =item * -XXX +C<< print_bytes_for_locale() >> is now defined if C<< DEBUGGING >>, +Prior, it didn't get defined unless C<< LC_COLLATE >> was defined +on the platform. =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 an =item entry ] - =over 4 =item * @@ -390,42 +256,36 @@ to replace the input file, while code like: perl -i -ne 'print "Foo"; die' -will not. Partly resolves [perl #133659]. - -=back - -=head1 Known Problems +will not. Partly resolves +L<[perl #133659]|https://rt.perl.org/Ticket/Display.html?id=133659>. -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 an =item entry ] +=item * -=over 4 +Fixed an issue where compiling a regexp containing both compile-time +and run-time code blocks could lead to trying to compile something +which is invalid syntax. =item * -XXX +Fixed build failures with C<< -DNO_LOCALE_NUMERIC >> and +C<< -DNO_LOCALE_COLLATE >>. +L<[perl #133696]|https://rt.perl.org/Ticket/Display.html?id=133696>. -=back +=item * -=head1 Errata From Previous Releases - -=over 4 +Prevent the tests in F<< ext/B/t/strict.t >> from being skipped. +L<[perl #133713]|https://rt.perl.org/Ticket/Display.html?id=133713>. =item * -XXX Add anything here that we forgot to add, or were mistaken about, in -the perldelta of a previous release. +C<< /di >> nodes ending or beginning in I<s> are now C<< EXACTF >>. We do not +want two C<< EXACTFU >> to be joined together during optimization, +and to form a C<< ss >>, C<< sS >>, C<< Ss >> or C<< SS >> sequence; +they are the only multi-character sequences which may match differently +under C<< /ui >> and C<< /di >>. =back -=head1 Obituary - -XXX If any significant core contributor or member of the CPAN community has -died, add a short obituary here. - =head1 Acknowledgements XXX Generate this with: -- Perl5 Master Repository