diff --git a/MANIFEST b/MANIFEST index e62ffb5c73..5602046830 100644 --- a/MANIFEST +++ b/MANIFEST @@ -5751,6 +5751,7 @@ pod/perl5415delta.pod Perl changes in version 5.41.5 pod/perl5416delta.pod Perl changes in version 5.41.6 pod/perl5417delta.pod Perl changes in version 5.41.7 pod/perl5418delta.pod Perl changes in version 5.41.8 +pod/perl5419delta.pod Perl changes in version 5.41.9 pod/perl561delta.pod Perl changes in version 5.6.1 pod/perl56delta.pod Perl changes in version 5.6 pod/perl581delta.pod Perl changes in version 5.8.1 diff --git a/Makefile.SH b/Makefile.SH index 58f5660a05..edf8777baa 100755 --- a/Makefile.SH +++ b/Makefile.SH @@ -627,7 +627,7 @@ esac $spitshell >>$Makefile <<'!NO!SUBS!' -perltoc_pod_prereqs = extra.pods pod/perl5419delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod +perltoc_pod_prereqs = extra.pods pod/perl54110delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod generated_pods = pod/perltoc.pod $(perltoc_pod_prereqs) generated_headers = uudmap.h bitcount.h mg_data.h @@ -1136,9 +1136,9 @@ pod/perlintern.pod: $(MINIPERL_EXE) autodoc.pl embed.fnc pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST $(MINIPERL) pod/perlmodlib.PL -q -pod/perl5419delta.pod: pod/perldelta.pod - $(RMS) pod/perl5419delta.pod - $(LNS) perldelta.pod pod/perl5419delta.pod +pod/perl54110delta.pod: pod/perldelta.pod + $(RMS) pod/perl54110delta.pod + $(LNS) perldelta.pod pod/perl54110delta.pod extra.pods: $(MINIPERL_EXE) -@test ! -f extra.pods || rm -f `cat extra.pods` diff --git a/pod/.gitignore b/pod/.gitignore index 9602e5fee7..f93575fcd1 100644 --- a/pod/.gitignore +++ b/pod/.gitignore @@ -47,7 +47,7 @@ /roffitall # generated -/perl5419delta.pod +/perl54110delta.pod /perlapi.pod /perlintern.pod /perlmodlib.pod diff --git a/pod/perl.pod b/pod/perl.pod index 0be1a90a1f..5b44cde593 100644 --- a/pod/perl.pod +++ b/pod/perl.pod @@ -181,6 +181,7 @@ aux h2ph h2xs perlbug pl2pm pod2html pod2man splain xsubpp perlhist Perl history records perldelta Perl changes since previous version + perl5419delta Perl changes in version 5.41.9 perl5418delta Perl changes in version 5.41.8 perl5417delta Perl changes in version 5.41.7 perl5416delta Perl changes in version 5.41.6 diff --git a/pod/perl5419delta.pod b/pod/perl5419delta.pod new file mode 100644 index 0000000000..66aa791e4a --- /dev/null +++ b/pod/perl5419delta.pod @@ -0,0 +1,340 @@ +=encoding utf8 + +=head1 NAME + +perl5419delta - what is new for perl v5.41.9 + +=head1 DESCRIPTION + +This document describes differences between the 5.41.8 release and the 5.41.9 +release. + +If you are upgrading from an earlier release such as 5.41.7, first read +L, which describes differences between 5.41.7 and 5.41.8. + +=head1 Core Enhancements + +=head2 Lexical method declaration using C + +Like C since Perl version 5.18, C can now be prefixed with the +C keyword. This declares a subroutine that has lexical, rather than +package visibility. See L for more detail. + +=head2 Lexical method invocation operator C<< ->& >> + +Along with the ability to declare methods lexically, this release also permits +invoking a lexical subroutine as if it were a method, bypassing the usual +name-based method resolution by name. + +Combined with lexical method declaration, these two new abilities create the +effect of having private methods. + +=head1 Incompatible Changes + +=head2 Switch and Smart Match operator reinstated + +The "switch" feature and the smartmatch operator, C<~~>, were introduced in +v5.10. Their behavior was significantly changed in v5.10.1. When the +"experiment" system was added in v5.18.0, switch and smartmatch were +retroactively declared experimental. Over the years, proposals to fix or +supplement the features have come and gone. + +They were deprecated in Perl v5.38.0 and scheduled for removal in Perl +5.42.0, and entirely removed in Perl 5.41.3. + +After some discussion these have been re-instated. + +Using them no longer produces a deprecation warning. + +Switch itself still requires the C feature, which is enabled +by default for feature bundles from v5.9.5 through to v5.34. Switch +remains disabled in feature bundles 5.35 and later, but can be +separately enabled: + + # no switch here + use v5.10; + # switch here + use v5.36; + # no switch here + use feature "switch"; + # switch here + +Smart match now requires the C feature, which is enabled +by default and included in all feature bundles up to 5.40. It is +disabled for the 5.41 feature bundle and later, but can be separately +enabled: + + # smartmatch here + use v5.41; + # no smartmatch here + use feature "smartmatch"; + # smartmatch here + +[L] + +=head1 Performance Enhancements + +=over 4 + +=item * + +The stringification of integers by L and L, +when coming from an C, is now more efficient. +[L] + +=item * + +Subroutines in packages no longer need to be stored in typeglobs: +declaring a subroutine will now put a simple sub reference directly in the +stash if possible, saving memory. The typeglob still notionally exists, +so accessing it will cause the stash entry to be upgraded to a typeglob +(i.e. this is just an internal implementation detail). +This optimization does not currently apply to XSUBs or exported +subroutines, and method calls will undo it, since they cache things in +typeglobs. +[L] + +(This optimization was originally announced in L, but due to a +bug it only worked for subroutines in package C
, not in modules.) + +=back + +=head1 Modules and Pragmata + +=head2 Updated Modules and Pragmata + +=over 4 + +=item * + +L has been upgraded from version 1.82 to 1.83. + +=item * + +L has been upgraded from version 5.78 to 5.79. + +=item * + +L has been upgraded from version 1.93 to 1.94. + +=item * + +L has been upgraded from version 2.003003 to 2.003004. + +=item * + +L has been upgraded from version 5.20250120 to 5.20250220. + +=item * + +L has been upgraded from version 1.19 to 1.20. + +=item * + +L has been upgraded from version 1.68 to 1.69. + +=item * + +L has been upgraded from version 1.39 to 1.40. + +=item * + +L has been upgraded from version 2.47 to 2.46. + +=item * + +L has been upgraded from version 1.302207 to 1.302209. + +=item * + +L has been upgraded from version 0.78 to 0.79. + +=item * + +L has been upgraded from version 1.72 to 1.73. + +=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. + +=head2 New Diagnostics + +=head3 New Errors + +=over 4 + +=item * + +L + +(F) The subroutine indicated hasn't been defined, or if it was, it has +since been undefined. + +This error could also indicate a mistyped package separator, when a +single colon was typed instead of two colons. For example, C +would be parsed as the label C followed by an unqualified function +name: C. [L] + +=back + +=head2 Changes to Existing Diagnostics + +=over 4 + +=item * + +L + +This warning no longer triggers for code like C, i.e. where double +negation (C) is used as a convert-to-boolean operator. +[L] + +=item * + +L + +This warning now triggers for use of a chained comparison like C<< 0 < $x < 1 >>. +[L] + +=back + +=head1 Internal Changes + +=over 4 + +=item * + +Two new API functions are introduced to convert strings encoded in +native bytes format to UTF-8. These return the string unchanged if its +UTF-8 representation is the same as the original. Otherwise, new memory +is allocated to contain the converted string. This is in contrast to +the existing L> which always allocates new +memory. The new functions are L> and +L>. +L> arranges for the new memory to +automatically be freed. With C, you are +responsible for freeing any newly allocated memory. + +=item * + +The way that subroutine signatures are parsed by the parser grammar has been +changed. + +Previously, when parsing individual signature parameters, the parser would +accumulate an C optree fragment for each parameter on the parser +stack, collecting them in an C sequence, before finally building the +complete argument handling optree itself, in a large action block defined +directly in F. + +In the new approach, all the optree generation is handled by newly-defined +functions in F which are called by the action blocks in the parser. +These do not keep state on the parser stack, but instead in a dedicated memory +structure referenced by the main C structure. This is intended to +be largely opaque to other code, and accessed only via the new functions. + +This new arrangement is intended to allow more flexible code generation and +additional features to be developed in future. + +=back + +=head1 Selected Bug Fixes + +=over 4 + +=item * + +The C<$SIG{__DIE__}> and C<$SIG{__WARN__}> handlers can no longer be invoked +recursively, either deliberately or by accident, as described in +L. That is, when an exception (or warning) triggers a call to a +C<$SIG{__DIE__}> (or C<$SIG{__WARN__}>) handler, further exceptions (or +warnings) are processed directly, ignoring C<%SIG> until the original +C<$SIG{__DIE__}> (or C<$SIG{__WARN__}>) handler call returns. +[L], [L], [L] + +=item * + +The C for an object and C for the +object's stash weren't always NULL or not-NULL, confusing C +(and hence Devel::Peek's C) into crashing on an object with no +defined fields in some cases. [L] + +=item * + +When comparing strings when using a UTF-8 locale, the behavior was +previously undefined if either or both contained an above-Unicode code +point, such as 0x110000. Now all such code points will collate the same +as the highest Unicode code point, U+10FFFF. [L] + +=back + +=head1 Acknowledgements + +Perl 5.41.9 represents approximately 5 weeks of development since Perl +5.41.8 and contains approximately 17,000 lines of changes across 380 files +from 23 authors. + +Excluding auto-generated files, documentation and release tools, there were +approximately 9,700 lines of changes to 300 .pm, .t, .c and .h files. + +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.41.9: + +Andrew Ruthven, Antanas Vaitkus, Aristotle Pagaltzis, Chris 'BinGOs' +Williams, Dan Book, Dan Jacobson, David Mitchell, Eric Herman, hbmaclean, +James E Keenan, Karl Williamson, Leon Timmermans, Lukas Mai, Paul Evans, +Peter John Acklam, Reini Urban, Richard Leach, Scott Baker, Steve Hay, TAKAI +Kousuke, Thibault Duponchelle, Tony Cook, Yves Orton. + +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. + +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. + +For a more complete list of all of Perl's historical contributors, please +see the F file in the Perl source distribution. + +=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. + +If you believe you have an unreported bug, please open an issue at +L. Be sure to trim your bug down to a +tiny but sufficient test case. + +If the bug you are reporting has security implications which make it +inappropriate to send to a public issue tracker, then see +L +for details of how to report the issue. + +=head1 Give Thanks + +If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, +you can do so by running the C program: + + perlthanks + +This will send an email to the Perl 5 Porters list with your show of thanks. + +=head1 SEE ALSO + +The F file for an explanation of how to view exhaustive details on +what changed. + +The F file for how to build Perl. + +The F file for general stuff. + +The F and F files for copyright information. + +=cut diff --git a/pod/perldelta.pod b/pod/perldelta.pod index ef65cfe3c7..8d9e60b31d 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -2,156 +2,177 @@ =head1 NAME -perldelta - what is new for perl v5.41.9 +[ 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.41.10 =head1 DESCRIPTION -This document describes differences between the 5.41.8 release and the 5.41.9 +This document describes differences between the 5.41.9 release and the 5.41.10 release. -If you are upgrading from an earlier release such as 5.41.7, first read -L, which describes differences between 5.41.7 and 5.41.8. +If you are upgrading from an earlier release such as 5.41.8, first read +L, which describes differences between 5.41.8 and 5.41.9. + +=head1 Notice + +XXX Any important notices here =head1 Core Enhancements -=head2 Lexical method declaration using C +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 section. -Like C since Perl version 5.18, C can now be prefixed with the -C keyword. This declares a subroutine that has lexical, rather than -package visibility. See L for more detail. +[ List each enhancement as a =head2 entry ] -=head2 Lexical method invocation operator C<< ->& >> +=head1 Security -Along with the ability to declare methods lexically, this release also permits -invoking a lexical subroutine as if it were a method, bypassing the usual -name-based method resolution by name. +XXX Any security-related notices go here. In particular, any security +vulnerabilities closed should be noted here rather than in the +L section. -Combined with lexical method declaration, these two new abilities create the -effect of having private methods. +[ List each security issue as a =head2 entry ] =head1 Incompatible Changes -=head2 Switch and Smart Match operator reinstated +XXX For a release on a stable branch, this section aspires to be: -The "switch" feature and the smartmatch operator, C<~~>, were introduced in -v5.10. Their behavior was significantly changed in v5.10.1. When the -"experiment" system was added in v5.18.0, switch and smartmatch were -retroactively declared experimental. Over the years, proposals to fix or -supplement the features have come and gone. + 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 below. -They were deprecated in Perl v5.38.0 and scheduled for removal in Perl -5.42.0, and entirely removed in Perl 5.41.3. +[ List each incompatible change as a =head2 entry ] -After some discussion these have been re-instated. +=head1 Deprecations -Using them no longer produces a deprecation warning. +XXX Any deprecated features, syntax, modules etc. should be listed here. -Switch itself still requires the C feature, which is enabled -by default for feature bundles from v5.9.5 through to v5.34. Switch -remains disabled in feature bundles 5.35 and later, but can be -separately enabled: +=head2 Module removals - # no switch here - use v5.10; - # switch here - use v5.36; - # no switch here - use feature "switch"; - # switch here +XXX Remove this section if not applicable. -Smart match now requires the C feature, which is enabled -by default and included in all feature bundles up to 5.40. It is -disabled for the 5.41 feature bundle and later, but can be separately -enabled: +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. - # smartmatch here - use v5.41; - # no smartmatch here - use feature "smartmatch"; - # smartmatch here +The core versions of these modules will now issue C-category +warnings to alert you to this fact. To silence these deprecation warnings, +install the modules in question from CPAN. -[L] +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 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. + +[ List each enhancement as an =item entry ] + =over 4 =item * -The stringification of integers by L and L, -when coming from an C, is now more efficient. -[L] - -=item * - -Subroutines in packages no longer need to be stored in typeglobs: -declaring a subroutine will now put a simple sub reference directly in the -stash if possible, saving memory. The typeglob still notionally exists, -so accessing it will cause the stash entry to be upgraded to a typeglob -(i.e. this is just an internal implementation detail). -This optimization does not currently apply to XSUBs or exported -subroutines, and method calls will undo it, since they cache things in -typeglobs. -[L] - -(This optimization was originally announced in L, but due to a -bug it only worked for subroutines in package C
, not in modules.) +XXX =back =head1 Modules and Pragmata +XXX All changes to installed files in F, F, F and F +go here. If L 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. + +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.) + +[ Within each section, list entries as an =item entry ] + +=head2 New Modules and Pragmata + +=over 4 + +=item * + +XXX Remove this section if F did not add any content here. + +=back + =head2 Updated Modules and Pragmata =over 4 =item * -L has been upgraded from version 1.82 to 1.83. +L has been upgraded from version A.xx to B.yy. + +XXX If there was something important to note about this change, include that here. + +=back + +=head2 Removed Modules and Pragmata + +=over 4 =item * -L has been upgraded from version 5.78 to 5.79. +XXX Remove this section if F did not add any content here. + +=back + +=head1 Documentation + +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. + +=head2 New Documentation + +XXX Changes which create B files in F go here. + +=head3 L + +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, open an issue +at 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 + +=over 4 =item * -L has been upgraded from version 1.93 to 1.94. - -=item * - -L has been upgraded from version 2.003003 to 2.003004. - -=item * - -L has been upgraded from version 5.20250120 to 5.20250220. - -=item * - -L has been upgraded from version 1.19 to 1.20. - -=item * - -L has been upgraded from version 1.68 to 1.69. - -=item * - -L has been upgraded from version 1.39 to 1.40. - -=item * - -L has been upgraded from version 2.47 to 2.46. - -=item * - -L has been upgraded from version 1.302207 to 1.302209. - -=item * - -L has been upgraded from version 0.78 to 0.79. - -=item * - -L has been upgraded from version 1.72 to 1.73. +XXX Description of the change here =back @@ -161,146 +182,231 @@ 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 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. + =head2 New Diagnostics +XXX Newly added diagnostic messages go under here, separated into L +and L + =head3 New Errors =over 4 =item * -L +XXX L -(F) The subroutine indicated hasn't been defined, or if it was, it has -since been undefined. +=back -This error could also indicate a mistyped package separator, when a -single colon was typed instead of two colons. For example, C -would be parsed as the label C followed by an unqualified function -name: C. [L] +=head3 New Warnings + +=over 4 + +=item * + +XXX L =back =head2 Changes to Existing Diagnostics +XXX Changes (i.e. rewording) of diagnostic messages go here + =over 4 =item * -L +XXX Describe change here -This warning no longer triggers for code like C, i.e. where double -negation (C) is used as a convert-to-boolean operator. -[L] +=back + +=head1 Utility Changes + +XXX Changes to installed programs such as F and F go here. +Most of these are built within the directory F. + +[ List utility changes as a =head2 entry for each utility and =item +entries for each change +Use F with program names to get proper documentation linking. ] + +=head2 F + +=over 4 =item * -L +XXX -This warning now triggers for use of a chained comparison like C<< 0 < $x < 1 >>. -[L] +=back + +=head1 Configuration and Compilation + +XXX Changes to F, F, F, 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 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 files in F go here as do any +large changes to the testing harness (e.g. when parallel testing was added). +Changes to existing files in F 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 +directories, or new subdirectories and F 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 section. + +=over 4 + +=item XXX-some-platform + +XXX =back =head1 Internal Changes +XXX Changes which affect the interface available to C 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 * -Two new API functions are introduced to convert strings encoded in -native bytes format to UTF-8. These return the string unchanged if its -UTF-8 representation is the same as the original. Otherwise, new memory -is allocated to contain the converted string. This is in contrast to -the existing L> which always allocates new -memory. The new functions are L> and -L>. -L> arranges for the new memory to -automatically be freed. With C, you are -responsible for freeing any newly allocated memory. - -=item * - -The way that subroutine signatures are parsed by the parser grammar has been -changed. - -Previously, when parsing individual signature parameters, the parser would -accumulate an C optree fragment for each parameter on the parser -stack, collecting them in an C sequence, before finally building the -complete argument handling optree itself, in a large action block defined -directly in F. - -In the new approach, all the optree generation is handled by newly-defined -functions in F which are called by the action blocks in the parser. -These do not keep state on the parser stack, but instead in a dedicated memory -structure referenced by the main C structure. This is intended to -be largely opaque to other code, and accessed only via the new functions. - -This new arrangement is intended to allow more flexible code generation and -additional features to be developed in future. +XXX =back =head1 Selected Bug Fixes +XXX Important bug fixes in the core language are summarized here. Bug fixes in +files in F and F are best summarized in L. + +XXX Include references to GitHub issues and PRs as: [GH #12345] and the release +manager will later use a regex to expand these into links. + +[ List each fix as an =item entry ] + =over 4 =item * -The C<$SIG{__DIE__}> and C<$SIG{__WARN__}> handlers can no longer be invoked -recursively, either deliberately or by accident, as described in -L. That is, when an exception (or warning) triggers a call to a -C<$SIG{__DIE__}> (or C<$SIG{__WARN__}>) handler, further exceptions (or -warnings) are processed directly, ignoring C<%SIG> until the original -C<$SIG{__DIE__}> (or C<$SIG{__WARN__}>) handler call returns. -[L], [L], [L] - -=item * - -The C for an object and C for the -object's stash weren't always NULL or not-NULL, confusing C -(and hence Devel::Peek's C) into crashing on an object with no -defined fields in some cases. [L] - -=item * - -When comparing strings when using a UTF-8 locale, the behavior was -previously undefined if either or both contained an above-Unicode code -point, such as 0x110000. Now all such code points will collate the same -as the highest Unicode code point, U+10FFFF. [L] +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 Ced 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 * + +XXX Add anything here that we forgot to add, or were mistaken about, in +the F of a previous release. + +=back + +=head1 Obituary + +XXX If any significant core contributor or member of the CPAN community has +died, add a short obituary here. + =head1 Acknowledgements -Perl 5.41.9 represents approximately 5 weeks of development since Perl -5.41.8 and contains approximately 17,000 lines of changes across 380 files -from 23 authors. +XXX Generate this with: -Excluding auto-generated files, documentation and release tools, there were -approximately 9,700 lines of changes to 300 .pm, .t, .c and .h files. - -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.41.9: - -Andrew Ruthven, Antanas Vaitkus, Aristotle Pagaltzis, Chris 'BinGOs' -Williams, Dan Book, Dan Jacobson, David Mitchell, Eric Herman, hbmaclean, -James E Keenan, Karl Williamson, Leon Timmermans, Lukas Mai, Paul Evans, -Peter John Acklam, Reini Urban, Richard Leach, Scott Baker, Steve Hay, TAKAI -Kousuke, Thibault Duponchelle, Tony Cook, Yves Orton. - -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. - -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. - -For a more complete list of all of Perl's historical contributors, please -see the F file in the Perl source distribution. + perl Porting/acknowledgements.pl v5.41.9..HEAD =head1 Reporting Bugs diff --git a/vms/descrip_mms.template b/vms/descrip_mms.template index 027e160147..3186c4e22a 100644 --- a/vms/descrip_mms.template +++ b/vms/descrip_mms.template @@ -298,7 +298,7 @@ utils : $(utils1) $(utils2) $(utils3) $(utils4) $(utils5) extra.pods : miniperl @ @extra_pods.com -PERLDELTA_CURRENT = [.pod]perl5419delta.pod +PERLDELTA_CURRENT = [.pod]perl54110delta.pod $(PERLDELTA_CURRENT) : [.pod]perldelta.pod Copy/NoConfirm/Log $(MMS$SOURCE) $(PERLDELTA_CURRENT) diff --git a/win32/GNUmakefile b/win32/GNUmakefile index d4eeaaad22..05bc4911ff 100644 --- a/win32/GNUmakefile +++ b/win32/GNUmakefile @@ -1643,7 +1643,7 @@ utils: $(HAVEMINIPERL) ..\utils\Makefile copy ..\README.tw ..\pod\perltw.pod copy ..\README.vos ..\pod\perlvos.pod copy ..\README.win32 ..\pod\perlwin32.pod - copy ..\pod\perldelta.pod ..\pod\perl5419delta.pod + copy ..\pod\perldelta.pod ..\pod\perl54110delta.pod $(MINIPERL) -I..\lib $(PL2BAT) $(UTILS) $(MINIPERL) -I..\lib ..\autodoc.pl -c "win32\$(CONFIG_H)" .. $(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q .. @@ -1743,7 +1743,7 @@ distclean: realclean -if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API -if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS -cd $(PODDIR) && del /f *.html *.bat roffitall \ - perl5419delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ + perl54110delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ perlapi.pod perlbs2000.pod perlcn.pod perlcygwin.pod \ perlfreebsd.pod perlhaiku.pod perlhpux.pod perlhurd.pod \ perlintern.pod perlirix.pod perljp.pod perlko.pod perllinux.pod \ diff --git a/win32/Makefile b/win32/Makefile index 95f1c05f48..a7d459882b 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -1165,7 +1165,7 @@ utils: $(PERLEXE) ..\utils\Makefile copy ..\README.tw ..\pod\perltw.pod copy ..\README.vos ..\pod\perlvos.pod copy ..\README.win32 ..\pod\perlwin32.pod - copy ..\pod\perldelta.pod ..\pod\perl5419delta.pod + copy ..\pod\perldelta.pod ..\pod\perl54110delta.pod cd ..\win32 $(PERLEXE) $(PL2BAT) $(UTILS) $(MINIPERL) -I..\lib ..\autodoc.pl -c "win32\$(CONFIG_H)" .. @@ -1266,7 +1266,7 @@ distclean: realclean -if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API -if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS -cd $(PODDIR) && del /f *.html *.bat roffitall \ - perl5419delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ + perl54110delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ perlapi.pod perlbs2000.pod perlcn.pod perlcygwin.pod \ perlfreebsd.pod perlhaiku.pod perlhpux.pod perlhurd.pod \ perlintern.pod perlirix.pod perljp.pod perlko.pod perllinux.pod \ diff --git a/win32/pod.mak b/win32/pod.mak index 33bb7c4718..dd0699477a 100644 --- a/win32/pod.mak +++ b/win32/pod.mak @@ -79,6 +79,7 @@ POD = perl.pod \ perl5400delta.pod \ perl5401delta.pod \ perl5410delta.pod \ + perl54110delta.pod \ perl5411delta.pod \ perl5412delta.pod \ perl5413delta.pod \ @@ -267,6 +268,7 @@ MAN = perl.man \ perl5400delta.man \ perl5401delta.man \ perl5410delta.man \ + perl54110delta.man \ perl5411delta.man \ perl5412delta.man \ perl5413delta.man \ @@ -455,6 +457,7 @@ HTML = perl.html \ perl5400delta.html \ perl5401delta.html \ perl5410delta.html \ + perl54110delta.html \ perl5411delta.html \ perl5412delta.html \ perl5413delta.html \ @@ -643,6 +646,7 @@ TEX = perl.tex \ perl5400delta.tex \ perl5401delta.tex \ perl5410delta.tex \ + perl54110delta.tex \ perl5411delta.tex \ perl5412delta.tex \ perl5413delta.tex \