diff options
author | Sawyer X <xsawyerx@cpan.org> | 2018-04-20 14:05:59 +0200 |
---|---|---|
committer | Sawyer X <xsawyerx@cpan.org> | 2018-04-20 15:23:52 +0200 |
commit | b17b3b972039556400d38e167dcd027624a56846 (patch) | |
tree | d0bb1f1de4b5fde2bc3acd67b78208196d9bebc6 | |
parent | 488fe208c4adb33d486290723ec2d3835247e6e0 (diff) | |
download | perl-b17b3b972039556400d38e167dcd027624a56846.tar.gz |
Finalizing perldelta
-rw-r--r-- | pod/perldelta.pod | 325 |
1 files changed, 68 insertions, 257 deletions
diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 0fe0f035ca..3001157c2c 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.27.11 =head1 DESCRIPTION @@ -15,130 +12,96 @@ 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 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 ] +=head2 [CVE-2017-12837] Heap buffer overflow in regular expression compiler -=head1 Incompatible Changes +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> -XXX For a release on a stable branch, this section aspires to be: +=head2 [CVE-2017-12883] Buffer over-read in regular expression parser - 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. +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> -[ List each incompatible change as a =head2 entry ] +=head2 [CVE-2017-12814] C<$ENV{$key}> stack buffer overflow on Windows -=head1 Deprecations +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> -XXX Any deprecated features, syntax, modules etc. should be listed here. - -=head2 Module removals +=head1 Performance Enhancements -XXX Remove this section if not applicable. +=over 4 -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. +=item * -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. +The start up overhead for creating regular expression patterns with +Unicode properties (C<\p{...}>) has been greatly reduced in most cases. -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. +=back -=over +=head1 Modules and Pragmata -=item XXX +=head2 Updated Modules and Pragmata -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 ] +L<bytes> has been upgraded from version 1.05 to 1.06. -=head1 Performance Enhancements +=item * -XXX Changes which enhance performance without changing behaviour go here. -There may well be none in a stable release. +L<Carp> has been upgraded from version 1.49 to 1.50. -[ List each enhancement as an =item entry ] +=item * -=over 4 +L<Devel::PPPort> has been upgraded from version 3.39 to 3.40. =item * -The start up overhead for creating regular expression patterns with -Unicode properties (C<\p{...}>) has been greatly reduced in most cases. - -=back +L<Exporter> has been upgraded from version 5.72 to 5.73. -=head1 Modules and Pragmata +=item * -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. +L<ExtUtils::Constant> has been upgraded from version 0.24 to 0.25. -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.) +=item * -[ Within each section, list entries as an =item entry ] +L<I18N::Langinfo> has been upgraded from version 0.16 to 0.17. -=head2 New Modules and Pragmata +=item * -=over 4 +L<IO> has been upgraded from version 1.38 to 1.39. =item * -XXX Remove this section if not applicable. - -=back +L<Module::CoreList> has been upgraded from version 5.20180221 to 5.20180420. -=head2 Updated Modules and Pragmata +=item * -=over 4 +L<POSIX> has been upgraded from version 1.83 to 1.84. =item * -L<XXX> has been upgraded from version A.xx to B.yy. +L<subs> has been upgraded from version 1.02 to 1.03. -If there was something important to note about this change, include that here. +=item * -=back +L<Time::HiRes> has been upgraded from version 1.9757 to 1.9759. -=head2 Removed Modules and Pragmata +=item * -=over 4 +L<vars> has been upgraded from version 1.03 to 1.04. =item * -XXX +L<version> has been upgraded from version 0.9918 to 0.9923. =back @@ -223,188 +186,36 @@ 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 an =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. - -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 - -=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. - -=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 XXX-some-platform - -XXX - -=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 an =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 an =item entry ] - -=over 4 - -=item * - -XXX - -=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 an =item entry ] - -=over 4 - -=item * - -XXX - -=back - -=head1 Errata From Previous Releases - -=over 4 - -=item * +=head1 Acknowledgements -XXX Add anything here that we forgot to add, or were mistaken about, in -the perldelta of a previous release. +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. -=back +Excluding auto-generated files, documentation and release tools, there were +approximately 440,000 lines of changes to 88 .pm, .t, .c and .h files. -=head1 Obituary +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: -XXX If any significant core contributor or member of the CPAN community has -died, add a short obituary here. +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. -=head1 Acknowledgements +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. -XXX Generate this with: +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. - perl Porting/acknowledgements.pl v5.27.10..HEAD +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 |