diff options
author | Nicolas R <atoomic@cpan.org> | 2019-12-20 11:59:42 -0700 |
---|---|---|
committer | Nicolas R <atoomic@cpan.org> | 2019-12-20 15:56:07 -0700 |
commit | 149c28f951d2545c6202ec3774ce28d3fdb482a8 (patch) | |
tree | fedc6fc30a99d2a7dbfc7b11e9d758500f1e50ad | |
parent | 55b02e51872db1b457d531759951b2a925405db7 (diff) | |
download | perl-149c28f951d2545c6202ec3774ce28d3fdb482a8.tar.gz |
Finalise perldelta and update perlhistv5.31.7
-rw-r--r-- | pod/perldelta.pod | 384 | ||||
-rw-r--r-- | pod/perlhist.pod | 1 |
2 files changed, 166 insertions, 219 deletions
diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 0dd0a33046..2f0d2be711 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.31.7 =head1 DESCRIPTION @@ -15,16 +12,8 @@ release. If you are upgrading from an earlier release such as 5.31.5, first read L<perl5316delta>, which describes differences between 5.31.5 and 5.31.6. -=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. - =head2 The isa Operator A new experimental infix operator called C<isa> tests whether a given object @@ -34,48 +23,27 @@ is an instance of a given class or a class derived from it: For more detail see L<perlop/Class Instance Operator>. -[ 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 ] - =head2 C<\p{I<user-defined>}> properties now always override official Unicode ones Previously, if and only if a user-defined property was declared prior to the compilation of the regular expression pattern containing it, its definition was used instead of any official Unicode property with the -same name. Now, it always overrides the offical property. This +same name. Now, it always overrides the official property. This change could break existing code that relied (likely unwittingly) on the previous behavior. Without this fix, if Unicode released a new version with a new property that happens to have the same name as the one you had long been using, your program would break when you upgraded to a perl that used that new Unicode version. See L<perlunicode/User-Defined -Character Properties>. [GH #17205] +Character Properties>. [L<GH #17205|https://github.com/Perl/perl5/issues/17205>] -=head1 Deprecations -XXX Any deprecated features, syntax, modules etc. should be listed here. +=head1 Deprecations =head2 Module removals -XXX Remove this section if not applicable. - 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 @@ -92,357 +60,335 @@ not usually on concerns over their design. =over -=item XXX +=item B::Debug -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. +B::Debug is no longer shipped with Perl, you can still install it from CPAN. =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. +=head1 Modules and Pragmata -[ List each enhancement as an =item entry ] +=head2 Updated Modules and Pragmata =over 4 =item * -XXX +L<B> has been upgraded from version 1.77 to 1.78. -=back +=item * -=head1 Modules and Pragmata +L<B::Deparse> has been upgraded from version 1.51 to 1.52. -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. +=item * -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.) +L<Compress::Raw::Bzip2> has been upgraded from version 2.090 to 2.093. -[ Within each section, list entries as an =item entry ] +=item * -=head2 New Modules and Pragmata +L<Compress::Raw::Zlib> has been upgraded from version 2.090 to 2.093. -=over 4 +=item * + +L<CPAN> now points to version 2.27 instead of version 2.27-TRIAL2. =item * -XXX Remove this section if not applicable. +L<Devel::PPPort> has been upgraded from version 3.55 to 3.56. -=back +=item * -=head2 Updated Modules and Pragmata +L<English> has been upgraded from version 1.10 to 1.11. -=over 4 +=item * + +L<ExtUtils::MakeMaker> has been upgraded from version 7.38 to 7.42. =item * -L<Net::Ping> has been upgraded from version 2.71 to 2.72. +L<feature> has been upgraded from version 1.56 to 1.57. + +=item * -If there was something important to note about this change, include that here. +L<File::stat> has been upgraded from version 1.08 to 1.09. =item * -L<English> has been upgraded from version 1.10 to 1.11. +L<Filter::Simple> has been upgraded from version 0.95 to 0.96. =item * -L<Test::Simple> has been upgraded from version 1.302169 to 1.302170. +L<FindBin> is now a dual-life module. -=back +=item * -=head2 Removed Modules and Pragmata +L<IO::Compress> has been upgraded from version 2.090 to 2.093. -=over 4 +=item * + +L<Module::CoreList> has been upgraded from version 5.20191120 to 5.20191220. =item * -XXX +L<Net::Ping> has been upgraded from version 2.71 to 2.72. -=back +=item * -=head1 Documentation +L<Opcode> has been upgraded from version 1.44 to 1.45. -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>. +=item * -=head2 New Documentation +L<Storable> has been upgraded from version 3.17 to 3.18. -XXX Changes which create B<new> files in F<pod/> go here. +fix to disallow vstring magic strings over 2GB. -=head3 L<XXX> +=item * -XXX Description of the purpose of the new file here +L<Test::Simple> has been upgraded from version 1.302169 to 1.302170. -=head2 Changes to Existing Documentation +=item * -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<perlbug@perl.org|mailto:perlbug@perl.org>. +L<Tie::Hash::NamedCapture> has been upgraded from version 0.11 to 0.13. -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. +=item * -Additionally, the following selected changes have been made: +L<VMS::Stdio> has been upgraded from version 2.44 to 2.45. -=head3 L<XXX> +=item * -=over 4 +L<warnings> has been upgraded from version 1.45 to 1.46. =item * -XXX Description of the change here +L<XS::APItest> has been upgraded from version 1.04 to 1.05. =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>. +=head1 Documentation -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 Changes to Existing Documentation -=head2 New Diagnostics +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<perlbug@perl.org|mailto:perlbug@perl.org>. -XXX Newly added diagnostic messages go under here, separated into New Errors -and New Warnings +Additionally, the following selected changes have been made: -=head3 New Errors +=head3 L<perldebguts> =over 4 -=item * +=item Simplify a couple regnode definitions + +Update BOUND and NBOUND definitions. + +=item Add ANYOFHs regnode -XXX L<message|perldiag/"message"> +This node is like ANYOFHb, but is used when more than one leading byte +is the same in all the matched code points. + +ANYOFHb is used to avoid having to convert from UTF-8 to code point for +something that won't match. It checks that the first byte in the UTF-8 +encoded target is the desired one, thus ruling out most of the possible +code points. =back -=head3 New Warnings +=head3 L<perldiag> =over 4 -=item * +=item Add documentation for experimental 'isa' operator -XXX L<message|perldiag/"message"> +(S experimental::isa) This warning is emitted if you use the (C<isa>) +operator. This operator is currently experimental and its behaviour may +change in future releases of Perl. =back -=head2 Changes to Existing Diagnostics - -XXX Changes (i.e. rewording) of diagnostic messages go here +=head3 L<perlfunc> =over 4 -=item * +=item caller -XXX Describe change here +Like L<C<__FILE__>|/__FILE__> and L<C<__LINE__>|/__LINE__>, the filename and +line number returned here may be altered by the mechanism described at +L<perlsyn/"Plain Old Comments (Not!)">. -=back +=item __FILE__ -=head1 Utility Changes +It can be altered by the mechanism described at +L<perlsyn/"Plain Old Comments (Not!)">. -XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here. -Most of these are built within the directory F<utils>. +=item __LINE__ -[ 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. ] +It can be altered by the mechanism described at +L<perlsyn/"Plain Old Comments (Not!)">. -=head2 L<XXX> +=item return -=over 4 +Mention that you cannot return from do BLOCK -=item * +=back -XXX +=head3 L<perlguts> -=back +=over 4 -=head1 Configuration and Compilation +=item Update documentation for UTF8f -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. +=item Add missing '=for apidoc' lines -[ List changes as an =item entry ]. +=back -=over 4 +=head3 L<perlhacktips> -=item * +=over 4 -XXX +=item Perl strings are NOT the same as C strings =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. +=head3 L<perlop> -XXX If there were no significant test changes, say this: +=over 4 -Tests were added and changed to reflect the other additions and changes -in this release. +=item 'isa' operator is experimental -XXX If instead there were significant changes, say this: +This is an experimental feature and is available from Perl 5.31.6 when enabled +by C<use feature 'isa'>. It emits a warning in the C<experimental::isa> +category. -Tests were added and changed to reflect the other additions and -changes in this release. Furthermore, these significant changes were -made: +=back -[ List each test improvement as an =item entry ] +=head3 L<perlreref> =over 4 -=item * - -XXX +=item Fix some typos. =back -=head1 Platform Support +=head3 L<perlvar> -XXX Any changes to platform support should be listed in the sections below. +=over 4 -[ Within the sections, list each platform as an =item entry with specific -changes as paragraphs below it. ] +=item Remove ${^FEATURE_BITS}. -=head2 New Platforms +=back -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. +=head1 Utility Changes -=over 4 +=head2 L<perlbug> -=item XXX-some-platform +=over 4 -XXX +=item Adjust bug tracker homepage url to point to GitHub. =back -=head2 Discontinued Platforms +=head1 Configuration and Compilation -XXX List any platforms that this version of perl no longer compiles on. +=head2 F<Configure> =over 4 -=item XXX-some-platform +=item Check if the compiler can handle inline attribute. -XXX +=item Check for character data alignment. =back -=head2 Platform-Specific Notes +=head1 Testing -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. +Tests were added and changed to reflect the other additions and +changes in this release. Furthermore, these significant changes were +made: =over 4 -=item XXX-some-platform +=item t/charset_tools.pl -XXX +Avoid some work on ASCII platforms -=item Solaris +=item t/re/regexp.t -C<Configure> will now find recent versions of the Oracle Developer Studio -compiler, which are found under C</opt/developerstudio*>. +Speed up many regex tests on ASCII platform -=back +=item t/re/pat.t + +Skip tests that don't work on EBCDIC -=head1 Internal Changes +=back -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. +=head1 Platform Support -[ List each change as an =item entry ] +=head2 Platform-Specific Notes =over 4 -=item * +=item Solaris -XXX +C<Configure> will now find recent versions of the Oracle Developer Studio +compiler, which are found under C</opt/developerstudio*>. =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 * +=item Fix MYMALLOC (PERL_MALLOC) build on Windows -Updates to C<cop_features> are now handled by magic on C<%^H> rather -than by F<feature.pm> updating C<${^FEATURE_BITS}>, which has been -removed. This allows perl code to save and restore the contents of -C<%^H> without also having to manage C<${^FEATURE_BITS}>. [#17337] +=item \p{user-defined} overrides official Unicode [L<GH #17025|https://github.com/Perl/perl5/issues/17025>] -=back +Prior to this patch, they only sometimes overrode. -=head1 Known Problems +=item Regular Expressions -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. +Properly handle filled /il regnodes and multi-char folds -[ List each fix as an =item entry ] +=item Compilation error during make minitest [L<GH #17293|https://github.com/Perl/perl5/issues/17293>] -=over 4 +move the implementation of %-, %+ into core -=item * +=item read beyond buffer in grok_inf_nan [L<GH #17370|https://github.com/Perl/perl5/issues/17370>] -XXX +=item Workaround glibc bug with LC_MESSAGES [L<GH #17081|https://github.com/Perl/perl5/issues/17081>] =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.31.7 represents approximately 4 weeks of development since Perl +5.31.6 and contains approximately 9,300 lines of changes across 450 files +from 22 authors. -=back +Excluding auto-generated files, documentation and release tools, there were +approximately 5,200 lines of changes to 280 .pm, .t, .c and .h files. -=head1 Obituary +Perl continues to flourish into its fourth decade thanks to a vibrant +community of users and developers. The following people are known to have +contributed the improvements that became Perl 5.31.7: -XXX If any significant core contributor or member of the CPAN community has -died, add a short obituary here. +Ask Bjørn Hansen, brian d foy, Bryan Stenson, Chad Granum, Chris 'BinGOs' +Williams, Dan Book, David Mitchell, Felipe Gasper, James E Keenan, Karl +Williamson, Matthew Horsfall, Max Maischein, Nicolas R., Pali, Paul Evans, +Ricardo Signes, Sawyer X, Stefan Seifert, Steve Hay, Tomasz Konojacki, Tony +Cook, Vitali Peil. -=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.31.6..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 diff --git a/pod/perlhist.pod b/pod/perlhist.pod index c9c03b67d1..fc8c1a9e5b 100644 --- a/pod/perlhist.pod +++ b/pod/perlhist.pod @@ -679,6 +679,7 @@ the strings?). Max M 5.31.4 2019-Sep-20 Steve 5.31.5 2019-Oct-20 BinGOs 5.31.6 2019-Nov-20 + Nicolas R 5.31.7 2019-Dec-20 =head2 SELECTED RELEASE SIZES |