diff options
author | Todd Rinaldo <toddr@cpan.org> | 2021-04-20 12:26:35 -0500 |
---|---|---|
committer | Todd Rinaldo <toddr@cpan.org> | 2021-04-20 12:26:35 -0500 |
commit | c73a52d904fdf00b7517a3ccc61e387a8cab9b22 (patch) | |
tree | 1683925f479ac85b9b2ba765df5b7f2853011296 | |
parent | 6e97aec4164ae1002bc4f372ad76aeb08e769b12 (diff) | |
download | perl-c73a52d904fdf00b7517a3ccc61e387a8cab9b22.tar.gz |
Perldelta for 5.33.9
-rw-r--r-- | pod/perldelta.pod | 341 |
1 files changed, 63 insertions, 278 deletions
diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 9152c479b9..a1efc33155 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.33.9 =head1 DESCRIPTION @@ -15,134 +12,44 @@ release. If you are upgrading from an earlier release such as 5.33.7, first read L<perl5338delta>, which describes differences between 5.33.7 and 5.33.8. -=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 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 -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. +=head1 Modules and Pragmata -[ List each enhancement as an =item entry ] +=head2 Updated Modules and Pragmata =over 4 =item * -XXX - -=back - -=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. +L<perlfaq> has been upgraded from version 5.20201107 to 5.20210411. -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.) +- Added entry to faq4 for equivalent to ruby #{}, python fstring -[ Within each section, list entries as an =item entry ] +=item * -=head2 New Modules and Pragmata +L<ExtUtils::MakeMaker> has been upgraded from version 7.60 to 7.62 -=over 4 +- Now using shellwords in ExtUtils::Liblist::Kid::_unix_os2_ext =item * -XXX Remove this section if not applicable. +L<NEXT> has been upgraded from version 0.67 to 0.68 -=back - -=head2 Updated Modules and Pragmata - -=over 4 +- This aligns NEXT with changes already shipped with Perl as well as improving the test suite. =item * -L<XXX> has been upgraded from version A.xx to B.yy. +L<ExtUtils::ParseXS> has been upgraded from version 3.42 to 3.43 -If there was something important to note about this change, include that here. +- Emphasize SvPVbyte and SvPVutf8 over SvPV in docs. Also includes minor output changes to clarify failure conditions. =back -=head2 Removed Modules and Pragmata +=head1 Documentation =over 4 =item * -XXX - -=back - -=head1 Documentation - L<perlguts> now explains in greater detail the need to consult SvUTF8 when calling SvPV (or variants). A new "How do I pass a Perl string to a C library?" section in the same document discusses when to use which style of @@ -151,33 +58,28 @@ macro to read an SV's string value. L<perlapi>, L<perlguts>, L<perlxs>, and L<perlxstut> now prefer SvPVbyte over SvPV. -=head2 New Documentation +=item * -XXX Changes which create B<new> files in F<pod/> go here. +References to B<Pumpking> have been replaced with a more accurate term or B<Steering Council> where appropriate. -=head3 L<XXX> +=item * -XXX Description of the purpose of the new file here +L<perldiag> now documents additional examples of "not imported" warnings. -=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, open an issue -at L<https://github.com/Perl/perl5/issues>. +B<The Perl Steering Council> is now the fallback contact for security issues. -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: +Simplify the split() documentation by removing the join()s from the examples (#18676) -=head3 L<XXX> +Remove join() from split() examples as it confuses the concepts -=over 4 - -=item * - -XXX Description of the change here +split() is a very basic function, and the documentation should be +simple for novinces. The split() documentation contains a lot of join() +in the examples which only serve to muddle the concepts. This replaces +the join() in the example with output in comments. =back @@ -187,24 +89,8 @@ 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 @@ -218,124 +104,32 @@ provoke this warning. =back -=head2 Changes to Existing Diagnostics - -XXX Changes (i.e. rewording) of diagnostic messages go here +=head1 Configuration and Compilation =over 4 =item * -XXX Describe change here - -=back - -=head1 Utility Changes - -XXX Changes to installed programs such as F<perldoc> 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> +Prevented incpath to spill into libpth =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. +=item - Use realpath if available. -[ List changes as an =item entry ]. +=item - This might catch more duplicate paths. -=over 4 +=item - Only include real existing paths. -=item * - -XXX +=item - Filter inc paths out of libpth. =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 Windows @@ -349,12 +143,6 @@ problem has been implemented. =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 * @@ -383,14 +171,18 @@ resulting in undefined behaviour. These functions now correctly accept doubles, long doubles and NVs. -=back +=item * -=head1 Selected Bug Fixes +Previously the right operand of bitwise shift operators (shift amount) +was implicitly cast from IV to int, but it might lead wrong results +if IV does not fit in int. + +And also, shifting INT_MIN bits used to yield the shiftee unchanged +(treated as 0-bit shift instead of negative shift). -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>. +=back -[ List each fix as an =item entry ] +=head1 Selected Bug Fixes =over 4 @@ -403,43 +195,36 @@ if that fails then warn and use the utf8 form. =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.33.9 represents approximately 4 weeks of development since Perl +5.33.8 and contains approximately 3,900 lines of changes across 190 files +from 23 authors. -=back +Excluding auto-generated files, documentation and release tools, there were +approximately 780 lines of changes to 82 .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.33.9: -XXX If any significant core contributor or member of the CPAN community has -died, add a short obituary here. +Dan Book, Dominic Hamon, E. Choroba, Ed J, Felipe Gasper, H.Merijn Brand, +Hugo van der Sanden, James E Keenan, John Lightsey, Karen Etheridge, Karl +Williamson, Marc Reisner, Max Maischein, Nicolas R., Paul Evans, Ricardo +Signes, Richard Leach, Scott Baker, TAKAI Kousuke, Todd Rinaldo, Tomasz +Konojacki, Tony Cook, Михаил Козачков. -=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.33.8..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 |