From ad44536e24e6b1ffe584afc9226e3923530da66c Mon Sep 17 00:00:00 2001 From: Ricardo Signes Date: Fri, 26 May 2023 10:02:50 -0400 Subject: [PATCH] perldelta: remove the v5.37 series deltas --- MANIFEST | 12 - pod/perl.pod | 12 - pod/perl5370delta.pod | 73 ----- pod/perl53710delta.pod | 568 ---------------------------------- pod/perl53711delta.pod | 199 ------------ pod/perl5371delta.pod | 462 ---------------------------- pod/perl5372delta.pod | 488 ------------------------------ pod/perl5373delta.pod | 275 ----------------- pod/perl5374delta.pod | 496 ------------------------------ pod/perl5375delta.pod | 238 --------------- pod/perl5376delta.pod | 276 ----------------- pod/perl5377delta.pod | 347 --------------------- pod/perl5378delta.pod | 229 -------------- pod/perl5379delta.pod | 672 ----------------------------------------- win32/pod.mak | 48 --- 15 files changed, 4395 deletions(-) delete mode 100644 pod/perl5370delta.pod delete mode 100644 pod/perl53710delta.pod delete mode 100644 pod/perl53711delta.pod delete mode 100644 pod/perl5371delta.pod delete mode 100644 pod/perl5372delta.pod delete mode 100644 pod/perl5373delta.pod delete mode 100644 pod/perl5374delta.pod delete mode 100644 pod/perl5375delta.pod delete mode 100644 pod/perl5376delta.pod delete mode 100644 pod/perl5377delta.pod delete mode 100644 pod/perl5378delta.pod delete mode 100644 pod/perl5379delta.pod diff --git a/MANIFEST b/MANIFEST index 87fcd44f949d..308a25761d09 100644 --- a/MANIFEST +++ b/MANIFEST @@ -5457,18 +5457,6 @@ pod/perl5340delta.pod Perl changes in version 5.34.0 pod/perl5341delta.pod Perl changes in version 5.34.1 pod/perl5360delta.pod Perl changes in version 5.36.0 pod/perl5361delta.pod Perl changes in version 5.36.1 -pod/perl5370delta.pod Perl changes in version 5.37.0 -pod/perl53710delta.pod Perl changes in version 5.37.10 -pod/perl53711delta.pod Perl changes in version 5.37.11 -pod/perl5371delta.pod Perl changes in version 5.37.1 -pod/perl5372delta.pod Perl changes in version 5.37.2 -pod/perl5373delta.pod Perl changes in version 5.37.3 -pod/perl5374delta.pod Perl changes in version 5.37.4 -pod/perl5375delta.pod Perl changes in version 5.37.5 -pod/perl5376delta.pod Perl changes in version 5.37.6 -pod/perl5377delta.pod Perl changes in version 5.37.7 -pod/perl5378delta.pod Perl changes in version 5.37.8 -pod/perl5379delta.pod Perl changes in version 5.37.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/pod/perl.pod b/pod/perl.pod index 558fbbd6c7db..8876e435ce20 100644 --- a/pod/perl.pod +++ b/pod/perl.pod @@ -181,18 +181,6 @@ aux h2ph h2xs perlbug pl2pm pod2html pod2man splain xsubpp perlhist Perl history records perldelta Perl changes since previous version - perl53711delta Perl changes in version 5.37.11 - perl53710delta Perl changes in version 5.37.10 - perl5379delta Perl changes in version 5.37.9 - perl5378delta Perl changes in version 5.37.8 - perl5377delta Perl changes in version 5.37.7 - perl5376delta Perl changes in version 5.37.6 - perl5375delta Perl changes in version 5.37.5 - perl5374delta Perl changes in version 5.37.4 - perl5373delta Perl changes in version 5.37.3 - perl5372delta Perl changes in version 5.37.2 - perl5371delta Perl changes in version 5.37.1 - perl5370delta Perl changes in version 5.37.0 perl5361delta Perl changes in version 5.36.1 perl5360delta Perl changes in version 5.36.0 perl5341delta Perl changes in version 5.34.1 diff --git a/pod/perl5370delta.pod b/pod/perl5370delta.pod deleted file mode 100644 index d47e58bc2b3a..000000000000 --- a/pod/perl5370delta.pod +++ /dev/null @@ -1,73 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5730delta - what is new for perl v5.37.0 - -=head1 DESCRIPTION - -This document describes differences between the 5.36.0 release and the 5.37.0 -release. - -=head1 Overview of Changes - -Nothing much changed. This release was made to re-open blead for general -development. - -=head1 Acknowledgements - -Perl 5.37.0 represents approximately 2 hours of development since Perl -5.36.0 and contains approximately 3,600 lines of changes across 37 files -from 1 author. - -Excluding auto-generated files, documentation and release tools, there were -approximately 61 lines of changes to 6 .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.37.0: - -Ricardo Signes. - -The "list" above is absurd. Almost all the required work was done by programs -written by previous release managers. They deserve the glory, here. - -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/perl53710delta.pod b/pod/perl53710delta.pod deleted file mode 100644 index 36f5c60c2130..000000000000 --- a/pod/perl53710delta.pod +++ /dev/null @@ -1,568 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl53710delta - what is new for perl v5.37.10 - -=head1 DESCRIPTION - -This document describes differences between the 5.37.9 release and the 5.37.10 -release. - -If you are upgrading from an earlier release such as 5.37.8, first read -L, which describes differences between 5.37.8 and 5.37.9. - -=head1 Core Enhancements - -=head2 Some Cs are now permitted in C and C blocks - -Perl version 5.36.0 added C blocks and permitted the C keyword -to also add similar behaviour to C/C syntax. These did not permit -any C expression within the body, as it could have caused control flow -to jump out of the block. Now, some C expressions are allowed, if they -have a constant target label, and that label is found within the block. - - use feature 'defer'; - - defer { - goto LABEL; - print "This does not execute\n"; - LABEL: print "This does\n"; - } - -=head2 New regexp variable ${^LAST_SUCCESSFUL_PATTERN} - -This allows access to the last succesful pattern that matched in the current scope. -Many aspects of the regex engine refer to the "last successful pattern". The empty -pattern reuses it, and all of the magic regex vars relate to it. This allows -access to its pattern. The following code - - if (m/foo/ || m/bar/) { - s//PQR/; - } - -can be rewritten as follows - - if (m/foo/ || m/bar/) { - s/${^LAST_SUCCESSFUL_PATTERN}/PQR/; - } - -and it will do the exactly same thing. - -=head2 Deprecation warnings now have specific subcategories - -As of 5.37.10 all deprecation warnings will have their own specific -deprecation category which can be disabled individually. You can see a -list of all deprecated features in L, and in -L. The following list is from L: - - +- deprecated ----+ - | | - | +- deprecated::apostrophe_as_package_separator - | | - | +- deprecated::delimiter_will_be_paired - | | - | +- deprecated::dot_in_inc - | | - | +- deprecated::goto_construct - | | - | +- deprecated::smartmatch - | | - | +- deprecated::unicode_property_name - | | - | +- deprecated::version_downgrade - -It is still possible to disable all deprecation warnings in a single -statement with - - no warnings 'deprecated'; - -but as of 5.37.10 it is possible to have a finer grained control. As -has historically been the case these warnings are automatically -enabled with - - use warnings; - -=head2 %{^HOOK} API introduced - -For various reasons it can be difficult to create subroutine wrappers -for some of perls keywords. Any keyword which has an undefined -prototype simply cannot be wrapped with a subroutine, and some keywords -which perl permits to be wrapped are in practice very tricky to wrap. -For example C is tricky to wrap, it is possible but doing so -changes the stack depth, and the standard methods of exporting assume -that they will be exporting to a package at certain stack depth up the -stack, and the wrapper will thus change where functions are exported to -unless implemented with a great deal of care. This can be very awkward -to deal with. - -Accordingly we have introduced a new hash called C<%{^HOOK}> which is -intended to facilitate such cases. When a keyword supports any kind of -special hook then the hook will live in this new hash. Hooks in this -hash will be named after the function they are called by, followed by -two underbars and then the phase they are executed in, currently either -before or after the keyword is executed. - -In this initial release we support two hooks C and -C. These are provided to make it easier to perform tasks -before and after a require statement. - -See L for more details. - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L has been upgraded from version 1.23 to 1.24. - -=item * - -L has been upgraded from version 0.67 to 0.68. - -=item * - -L has been upgraded from version 0.35 to 0.36. - -=item * - -L has been upgraded from version 2.187 to 2.188. - -=item * - -L has been upgraded from version 6.03 to 6.04. - -=item * - -L has been upgraded from version 1.05 to 1.06. - -=item * - -L has been upgraded from version 1.80 to 1.81. - -=item * - -L has been upgraded from version 3.88 to 3.89. - -=item * - -L has been upgraded from version 3.14 to 3.15. - -=item * - -L has been upgraded from version 1.61 to 1.62. - -=item * - -L has been upgraded from version 5.20230220 to 5.20230320. - -=item * - -L has been upgraded from version 1.36 to 1.37. - -=item * - -L has been upgraded from version 2.11 to 2.12. - -=item * - -L has been upgraded from version 3.29 to 3.31. - -=item * - -L has been upgraded from version 1.302192 to 1.302194. - -=item * - -L has been upgraded from version 2.34 to 2.35. - -=item * - -L has been upgraded from version 1.65 to 1.67. - -=item * - -L has been upgraded from version 1.9772 to 1.9774. - -=item * - -L has been upgraded from version 1.62 to 1.63. - -=item * - -L has been upgraded from version 1.30 to 1.32. - -=back - -=head1 Documentation - -=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. - -Additionally, the following selected changes have been made: - -=head3 F - -=over 4 - -=item * - -Updates to regex internals documentation. - -=back - -=head3 F - -=over 4 - -=item * - -Added information about unscheduled deprecations and their categories. - -=item * - -Added category information for existing scheduled deprecations. - -=item * - -Added smartmatch and apostrophe as a package separator deprecation data. - -=back - -=head3 F - -=over 4 - -=item * - -Smartmatch has been moved from experimental status to deprecated status. -Unfortunately the experiment did not work out. - -=back - -=head3 F - -=over 4 - -=item * - -Documented new require hooks. - -=back - -=head3 F - -=over 4 - -=item * - -Documented new magic types C, C and -C. - -=item * - -Documented several new or existing save stack macros: C, -C, C, C - -=item * - -Documented new mortalization callback macros: C, -C - -=back - -=head3 F - -=over 4 - -=item * - -Document the behavior of matching the empty pattern better and specify -its relationship to the new C<${^LAST_SUCCESSFUL_PATTERN}> properly. - -=back - -=head3 F - -=over 4 - -=item * - -Added information on the new C<%{^HOOK}> interface, and the new -C and C hooks which it exposes. - -=item * - -Correct information on the regex variables C<${^PREMATCH}>, C<${^MATCH}> -and C<${^POSTMATCH}>, all of which were incorrectly documented due to an -oversight. Specifically they only work properly after a regex operation -that used the /p modifier to enable them. - -=item * - -Added information on the new regex variable C<${^LAST_SUCCESSFUL_PATTERN}>, -which represents the pattern of the last successful regex match in scope. - -=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<${^HOOK}{%s} may only be a CODE reference or undef|perldiag/"${^HOOK}{%s} may only be a CODE reference or undef"> - -=item * - -L - -=item * - -L - -=item * - -L%sE|perldiag/"Too many capture groups (limit is %d) in regex m/%s/"> - -=back - -=head3 New Warnings - -=over 4 - -=item * - -L - -=back - -=head2 Changes to Existing Diagnostics - -=over 4 - -=item * - -L replaces C. - -=item * - -L replaces C. - -=item * - -L replaces C. - -=back - -=head1 Testing - -Tests were added and changed to reflect the other additions and -changes in this release. Furthermore, these significant changes were -made: - -=over 4 - -=item * - -Added t/op/hook/ for testing C<%{^HOOK}> related functionality. Specifically -the F for testing the new require hooks. - -=item * - -Added F to test that our deprecation policies are being -followed properly. - -=item * - -Fixed bugs in F and F that meant that tests in F and -F were not being run during normal testing. - -=back - -=head2 Platform-Specific Notes - -=over 4 - -=item Windows - -=over 4 - -=item * - -C no longer creates broken sockets. [L] - -=item * - -Closing a busy pipe could cause Perl to hang. [L] - -=back - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -Added C and C for better support for working -with C (reference counted string/pointer value) structures which -currently are used in opcodes to share filename and warning bit data in -a memory efficient manner. - -=item * - -Added C and C macros, which -make it possible to create a destructor which is fired at the end of -the current statement. This uses the C magic to -use "free" magic to trigger an action when a variable is freed. The -action can be specified as a C function or as a Perl code reference. - -=item * - -Added the C<%{^HOOK}> api and related C and -C for providing ways to hook selected perl functions -which for one reason or another are problematic to wrap with a customized -subroutine. - -=item * - -Added support for C<${^HOOK}{require__before}> which can be used to -rewrite the filename that C will try to load, and also to block -C from loading a specific module, even via fully qualified -filename. The hook can also be used to perform "pre-require" and -"post-require" actions. - -=item * - -Added support for C<${^HOOK}{require__after}> which can be used to -track what modules have been required after the fact. - -=item * - -Regular expression opcodes (regops) now use a standardized structure -layout that uses unions to expose data in different format. This means -it should be much easier to extend or modify regops to use more memory. -This has been used to make a number of regops track how many parens -they contain. - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -In the new experimental C feature, attributes are no longer a syntax -error when using the unit class syntax. -[L]. - -=item * - -A number of bugs related to capture groups in quantified groups in regular -expression have been fixed, especially in alternations. For example in -a pattern like: - - "foobazfoobar" =~ /((foo)baz|foo(bar))+/ - -the regex variable C<$2> will not be "foo" as it once was, it will be undef. - -=item * - -Bugs with regex backreference operators that are inside of a capture -group have been fixed. For instance: - - "xa=xaaa" =~ /^(xa|=?\1a){2}\z/ - -will now correctly not match. [L] - -=item * - -C and C have been reworked to ensure that the requested -space is actually allocated. C is now an alias for C. - -=back - -=head1 Acknowledgements - -Perl 5.37.10 represents approximately 4 weeks of development since Perl -5.37.9 and contains approximately 23,000 lines of changes across 360 files -from 21 authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 6,000 lines of changes to 220 .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.37.10: - -Arne Johannessen, Craig A. Berry, Dan Jacobson, David Mitchell, Elvin -Aslanov, Graham Knop, James E Keenan, James Raspass, Jon Gentle, Karen -Etheridge, Karl Williamson, Leon Timmermans, Lukas Mai, Paul Evans, Philippe -Bruhat (BooK), Richard Leach, Steve Hay, Tomasz Konojacki, Tony Cook, Yves -Orton, Zefram. - -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/perl53711delta.pod b/pod/perl53711delta.pod deleted file mode 100644 index f221de894fbe..000000000000 --- a/pod/perl53711delta.pod +++ /dev/null @@ -1,199 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl53711delta - what is new for perl v5.37.11 - -=head1 DESCRIPTION - -This document describes differences between the 5.37.10 release and the 5.37.11 -release. - -If you are upgrading from an earlier release such as 5.37.9, first read -L, which describes differences between 5.37.9 and 5.37.10. - -=head1 Core Enhancements - -=head2 Locale category LC_NAME now supported on participating platforms - -On platforms that have the GNU extension C category, you may now use -it as the category parameter to L to set and query its locale. - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L has been upgraded from version 1.72 to 1.73. - -=item * - -L has been upgraded from version 3.70 to 3.71. - -=item * - -L has been upgraded from version 7.66 to 7.70. - -=item * - -L has been upgraded from version 3.49 to 3.50. - -=item * - -L has been upgraded from version 1.81 to 1.82. - -=item * - -L has been upgraded from version 2.40 to 2.41. - -=item * - -L has been upgraded from version 1.32 to 1.33. - -=item * - -L has been upgraded from version 5.20230320 to 5.20230420. - -=item * - -L has been upgraded from version 2.75 to 2.76. - -=item * - -L has been upgraded from version 2.35 to 2.36. - -=item * - -L has been upgraded from version 1.67 to 1.68. - -=item * - -L has been upgraded from version 1.63 to 1.64. - -=back - -=head1 Documentation - -=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. - -Additionally, the following selected changes have been made: - -=head3 L - -=over 4 - -=item * - -The descriptions of pop() and shift() have been expanded. - -=back - -=head3 L - -=over 4 - -=item * - -The descriptions of $^H and %^H have been updated. - -=back - -=head1 Testing - -Tests were added and changed to reflect the other additions and -changes in this release. Furthermore, these significant changes were -made: - -=over 4 - -=item * - -The test framework now skips tests that use B<-T> or B<-t> when running under a -perl built with the F option C<-DNO_TAINT_SUPPORT>. - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -The buffer used by getsockopt() is now 1024 bytes by default and can be -adjusted at perl build time by defining C in C. -[L] - -=back - -=head1 Acknowledgements - -Perl 5.37.11 represents approximately 4 weeks of development since Perl 5.37.10 -and contains approximately 5,500 lines of changes across 180 files from 16 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 3,000 lines of changes to 110 .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.37.11: - -Craig A. Berry, Dan Book, David Cantrell, Karl Williamson, Leon Timmermans, -Lukas Mai, Nicolas R, Paul Evans, Philippe Bruhat (BooK), Scott Baker, Sevan -Janiyan, Steve Hay, Tomasz Konojacki, Tony Cook, Yves Orton, Zefram. - -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/perl5371delta.pod b/pod/perl5371delta.pod deleted file mode 100644 index 689b385d8e1c..000000000000 --- a/pod/perl5371delta.pod +++ /dev/null @@ -1,462 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5371delta - what is new for perl v5.37.1 - -=head1 DESCRIPTION - -This document describes differences between the 5.37.0 release and the 5.37.1 -release. - -If you are upgrading from an earlier release such as 5.36.0, first read -L, which describes differences between 5.36.0 and 5.37.0. - -=head1 Deprecations - -=over 4 - -=item * - -Removed many deprecated C functions. These have been deprecated for a long -time. See L -for a full list. - -=back - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L has been upgraded from version 1.83 to 1.84. - -=item * - -L has been upgraded from version 1.52 to 1.53. - -=item * - -L has been upgraded from version 2.184 to 2.185. - -=item * - -L has been upgraded from version 0.13 to 0.14. - -=item * - -L has been upgraded from version 0.280236 to 0.280237. - -=item * - -L has been upgraded from version 1.11 to 1.12. - -=item * - -L has been upgraded from version 1.73 to 1.74. - -=item * - -L has been upgraded from version 3.84 to 3.85. - -=item * - -L has been upgraded from version 2.03 to 2.04. - -=item * - -L has been upgraded from version 1.23 to 1.24. - -The mmapsize() method now correctly fetches the value. - -=item * - -L has been upgraded from version 5.20220527 to 5.20220620. - -=item * - -L has been upgraded from version 1.17 to 1.18. - -=item * - -L has been upgraded from version 1.57 to 1.58. - -=item * - -L has been upgraded from version 2.03 to 2.04. - -=item * - -L has been upgraded from 1.15 to 1.16. - -SDBM_File now supports files over 2GB on Win32. [github #6841] - -=item * - -L has been upgraded from version 2.27 to 2.28. - -=item * - -L has been upgraded from version 1.31 to 1.32. - -=item * - -L has been upgraded from version 1.22 to 1.23. - -=back - -=head1 Documentation - -=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. - -Additionally, the following selected changes have been made: - -=head3 L - -=over 4 - -=item * - -Documented L|perlapi/hv_ksplit> - -=item * - -Documented L|perlapi/hv_name_set> - -=item * - -L|perlapi/hv_store> and L|perlapi/hv_stores> -documentation have been greatly improved. - -=item * - -Documented L|perlapi/gv_autoload_pv> - -=item * - -Documented L|perlapi/gv_autoload_pvn> - -=item * - -Documented L|perlapi/gv_autoload_sv> - -=item * - -Documented L|perlapi/gv_name_set> - -=item * - -Documented L|perlapi/start_subparse> - -=item * - -Documented L|perlapi/SV_CHECK_THINKFIRST_COW_DROP> - -=item * - -Documented L|perlapi/SV_CHECK_THINKFIRST> - -=item * - -Documented L|perlapi/SvPV_shrink_to_cur> - -=item * - -Documented L|perlapi/save_aelem> - -=item * - -Documented L|perlapi/save_aelem_flags> - -=item * - -Documented L|perlapi/save_helem> - -=item * - -Documented L|perlapi/save_helem_flags> - -=back - -=head3 L - -=over 4 - -=item * - -Documented L|perlintern/save_pushptr> - -=item * - -Documented L|perlintern/save_scalar_at> - -=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 * - -A new syntax error has been added for the error that a C block does -not have its required variable declaration. See -L - -=back - -=head3 New Warnings - -=over 4 - -=item * - -L - -This is a shortened form of an already existing diagnostic, for use when -there is no new locale being switched to. The previous diagnostic was -misleading in such circumstances. - -=back - -=head2 Changes to Existing Diagnostics - -=over 4 - -=item * - -Removed C<< Complex regular subexpression recursion limit (%d) exceeded >> - -The regular expresion engine has not used recursion in some time. This -warning no longer makes sense. - -See [L]. - -=back - -=head1 Configuration and Compilation - -=over 4 - -=item * - -C could fail due to a build conflict in building -C<$(MINIPERL_EXE)> between the main make process and a child process. -[github #19829] - -=back - -=head1 Testing - -Tests were added and changed to reflect the other additions and -changes in this release. Furthermore, these significant changes were -made: - -=over 4 - -=item * - -Unicode normalization tests have been added. - -=back - -=head1 Platform Support - -=head2 Discontinued Platforms - -=over 4 - -=item Ultrix - -Support code for DEC Ultrix has been removed. Ultrix was the native -Unix-like operating system for various Digital Equipment Corporation -machines. Its final release was in 1995. - -=back - -=head2 Platform-Specific Notes - -=over 4 - -=item Windows - -utimes() on Win32 would print a message to stderr if it failed to -convert a supplied C to to a C. [github #19668] - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -C, C, C, C and -C have been marked deprecated. - -=item * - -C has been marked as internal API. - -=item * - -C, C, and C have been marked -as internal API. - -=item * - -New bool related functions and macros have been added to complement the new -bool type introduced in 5.36: - -The functions are: - -=over 4 - -=item L|perlapi/newSVbool> - -=item L|perlapi/newSV_true> - -=item L|perlapi/newSV_false> - -=item L|perlapi/sv_set_true> - -=item L|perlapi/sv_set_false> - -=item L|perlapi/sv_set_bool> - -=back - -The macros are: - -=over 4 - -=item L|perlapi/SvIandPOK> - -=item L|perlapi/SvIandPOK_off> - -=item L|perlapi/SvIandPOK_on> - -=back - -=item * - -Perl is no longer manipulating the C array directly. The variable -C has been removed and C is always -defined. This means XS modules can now call C and C without -causing segfaults. [L] - -=item * - -Internal C API functions are now hidden with C<__attribute__((hidden))> on the -platforms that support it. This means they are no longer callable from XS -modules on those platforms. - -It should be noted that those functions have always been hidden on Windows. This -change merely brings that to the other platforms. -[L] - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -Avoid recursion and stack overflow parsing 'pack' template - -[L] - -=item * - -An eval() as the last statement in a regex code block could trigger an -interpreter panic; e.g. - - /(?{ ...; eval {....}; })/ - -[L] - -=back - -=head1 Acknowledgements - -Perl 5.37.1 represents approximately 3 weeks of development since Perl -5.37.0 and contains approximately 75,000 lines of changes across 240 files -from 28 authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 30,000 lines of changes to 150 .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.37.1: - -Brian Greenfield, Chris 'BinGOs' Williams, Clemens Wasser, Dan Book, David -Mitchell, Ed Sabol, Elvin Aslanov, Graham Knop, Hugo van der Sanden, James E -Keenan, jkahrman, Karl Williamson, Leon Timmermans, Mark Jason Dominus, -Matthew Horsfall, Mohammad S Anwar, Neil Bowers, Nicholas Clark, Nicolas -Mendoza, Nicolas R, Paul Evans, Ricardo Signes, Richard Leach, Sidney -Markowitz, Sisyphus, Tomasz Konojacki, 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/perl5372delta.pod b/pod/perl5372delta.pod deleted file mode 100644 index adeea18225bf..000000000000 --- a/pod/perl5372delta.pod +++ /dev/null @@ -1,488 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5372delta - what is new for perl v5.37.2 - -=head1 DESCRIPTION - -This document describes differences between the 5.37.1 release and the 5.37.2 -release. - -If you are upgrading from an earlier release such as 5.37.0, first read -L, which describes differences between 5.37.0 and 5.37.1. - -=head1 Performance Enhancements - -=over 4 - -=item * - -Use C rather than hand-coded abs expressions in C. - -=item * - -Replace a runtime check with compile-time static assertion in C. - -=back - -=head1 Modules and Pragmata - -=head2 New Modules and Pragmata - -=over 4 - -=item * - -Added the C builtin function. [L] - -=item * - -Added the C builtin function as per PPC 0020. [L] - -=back - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L has been upgraded from version 0.007 to 0.008. - -=item * - -L has been upgraded from version 1.84 to 1.85. - -=item * - -L has been upgraded from version 1.006 to 1.007. - -=item * - -L has been upgraded from version 1.64 to 1.65. - -=item * - -L has been upgraded from version 0.65 to 0.66. - -=item * - -L has been upgraded from version 2.103 to 2.201. - -=item * - -L has been upgraded from version 2.105 to 2.202. - -=item * - -L has been upgraded from version 2.33 to 2.34. - -=item * - -L has been upgraded from version 2.185 to 2.186. - -=item * - -L has been upgraded from version 1.857 to 1.858. - -=item * - -L has been upgraded from version 3.17 to 3.18. - -=item * - -L has been upgraded from version 1.74 to 1.75. - -The C feature has been removed from the C<:5.38> -feature bundle. [L] - -=item * - -L has been upgraded from version 1.37 to 1.38. - -=item * - -L has been upgraded from version 3.85 to 3.86. - -=item * - -L has been upgraded from version 1.60 to 1.61. - -=item * - -L has been upgraded from version 0.28 to 0.29. - -=item * - -L has been upgraded from version 2.106 to 2.201. - -=item * - -L has been upgraded from version 4.07 to 4.10. - -=item * - -L has been upgraded from version 1.999830 to 1.999837. - -=item * - -L has been upgraded from version 0.5012 to 0.5013. - -=item * - -L has been upgraded from version 0.2621 to 0.2624. - -=item * - -L has been upgraded from version 5.20220620 to 5.20220720. - -=item * - -L has been upgraded from version 1.58 to 1.59. - -=item * - -L has been upgraded from version 0.09 to 0.10. - -=item * - -L has been upgraded from version 1.74 to 1.75. - -=item * - -L has been upgraded from version 2.01 to 2.03. - -=item * - -L has been upgraded from version 2.033 to 2.035. - -=item * - -L has been upgraded from version 3.26 to 3.27. - -=item * - -L has been upgraded from version 1.302190 to 1.302191. - -=item * - -L has been upgraded from version 2.04 to 2.06. - -=item * - -L has been upgraded from version 1.64 to 1.65. - -=item * - -L has been upgraded from version 1.23 to 1.24. - -=back - -=head1 Documentation - -=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. - -Additionally, the following selected changes have been made: - -=over 4 - -=item * - -Perl API: Better documentation of experimental and deprecated elements. - -=item * - -Add comments better explaining ANYOF nodes in C - -=item * - -perlunicode: Clarify user-defined properties - -=item * - -regex: Add POSIXA1R node - -=item * - -Improve sorting of documentation for better reading. - -=back - -=head1 Configuration and Compilation - -=over 4 - -=item * - -Properly populate osvers on Dragonfly BSD when the hostname isn't set. - -=item * - -Fix typos for C99 macro name PRIX64. - -=back - -=head1 Testing - -Tests were added and changed to reflect the other additions and changes -in this release. - -=head1 Platform Support - -=head2 Platform-Specific Notes - -=over 4 - -=item DragonflyBSD - -Skip tests to workaround an apparent bug in setproctitle(). [L] - -=item FreeBSD - -Replace the first part of archname with `uname -p` [L] - -=item Synology - -Update Synology Readme for DSM 7. - -=item Solaris - -Avoid some compiler and compilation issues on NetBSD/Solaris from regexec.c and regcomp.c. - -=item Windows - -Fix win32 memory alignment needed for gcc-12 from vmem.h. - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -New formatting symbols were added for printing values declared as U32 or -I32: - -=over - -=item I32df -- Like %d - -=item U32of -- Like %o - -=item U32uf -- Like %u - -=item U32xf -- Like %x - -=item U32Xf -- Like %X - -=back - -These are used in the same way already existing similar symbols, such as -C, are used. See L. - -=item * - -new 'HvHasAUX' macro - -=item * - -regexec.c: Add some branch predictions reorder conds - -=item * - -locale: Change macro name to be C conformant - -=item * - -Rename the C constants to C - -=item * - -Changes all the API macros that retrieve a PV into a call to an -inline function so as to evaluate the parameter just once. - -=item * - -regexec.c: multiple code refactor to make the code more readable - -=item * - -perl.h: Change macro name to be C conformant -(remove leading _ from NOT_IN_NUMERIC macros) - -=item * - -regcomp.h: add new C macro in addition to the existing C -and C ones. - -=item * - -Create new regnode type ANYOFH. -populate_ANYOF_from_invlist was renamed to populate_bitmap_from_invlist - -=item * - -regex: Refactor bitmap vs non-bitmap of qr/[]/ - -=item * - -regcomp.c: add new functions to convert from an inversion list to a bitmap (and vice versa) -C and C. - -=item * - -Add C to create an AV from an existing AV. -Add C to create an AV using keys and values from an existing HV. - -=item * - -Fix definition of C. - -=item * - -Fix undefined behavior with overflow related OPTIMIZE_INFTY and delta -in C. - -=item * - -Fix regnode pointer alignment issue in . - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -Disabling the C feature no longer treats C<< print -Class->method >> as an error. [L] - -=item * - -When a Perl subroutine tail-calls an XS subroutine using C, -the XS subroutine can now correctly determine its calling context. -Previously it was always reported as scalar. - -In addition, where the Perl subroutine is freed at the same time: - - sub foo { *foo = sub {}; goto &xs_sub } - -this formerly could lead to crashes if the XS subroutine tried to use the -value of C, since this was being set to NULL. This is now fixed. - -[L] - -=item * - -setsockopt() now uses the mechanism added in 5.36 to better -distinguish between numeric and string values supplied as the -C parameter. [L] - -=item * - -4-argument C now rejects strings with code points above -255. Additionally, for code points 128-255, this operator will now always -give the corresponding octet to the OS, regardless of how Perl stores -such code points in memory. (Previously Perl leaked its internal string -storage to the OS.) [L] - -=item * - -Fix panic issue from C [L] - -=item * - -Fix multiple compiler warnings from regexp.c., locale.c [L] - -=item * - -Fix querying locale without LC_NUMERIC on platform [L] - -=item * - -Prevent undefined behaviour in C. - -=item * - -Avoid signed integer overflow in C ops. - -=item * - -Avoid adding an offset to a NULL pointer in C. - -=back - -=head1 Acknowledgements - -Perl 5.37.2 represents approximately 4 weeks of development since Perl -5.37.1 and contains approximately 35,000 lines of changes across 440 files -from 24 authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 30,000 lines of changes to 350 .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.37.2: - -Branislav Zahradník, Craig A. Berry, Dagfinn Ilmari Mannsåker, Dan Kogai, -David Mitchell, Felipe Gasper, Graham Knop, H.Merijn Brand, James E Keenan, -James Raspass, Karl Williamson, Kenichi Ishigaki, Leon Timmermans, Loren -Merritt, Marcel Telka, Matthew Horsfall, Nicolas R, Paul Evans, Ricardo -Signes, Richard Leach, Sisyphus, TAKAI Kousuke, 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/perl5373delta.pod b/pod/perl5373delta.pod deleted file mode 100644 index 82457df931e1..000000000000 --- a/pod/perl5373delta.pod +++ /dev/null @@ -1,275 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5373delta - what is new for perl v5.37.3 - -=head1 DESCRIPTION - -This document describes differences between the 5.37.2 release and the 5.37.3 -release. - -If you are upgrading from an earlier release such as 5.37.1, first read -L, which describes differences between 5.37.1 and 5.37.2. - - -=head1 Core Enhancements - -=head2 PERL_RAND_SEED - -Added a new environment variable C which can be used to -cause a perl program which uses C without using C -explicitly or which uses C with no arguments to be repeatable. -See L. This feature can be disabled at compile time by passing - - -Accflags=-DNO_PERL_RAND_SEED - -to F during the build process. - - - -=head1 Performance Enhancements - -=over 4 - -=item * - -Additional optree optimizations for common OP patterns. For example, multiple -simple OPs replaced by a single streamlined OP, so as to be more efficient at -runtime. L<[GH #19943]|https://github.com/Perl/perl5/pull/19943>. - -=back - - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L has been upgraded from version 0.34 to 0.35. - -=item * - -L has been upgraded from version 1.85 to 1.86. - -=item * - -L has been upgraded from version 1.65 to 1.68. - -=item * - -L has been upgraded from version 6.02 to 6.03. - -=item * - -L has been upgraded from version 1.52 to 1.53. - -=item * - -L has been upgraded from version 3.18 to 3.19. - -=item * - -L has been upgraded from version 0.004 to 0.005. - -=item * - -L has been upgraded from version 1.40 to 1.41. - -=item * - -L has been upgraded from version 1.61 to 1.64. - -=item * - -L has been upgraded from version 0.080 to 0.082: -no longer deletes the 'headers' key from post_form arguments hashref. - -=item * - -L has been upgraded from version 4.10 to 4.11. - -=item * - -L has been upgraded from version 1.03_01 to 1.10. - -=item * - -L has been upgraded from version 5.20220720 to 5.20220820. - -=item * - -L has been upgraded from version 1.15 to 1.16. - -=item * - -L has been upgraded from version 1.59 to 1.60. - -=item * - -L has been upgraded from version 1.62 to 1.63: -fix off-by-one in stack handling of head() / tail() (RT143905). - -=item * - -L has been upgraded from version 2.035 to 2.036: -Avoid putting macros inside arguments to other macros, -as it annoys strict C compilers - -=item * - -L has been upgraded from version 2.28 to 2.29. - -=item * - -L has been upgraded from version 1.24 to 1.25. - -=back - - - - -=head1 Platform Support - - -=head2 Platform-Specific Notes - -=over 4 - -=item Windows - -=over 4 - -=item * - -In some cases, timestamps returned by L and -L failed to take daylight saving time into account. -[L] -[L] - -=back - -=item FreeBSD - -=over 4 - -=item * - -FreeBSD no longer uses thread-safe locale operations, to avoid L - -=back - -=back - - -=head1 Internal Changes - -=over 4 - -=item * - -The C CV flag and associated C macro has been renamed to -C and C. This closer reflects its -actual behaviour (it suppresses a warning that would otherwise be generated -about ambiguous names), in order to be less confusing with a possible upcoming -feature. - -=item * - -The C flag is no longer set on the C op -constructed to call the C, C and C methods -as part of a C statement and attribute application, nor when -assigning to an C<:lvalue> subroutine. - -=item * - -A new CV flag C has been added, which indicates that the -CV is an XSUB and stores an SV pointer in the C union field. -Perl core operations such as cloning or destroying the CV will maintain the -reference count of the pointed-to SV, destroying it when required. - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * PerlIO::get_layers will now accept IO references too - -Previously it would only take glob references or names of globs. Now it will -also accept IO references. - -=back - - -=head1 Acknowledgements - -Perl 5.37.3 represents approximately 4 weeks of development since Perl -5.37.2 and contains approximately 13,000 lines of changes across 240 files -from 25 authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 11,000 lines of changes to 160 .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.37.3: - -Aristotle Pagaltzis, Bram, Dagfinn Ilmari Mannsåker, Dan Book, Dan Kogai, -David Golden, David Mitchell, Elvin Aslanov, Graham Knop, Harald Jörg, -James E Keenan, Karl Williamson, Leon Timmermans, Mark Shelor, Neil Bowers, -Nicholas Clark, Nicolas R, Paul Evans, Reini Urban, Richard Leach, Sinan -Unur, Tomasz Konojacki, 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/perl5374delta.pod b/pod/perl5374delta.pod deleted file mode 100644 index f02fbbbbd44d..000000000000 --- a/pod/perl5374delta.pod +++ /dev/null @@ -1,496 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5374delta - what is new for perl v5.37.4 - -=head1 DESCRIPTION - -This document describes differences between the 5.37.3 release and the 5.37.4 -release. - -If you are upgrading from an earlier release such as 5.37.2, first read -L, which describes differences between 5.37.2 and 5.37.3. - -=head1 Incompatible Changes - -=head2 readline() no longer clears the stream error flag - -C, also spelled C<< <> >>, would clear the handle's error -flag after an error occurred on the stream. - -The error flag is now only cleared when an error occurs when reading -from the child process for glob() in F. This allows it to -correctly report errors from the child process on close(). - -Since the error flag is no longer cleared calling close() on the -stream may fail and if the stream was not explicitly closed, the -implicit close of the stream may produce a warning. - -[L] - -=head2 C blocks no longer run after an C in C - -C blocks will no longer run after an C performed inside of -a C. This means that the combination of the C<-v> option and the -C<-c> option no longer executes a compile check as well as showing the -perl version. The C<-v> option executes an exit(0) after printing the -version information inside of a C block, and the C<-c> check is -implemented by using C hooks, resulting in the C<-v> option taking -precedence. - -[L] -[L] - -=head2 Syntax errors will no longer produce "phantom error messages". - -Generally perl will continue parsing the source code even after -encountering a compile error. In many cases this is helpful, for -instance with misspelled variable names it is helpful to show as many -examples of the error as possible. But in the case of syntax errors -continuing often produces bizarre error messages, and may even cause -segmentation faults during the compile process. In this release the -compiler will halt at the first syntax error encountered. This means -that any code expecting to see the specific error messages we used to -produce will be broken. The error that is emitted will be one of the -diagnostics that used to be produced, but in some cases some messages -that used to be produced will no longer be displayed. - -See L for more details. - -=head1 Performance Enhancements - -=over 4 - -=item * - -Additional optree optimizations for common OP patterns. For example, multiple -simple OPs replaced by a single streamlined OP, so as to be more efficient at -runtime. L<[GH #19943]|https://github.com/Perl/perl5/pull/19943>, -L<[GH #20063]|https://github.com/Perl/perl5/pull/20063>, -L<[GH #20077]|https://github.com/Perl/perl5/pull/20077>. - -=back - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L has been upgraded from version 1.68 to 1.69. - -=item * - -L has been upgraded from version 1.53 to 1.54. - -=item * - -L has been upgraded from version 0.66 to 0.67. - -=item * - -L has been upgraded from version 0.33 to 0.34. - -=item * - -L has been upgraded from version 1.36 to 1.37. - -=item * - -L has been upgraded from version 3.45 to 3.46. - -=item * - -L has been upgraded from version 3.45 to 3.46. - -=item * - -L has been upgraded from version 1.75 to 1.76. - -=item * - -L has been upgraded from version 2.85 to 2.86. - -=item * - -L has been upgraded from version 2.39 to 2.40. - -=item * - -L has been upgraded from version 1.12 to 1.13. - -=item * - -L has been upgraded from version 2.04 to 2.05. - -=item * - -L has been upgraded from version 0.29 to 0.30. - -=item * - -L has been upgraded from version 0.21 to 0.22. - -This module uses the POSIX L function if available, and -emulates it otherwise, such as on Windows. This new version improves -the handling of the C item. Now it works completely correctly -on Windows platforms (barring any bugs in Windows functions), and -reliably handles C, C, and C on other emulated -platforms - -=item * - -L has been upgraded from version 1.50 to 1.51. - -=item * - -L has been upgraded from version 1.31 to 1.32. - -=item * - -L has been upgraded from version 5.20220820 to 5.20220920. - -=item * - -L has been upgraded from version 1.60 to 1.61. - -=item * - -L has been upgraded from version 2.04 to 2.06. - -=item * - -L has been upgraded from version 2.43 to 2.44. - -=item * - -L has been upgraded from version 1.24 to 1.25. - -=item * - -L has been upgraded from version 1.9770 to 1.9771. - -=item * - -L has been upgraded from version 1.03 to 1.04. - -=item * - -L has been upgraded from version 1.01 to 1.02. - -=item * - -L has been upgraded from version 1.25 to 1.26. - -=item * - -L has been upgraded from version 0.31 to 0.32. - -=back - -=head1 Documentation - -=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. - -Additionally, the following selected changes have been made: - -=over 4 - -=item * - -Entries have been added to L for the new C, C and -C<*_simple> functions. - -=item * - -References to the now-defunct PrePAN service have been removed from -L and L. - -=item * - -A section on symbol naming has been added to L. - -=item * - -L has been edited to properly reference the warning categories -for the defer block modifier and extra paired delimiters for quote-like -operators. - -=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 - -=item * - -L - -=back - -=head3 New Warnings - -=over 4 - -=item * - -L - -=item * - -L - -=item * - -L - -=item * - -L<%s on BEGIN block ignored|perldiag/"%s on BEGIN block ignored"> - -=back - -=head2 Changes to Existing Diagnostics - -=over 4 - -=item * - -The compiler will now stop parsing on the first syntax error it -encounters. Historically the compiler would attempt to "skip past" the -error and continue parsing so that it could list multiple errors. For -things like undeclared variables under strict this makes sense. For -syntax errors however it has been found that continuing tends to result -in a storm of unrelated or bizarre errors that mostly just obscure the -true error. In extreme cases it can even lead to segfaults and other -incorrect behavior. - -Therefore we have reformed the continuation logic so that the parse will -stop after the first seen syntax error. Semantic errors like undeclared -variables will not stop the parse, so you may still see multiple errors -when compiling code. However if there is a syntax error it will be the -last error message reported by perl and all of the errors that you see -will be something that actually needs to be fixed. - -=item * - -Error messages that output class or package names have been modified to -output double quoted strings with various characters escaped so as to -make the exact value clear to a reader. The exact rules on which -characters are escaped may change over time but currently are that -printable ASCII codepoints, with the exception of C<"> and C<\>, and -unicode word characters whose codepoint is over 255 are output raw, and -any other symbols are escaped much as Data::Dumper might escape them, -using C<\n> for newline and C<\"> for double quotes, etc. Codepoints in -the range 128-255 are always escaped as they can cause trouble on -unicode terminals when output raw. - -In older versions of perl the one liner - - $ perl -le'"thing\n"->foo()' - -would output the following error message exactly as shown here, with -text spread over multiple lines because the "\n" would be emitted as -a raw newline character: - - Can't locate object method "foo" via package "thing - " (perhaps you forgot to load "thing - "?) at -e line 1. - -As of this release we would output this instead (as one line): - - Can't locate object method "foo" via package "thing\n" - (perhaps you forgot to load "thing\n"?) at -e line 1. - -Notice the newline in the package name has been quoted and escaped, and -thus the error message is a single line. The text is shown here wrapped -to two lines only for readability. - -=item * - -When package or class names in errors are very large the middle excess -portion will be elided from the message. As of this release error messages -will show only up to the first 128 characters and the last 128 characters -in a package or class name in error messages. For example - - $ perl -le'("Foo" x 1000)->new()' - -will output the following as one line: - - Can't locate object method "new" via package "FooFooFooFooFooFooFoo - FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo - FooFooFooFooFooFooFooFooFooFooFooFooFooFo"..."oFooFooFooFooFooFooFoo - FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo - FooFooFooFooFooFooFooFooFooFooFooFooFoo" (perhaps you forgot to load - "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo - FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFo"... - "oFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo - FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo"?) - at -e line 1. - -Notice the C< "prefix"..."suffix" > form of the package name in this case. -In previous versions of perl the complete string would have been shown -making the error message over 6k long and there was no upper limit on the -length of the error message at all. If you accidentally used a 1MB string -as a class name then the error message would be over 2MB long. In this perl -the upper limit should be around 2k when eliding and escaping are taken into -account. - -=back - -=head1 Testing - -Tests were added and changed to reflect the other additions and changes -in this release. - -=head1 Internal Changes - -=over 4 - -=item * - -A new API function L> is added. This is the -same as L|POSIX/localeconv> (returning a hash of -the C fields), but directly callable from XS code. - -=item * - -A new API function L> is added. This is the -same as plain L>, but with an extra parameter -that allows the caller to simply and reliably know if the returned -string is UTF-8. - -=item * - -A new API function, L> is added. This is the -same as plain L>, but with an extra parameter -that allows the caller to simply and reliably know if the returned -string is UTF-8. - -=item * - -We have introduced a limit on the number of nested C/C -blocks and C/C (and thus C statements as well) to -prevent C stack overflows. This variable can also be used to forbid -C blocks from executing during C compilation. The -limit defaults to C<1000> but can be overridden by setting the -C<${^MAX_NESTED_EVAL_BEGIN_BLOCKS}> variable. The default itself can be -changed at compile time with - - -Accflags='-DPERL_MAX_NESTED_EVAL_BEGIN_BLOCKS_DEFAULT=12345' - -Note that this value relates to the size of your C stack and if you -choose an inappropriately large value Perl may segfault, be conservative -about what you choose. - -=back - -=head1 Known Problems - -=over 4 - -=item * - -L -L<[RT #144052]|https://rt.cpan.org/Ticket/Display.html?id=144052>, -and L -L<[RT #144051]|https://rt.cpan.org/Ticket/Display.html?id=144051> -have not yet been updated to add awareness of new OPs introduced in -this development cycle. -L<[GH #20114]|https://github.com/Perl/perl5/issues/20114>. Patches have -been submitted upstream but these have not been incorporated into new -releases yet. - -L -L<[Test-Vars/GH #47]|https://github.com/houseabsolute/p5-Test-Vars/issues/47> -also requires updating, but since this module's own tests are not failing, -it is harder to determine how the new OPs should be accounted for. - -=back - -=head1 Acknowledgements - -Perl 5.37.4 represents approximately 4 weeks of development since Perl -5.37.3 and contains approximately 20,000 lines of changes across 270 files -from 21 authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 12,000 lines of changes to 160 .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.37.4: - -Bram, Dagfinn Ilmari Mannsåker, danielnachun, E. Choroba, Ed J, Elvin -Aslanov, H.Merijn Brand, James E Keenan, Karen Etheridge, Karl Williamson, -Kenneth Ölwing, Leon Timmermans, Neil Bowers, Nicolas R, Paul Evans, -Richard Leach, Sisyphus, Todd Rinaldo, Tomasz Konojacki, 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/perl5375delta.pod b/pod/perl5375delta.pod deleted file mode 100644 index e4ee3000d79c..000000000000 --- a/pod/perl5375delta.pod +++ /dev/null @@ -1,238 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5375delta - what is new for perl v5.37.5 - -=head1 DESCRIPTION - -This document describes differences between the 5.37.4 release and the 5.37.5 -release. - -If you are upgrading from an earlier release such as 5.37.3, first read -L, which describes differences between 5.37.3 and 5.37.4. - -=head1 Notice - -Perl 5.28 introduced "thread-safe" locales on systems that supported -them, namely modern Windows, and systems supporting POSIX 2008 locale -operations. These systems accomplish this by having per-thread locales, -while continuing to support the older global locale operations for code -that doesn't take the steps necessary to use the newer per-thread ones. - -It turns out that some POSIX 2008 platforms have or have had buggy -implementations, which forced perl to not use them. The -C<${^SAFE_LOCALES}> scalar variable contains 0 or 1 to indicate whether -or not the current platform is considered by perl to have a working -thread-safe implementation. Some implementations have been fixed -already, but FreeBSD and Cygwin have been newly discovered to be -sufficiently buggy that the thread-safe operations are no longer used by -perl, starting in this release. Hence, C<${^SAFE_LOCALES}> is now 0 for -them. Older versions of perl can be configured to avoid these buggy -implementations by adding the F option -C<-DNO_POSIX_2008_LOCALE>. - -And 5.37.5 fixes a bug in all previous perls that led to locales not -being fully thread-safe. The first thread that finishes caused -the main thread (named C) to revert to the global locale in -effect at startup, discarding whatever the thread's locale had been -previously set to. If any other thread had switched to the global -locale by calling C in XS code, those threads -would all share the global locale, and C would not be -thread-safe. - -=head1 Core Enhancements - -=head2 Unicode 15.0 is supported - -See L for details. - -=head1 Performance Enhancements - -=over 4 - -=item * - -Creating an anonymous sub no longer generates an C op, the -reference generation is now done in the C or C -op, saving runtime. [github #20290] - -=back - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L has been upgraded from version 1.69 to 1.70. - -=item * - -L has been upgraded from version 4.11 to 4.12. - -=item * - -L has been upgraded from version 1.5902 to 1.5903. - -=item * - -L has been upgraded from version 1.10 to 1.14. - -=item * - -L has been upgraded from version 5.20220920 to 5.20221020. - -=item * - -L has been upgraded from version 2.74 to 2.75. - -=item * - -L has been upgraded from version 1.76 to 1.77. - -Supplying end of file to the debugger now acts like C, as -documented. [github #20307] - -=item * - -L has been upgraded from version 2.06 to 2.07. - -=item * - -L has been upgraded from version 2.29 to 2.31. - -=item * - -L has been upgraded from version 1.58 to 1.59. - -=back - -=head1 Documentation - -=head2 New Documentation - -=head3 L - -=over 4 - -=item * - -A new section has been added to discuss pitfalls and solutions to using -C macros in C and XS code. - -=back - -=head3 L - -=over 4 - -=item * - -A new section has been added to discuss unexpected gotchas with names. -(Actually this section was added in v5.37.4, but notice of it was -inadvertently left out of that perl delta.) - -=back - -=head1 Configuration and Compilation - -=over 4 - -=item * - -Remove ancient and broken GCC for VMS support - -=item * - -Remove vestigial reference to /VAXC qualifier - -=item * - -Remove sharedperl option on VMS - -=item * - -VMS now has mkostemp - -=back - -=head1 Testing - -=over 4 - -=item * - -t/test.pl: Add ability to cancel an watchdog timer - -=back - -=head1 Acknowledgements - -Perl 5.37.5 represents approximately 4 weeks of development since Perl -5.37.4 and contains approximately 40,000 lines of changes across 220 files -from 24 authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 31,000 lines of changes to 97 .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.37.5: - -Alex, Bram, Craig A. Berry, Dan Book, Elvin Aslanov, Felipe Gasper, Graham -Knop, James E Keenan, Karen Etheridge, Karl Williamson, Kenichi Ishigaki, -Leon Timmermans, Nathan Mills, Nicolas R, Paul Evans, Peter John Acklam, -Philippe Bruhat (BooK), Ricardo Signes, Richard Leach, TAKAI Kousuke, Todd -Rinaldo, Tony Cook, Unicode Consortium, 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/perl5376delta.pod b/pod/perl5376delta.pod deleted file mode 100644 index 6f77813c07a0..000000000000 --- a/pod/perl5376delta.pod +++ /dev/null @@ -1,276 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5376delta - what is new for perl v5.37.6 - -=head1 DESCRIPTION - -This document describes differences between the 5.37.5 release and the 5.37.6 -release. - -If you are upgrading from an earlier release such as 5.37.4, first read -L, which describes differences between 5.37.4 and 5.37.5. - -=head1 Incompatible Changes - -=head2 L|utf8/Utility functions> - -Starting in this release, if the input string is C, it remains -C. Previously it would be changed into a defined, zero-length -string. - -=head1 Modules and Pragmata - -=head2 New Modules and Pragmata - -=over 4 - -=item * - -Support for PPC 0018, C has been added to -the default feature bundle for 5.37 and later. It may also be used -explicitly. When enabled inside of a module the module does not need -to return true explicitly, and in fact the return will be forced to -a simple true value regardless of what it originally was. - -=back - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L has been upgraded from version 3.27 to 3.28. - -The C callback now supports regular expression -objects. - -The error message when Storable attempts to call C -for an unsupported type such as GLOBs has been improved from -C<"Unexpected object type (8) in store_hook()"> to indicate the perl -object type and the class. - -=back - -=head1 Documentation - -=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. - -=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 - -None - -=head3 New Warnings - -None - -=head2 Changes to Existing Diagnostics - -=over 4 - -=item * - -Various warnings that used to produce parenthesized hints underneath the -main warning message and after its "location data" were chanaged to put -the hint inline with the main message. For instance: - - Bareword found where operator expected at -e line 1, near "foo bar" - (Do you need to predeclare foo?) - -will now look like this but as one line: - - Bareword found where operator expected (Do you need to predeclare - foo?) at -e line 1, near "foo bar" - -as a result such warnings will no longer trigger C<$SIG{__WARN__}> -twice, and the hint will be visible when fatal warnings is in effect. - -=back - -=head1 Utility Changes - -=head2 Configure - -None - -=head1 Configuration and Compilation - -=over 4 - -=item * - -C/C formatting symbols added in 5.37.2, C, C, etc. -used to be defined in F using preprocessor conditionals. -They are now determined in F and defined in F. - -=back - -=head1 Testing - -=over 4 - -=item * - -Tests were added and changed to reflect the other additions and changes -in this release. - -=back - -=head1 Platform Support - -=over 4 - -=item Windows - -stat() now works on AF_UNIX socket files. [github #20204] - -readlink() now returns the C from a symbolic link reparse -point instead of the C, which should make it better -match the name the link was created with. [github #20271] - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -A new magic type C has been added. This is available for -use like C, but is a value magic: upon localization the new -value will not be magical. - -=item * - -The C, C, C and C APIs now -return a C value. The C and C macros now -expect a C parameter, and enforce that on debugging builds. -[github #20411] - -=item * - -Filenames in cops are now refcounted under threads. -Under threads we were copying the filenames into each opcode. This is because in -theory opcodes created in one thread can be destroyed in another. -The change adds a new struct/type RCPV, which is a refcounted -string using shared memory. This is implemented in such a way that code -that previously used a char * can continue to do so, as the refcounting -data is located a specific offset before the char * pointer itself. - -[commit 6760f691a95ab3a37fd59212795de2b1a7cf7888] - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -Fixes to memory handling for C: - -=over - -=item * - -If a thread was created the allocated string would be freed twice. - -=item * - -If two C<-F> switches were supplied the memory allocated for the first -switch wouldn't be freed. - -=back - -=back - -=head1 Known Problems - -None - -=head1 Errata From Previous Releases - -None - -=head1 Acknowledgements - -Perl 5.37.6 represents approximately 4 weeks of development since Perl -5.37.5 and contains approximately 16,000 lines of changes across 230 files -from 26 authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 12,000 lines of changes to 130 .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.37.6: - -Alexander Nikolov, Andreas König, Aristotle Pagaltzis, Bram, Branislav -Zahradník, chromatic, David Mitchell, E. Choroba, Elvin Aslanov, Felipe -Gasper, Graham Knop, James E Keenan, Joe McMahon, Johan Vromans, Karl -Williamson, Leon Timmermans, Mattia Barbon, Max Maischein, Paul Evans, -Ricardo Signes, Richard Leach, TAKAI Kousuke, Todd Rinaldo, Tom Stellard, -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/perl5377delta.pod b/pod/perl5377delta.pod deleted file mode 100644 index f1e2fac3a089..000000000000 --- a/pod/perl5377delta.pod +++ /dev/null @@ -1,347 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5377delta - what is new for perl v5.37.7 - -=head1 DESCRIPTION - -This document describes differences between the 5.37.6 release and the 5.37.7 -release. - -If you are upgrading from an earlier release such as 5.37.5, first read -L, which describes differences between 5.37.5 and 5.37.6. - -=head1 Core Enhancements - -=head2 Defined-or and logical-or assignment default expressions to signatures - -The default expression for a subroutine signature parameter can now be -assigned using the C or C<||=> operators, to apply the defaults whenever -the caller provided an undefined or false value (respectively), rather than -simply when the parameter is missing entirely. For more detail see the -documentation in L. - -=head2 @INC Hook Enhancements and $INC and INCDIR - -The internals for C<@INC> hooks have been hardened to handle various -edge cases and should no longer segfault or throw assert failures when -hooks modify C<@INC> during a require operation. As part of this we -now ensure that any given hook is executed at most once during a require -call, and that any duplicate directories do not trigger additional -directory probes. - -To provide developers more control over dynamic module lookup, a new hook -method C is now supported. An object supporting this method may be -injected into the C<@INC> array, and when it is encountered in the module -search process it will be executed, just like how INC hooks are executed, -and its return value used as a list of directories to search for the -module. Returning an empty list acts as a no-op. Note that since any -references returned by this hook will be stringified and used as strings, -you may not return a hook to be executed later via this API. - -When an C<@INC> hook (either C or C) is called during -require, the C<$INC> variable will be localized to be the value of the -index of C<@INC> that the hook came from. If the hook wishes to override -what the "next" index in C<@INC> should be it may update C<$INC> to be one -less than the desired index (C is equivalent to C<-1>). This -allows an C<@INC> hook to completely rewrite the C<@INC> array and have -perl restart its directory probes from the beginning of C<@INC>. - -Blessed CODE references in C<@INC> that do not support the C or -C methods will no longer trigger an exception, and instead will -be treated the same as unblessed coderefs are, and executed as though -they were an C hook. - -=head2 Forbidden control flow out of C or C now detected at compile-time - -It is forbidden to attempt to leave a C or C block by means -of control flow such as C or C. Previous versions of perl could -only detect this when actually attempted at runtime. - -This version of perl adds compile-time detection for many cases that can be -statically determined. This may mean that code which compiled successfully on -a previous version of perl is now reported as a compile-time error with this -one. This only happens in cases where it would have been an error to actually -execute the code anyway; the error simply happens at an earlier time. - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L has been upgraded from version 1.71 to 1.72. - -=item * - -L has been upgraded from version 0.029 to 0.030. - -=item * - -L has been upgraded from version 1.12 to 1.13. - -=item * - -L has been upgraded from version 3.48 to 3.49. - -=item * - -L has been upgraded from version 3.48 to 3.49. - -=item * - -L has been upgraded from version 1.77 to 1.78. - -=item * - -L has been upgraded from version 1.38 to 1.39. - -=item * - -L has been upgraded from version 3.86 to 3.88. - -=item * - -L has been upgraded from version 5.20221120 to 5.20221220. - -=item * - -L has been upgraded from version 1.62 to 1.63. - -=item * - -L has been upgraded from version 0.238 to 0.239. - -=item * - -L has been upgraded from version 1.33 to 1.34. Three auxiliary -subroutines previously importable from Pod::Html must now be imported from -Pod::Html::Util. - -=item * - -L has been upgraded from version 4.14 to 5.00. - -=item * - -L has been upgraded from version 2.08 to 2.10. All fields known -to the platform in L are now returned by -L. Previously, empty string fields and numeric fields -that aren't applicable to the current locale were omitted. - -=item * - -L has been upgraded from version 2.32 to 2.33. - -=item * - -L has been upgraded from version 1.27 to 1.28. - -=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 - -=back - -=head2 Changes to Existing Diagnostics - -=over 4 - -=item * - -The error message that is produced when a C or C statement -fails has been changed. It used to contain the words C<@INC contains:>, -and it used to show the state of C<@INC> *after* the require had -completed and failed. The error message has been changed to say C<@INC -entries checked:> and to reflect the actual directories or hooks that -were executed during the require statement. For example: - - perl -e'push @INC, sub {@INC=()}; eval "require Frobnitz" - or die $@' - Can't locate Frobnitz.pm in @INC (you may need to install the - Frobnitz module) (@INC contains:) at (eval 1) line 1. - -Will change to (with some output elided for clarity): - - perl -e'push @INC, sub {@INC=()}; eval "require Frobnitz" - or die $@' - Can't locate Frobnitz.pm in @INC (you may need to install the - Frobnitz module) (@INC entries checked: - .../site_perl/5.37.7/x86_64-linux .../site_perl/5.37.7 - .../5.37.7/x86_64-linux .../5.37.7 CODE(0x562745e684b8)) - at (eval 1) line 1. - -thus showing the actual directories checked. Code that checks for -C<@INC contains:> in error messages should be hardened against any future -wording changes between the C<@INC> and C<:>, for instance use -C instead of using C or -C in tests as this will ensure both forward -and backward compatibility. - -=back - -=head1 Testing - -Tests were added and changed to reflect the other additions and changes -in this release. - -=head1 Internal Changes - -=over 4 - -=item * - -The regex engine compilation code was split up into smaller sized compilation -units. No functionality changes were made. This was just to make it easier -to maintain the codebase. - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -Correctly handle C ops generated by CPAN modules that -don't include the OPf_REF flag when propagating lvalue context. -L<[GH #20532]|https://github.com/Perl/perl5/pull/20532> - -=item * - -L now uses the C locale category -to specify its collation, ignoring any differing C. It -doesn't make sense for a string to be encoded in one locale (say, -ISO-8859-6, Arabic) and to collate it based on another (like ISO-8859-7, -Greek). Perl assumes that the current C locale correctly -represents the encoding, and collates accordingly. - -Also, embedded C characters are now allowed in the input. - -If locale collation is not enabled on the platform (C), the -input is returned unchanged. - -=item * - -Double FETCH during stringification of tied scalars returning an -overloaded object have been fixed. The FETCH method should only be -called once, but prior to this release was actually called twice. -L<[GH #20574]|https://github.com/Perl/perl5/pull/20574> - -=back - -=head1 Known Problems - -=over 4 - -=item * - -CPAN modules not yet aware of new OPs - -L -L<[RT #144051]|https://rt.cpan.org/Ticket/Display.html?id=144051> -has not yet been updated to add awareness of new OPs introduced in -this development cycle. -L<[GH #20114]|https://github.com/Perl/perl5/issues/20114>. A patch has -been submitted upstream but this has not been incorporated into a new -release yet. - -L -L<[Test-Vars/GH #47]|https://github.com/houseabsolute/p5-Test-Vars/issues/47> -also requires updating, but since this module's own tests are not -failing, it is harder to determine how the new OPs should be -accounted for. A potential patch has been submitted upstream, but -awaits maintainer assessment. - -L -L<[RT #145279]|https://rt.cpan.org/Ticket/Display.html?id=145279> also -requires updating to add awareness of new OPs. Investigation is pending -and no patch has yet been submitted upstream. - -=back - -=head1 Acknowledgements - -Perl 5.37.7 represents approximately 4 weeks of development since Perl -5.37.6 and contains approximately 42,000 lines of changes across 250 files -from 20 authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 33,000 lines of changes to 140 .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.37.7: - -Bart Van Assche, Craig A. Berry, Eric Herman, Felipe Gasper, Graham Knop, -James E Keenan, Karl Williamson, Leon Timmermans, Matthew O. Persico, Max -Maischein, Paul Evans, Philippe Bruhat (BooK), Richard Leach, Russ Allbery, -Scott Baker, Tomasz Konojacki, Tony Cook, Tsuyoshi Watanabe, Yves Orton, -Zakariyya Mughal. - -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/perl5378delta.pod b/pod/perl5378delta.pod deleted file mode 100644 index ce4f8d3eefde..000000000000 --- a/pod/perl5378delta.pod +++ /dev/null @@ -1,229 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5378delta - what is new for perl v5.37.8 - -=head1 DESCRIPTION - -This document describes differences between the 5.37.7 release and the 5.37.8 -release. - -If you are upgrading from an earlier release such as 5.37.6, first read -L, which describes differences between 5.37.6 and 5.37.7. - -=head1 Core Enhancements - -=head2 Optimistic Eval in Patterns - -The use of C<(?{ ... })> and C<(??{ ... })> in a pattern disables various -optimisations globally in that pattern. This may or may not be desired by the -programmer. This release adds the C<(*{ ... })> and C<(**{ ... })> -equivalents. The only difference is that they do not and will never disable -any optimisations in the regex engine. This may make them more unstable in the -sense that they may be called more or less times in the future, however the -number of times they execute will truly match how the regex engine functions. -For example, certain types of optimisation are disabled when C<(?{ ... })> is -included in a pattern, so that patterns which are O(N) in normal use become -O(N*N) with a C<(?{ ... })> pattern in them. Switching to C<(*{ ... })> means -the pattern will stay O(N). - -B the C<(**{ ... })> was removed in 5.37.9 as it didn't quite work out -as planned. - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L has been upgraded from version 0.34 to 0.35. - -=item * - -L has been upgraded from version 2.20 to 2.22. - -=item * - -L has been upgraded from version 7.64 to 7.66. - -=item * - -L has been upgraded from version 1.78 to 1.79. - -=item * - -L has been upgraded from version 1.41 to 1.42. - -=item * - -L has been upgraded from version 1.11 to 1.14. - -=item * - -L has been upgraded from version 4.12 to 4.16. - -=item * - -L has been upgraded from version 1.5903 to 1.6. - -Modules in the Math-Complex distribution have been uniformly upgraded to -version 1.60. L has been upgraded from version 1.59_03 (with -no other code changes). - -=item * - -L has been upgraded from version 1.23_01 -with documentation improvements and code improvements in the calculation of -C. - -=item * - -L has been upgraded from version 5.20221220 to 5.20230120. - -=item * - -L has been upgraded from version 5.00 to 5.01. - -=item * - -L has been upgraded from version 2.10 to 2.11. - -=item * - -L has been upgraded from version 0.43 to 0.44. - -=item * - -L has been upgraded from version 3.28 to 3.29. - -=item * - -L has been upgraded from version 2.33 to 2.34. - -=item * - -L has been upgraded from version 1.28 to 1.30. - -=back - -=head1 Documentation - -=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. - -=head1 Platform Support - -=head2 Platform-Specific Notes - -=over 4 - -=item Windows - -=over - -=item * - -lstat() on Windows now returns the length of the link target as the -size of the file, as it does on POSIX systems. [github #20476] - -=item * - -symlink() on Windows now replaces any C in the target with C<\>, -since Windows does not recognise C in symbolic links. The reverse -translation is B done by readlink(). [github #20506] - -=item * - -symlink() where the target was an absolute path to a directory was -incorrectly created as a file symbolic link. [github #20533] - -=back - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -Added HvNAMEf and HvNAMEf_QUOTEDPREFIX special formats. They take an HV * -as an argument and use C and related macros to determine the string, -its length, and whether it is utf8. - -=back - -=head1 Acknowledgements - -Perl 5.37.8 represents approximately 4 weeks of development since Perl -5.37.7 and contains approximately 42,000 lines of changes across 350 files -from 25 authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 29,000 lines of changes to 220 .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.37.8: - -Andrew Ruthven, Andy Lester, Benjamin Smith, Bram, Chris 'BinGOs' Williams, -Dagfinn Ilmari Mannsåker, David Cantrell, David Mitchell, Elvin Aslanov, -Ferenc Erki, Florian Weimer, James E Keenan, Karen Etheridge, Karl -Williamson, Li Linjie, Max Maischein, Nicolas R, Paul Evans, Peter John -Acklam, Peter Levine, Renee Baecker, Richard Leach, Tomasz Konojacki, 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/perl5379delta.pod b/pod/perl5379delta.pod deleted file mode 100644 index d39e2677025f..000000000000 --- a/pod/perl5379delta.pod +++ /dev/null @@ -1,672 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5379delta - what is new for perl v5.37.9 - -=head1 DESCRIPTION - -This document describes differences between the 5.37.8 release and the 5.37.9 -release. - -If you are upgrading from an earlier release such as 5.37.7, first read -L, which describes differences between 5.37.7 and 5.37.8. - -=head1 Core Enhancements - -=head2 New C Feature - -A new B syntax is now available for defining object classes, -where per-instance data is stored in "field" variables that behave like -lexicals. - - use feature 'class'; - - class Point - { - field $x; - field $y; - - method zero { $x = $y = 0; } - } - -This is described in more detail in L. Notes on the internals of -its implementation and other related details can be found in L. - -This remains a new and experimental feature, and is very much still under -development. It will be the subject of much further addition, refinement and -alteration in future releases. As it is experimental, it yields warnings in -the C category. These can be silenced by a -C statement. - - use feature 'class'; - no warnings 'experimental::class'; - -=head2 REG_INF has been raised from 65,536 to 2,147,483,647 - -Many regex quantifiers used to be limited to U16_MAX in the past, but are -now limited to I32_MAX, thus it is now possible to write /(?:word){1000000}/ -for example. Note that doing so may cause the regex engine to run longer -and use more memory. - -=head2 New API functions optimize_optree and finalize_optree - -There are two new API functions for operating on optree fragments, ensuring -you can invoke the required parts of the optree-generation process that might -otherwise not get invoked (e.g. when creating a custom LOGOP). To get access -to these functions, you first need to set a C<#define> to opt-in to using -these functions. - - #define PERL_USE_VOLATILE_API - -These functions are closely tied to the internals of how the interpreter -works, and could be altered or removed at any time if other internal changes -make that necessary. - -=head1 Incompatible Changes - -=head2 (**{ ... }) removed from the regex engine. - -This feature was released as part of 5.37.8, after some use and -discussion it was seen as more problematic than understood at first -and has been removed in 5.37.9. It was only ever present in a single -development release and has never been released as part of a production perl, -thus no deprecation cycle has been performed. - -=head1 Deprecations - -=head2 Use of C<'> as a package name separator is deprecated - -Using C<'> as package separator in a variable named in a double-quoted -string has warned since 5.28. It is now deprecated in both string -interpolation and non-interpolated contexts, and will be removed in -Perl 5.40. - -=head1 Performance Enhancements - -=over 4 - -=item * - -Temporary ("mortal") copies are no longer created during context exit for -internal static SVs that are in no danger of being prematurely freed. -[L|https://github.com/Perl/perl5/issues/20800] - -=back - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L has been upgraded from version 2.34 to 2.36. - -=item * - -L has been upgraded from version 1.87 to 1.88. - -=item * - -L has been upgraded from version 2.201 to 2.204. - -=item * - -L has been upgraded from version 2.202 to 2.204. - -=item * - -L has been upgraded from version 1.32 to 1.33. - -=item * - -L has been upgraded from version 3.69 to 3.70. - -=item * - -L has been upgraded from version 0.030 to 0.031. - -=item * - -L has been upgraded from version 1.79 to 1.80. - -=item * - -L has been upgraded from version 1.42 to 1.43. - -=item * - -L has been upgraded from version 2.201 to 2.204. - -=item * - -L has been upgraded from version 1.6 to 1.61. - -=item * - -L has been upgraded from version 1.15 to 1.16. - -=item * - -L has been upgraded from version 5.20230120 to 5.20230220. - -=item * - -L has been upgraded from version 1.26 to 1.28. - -=item * - -L has been upgraded from version 1.63 to 1.64. - -=item * - -L has been upgraded from version 0.239 to 0.241. - -=item * - -L has been upgraded from version 1.17 to 1.18. - -=item * - -L has been upgraded from version 1.302191 to 1.302192. - -=item * - -L has been upgraded from version 1.06 to 1.07. - -=item * - -L has been upgraded from version 1.14 to 1.15. - -=item * - -L has been upgraded from version 1.61 to 1.62. - -=back - -=head1 Documentation - -=head2 New Documentation - -=head3 L - -Describes the new C feature. - -=head3 L - -Describes the internals of the new C feature. - -=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. - -Additionally, the following selected changes have been made: - -=head3 L - -=over 4 - -=item * - -Some wording improvements have been made for the C, C, -C and C functions, as well as additional examples added. - -=back - -=head3 L - -=over 4 - -=item * - -Added a section on "Scoping Rules of Regex Variables", and other wording -improvements made throughout. - -=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) You are attempting to call C with a package name that is a -new-style C. This is not necessary, as instances created by the -constructor are already in the correct class. Instances cannot be created -by other means, such as C. - -=item * - -L - -(F) An attempt was made to apply a parameter name to a field, when the name -is already being used by another field in the same class, or one of its -parent classes. This would cause a name clash so is not allowed. - -=item * - -L - -(F) An attempt was made to create a class out of a package that already has -an C<@ISA> array, and the array is not empty. This is not permitted, as it -would lead to a class with inconsistent inheritance. - -=item * - -L - -(F) You tried to directly call a C subroutine of one class by passing -in a value that is an instance of a different class. This is not permitted, -as the method would not have access to the correct instance fields. - -=item * - -L - -(F) You tried to directly call a C subroutine of a class by passing -in a value that is not an instance of that class. This is not permitted, as -the method would not then have access to its instance fields. - -=item * - -L - -(F) You attempted to use one of the keywords that only makes sense inside -a C definition, at a location that is not inside such a class. - -=item * - -L - -(F) You tried to begin a C definition for a class that already exists. -A class may only have one definition block. - -=item * - -L - -(F) You attempted to call C on a value that already refers to a real -object instance. - -=item * - -L - -(F) On Cygwin, you called a path conversion function with an empty path. -Only non-empty paths are legal. - -=item * - -L - -(F) You attempted to specify a second superclass for a C by using -the C<:isa> attribute, when one is already specified. Unlike classes -whose instances are created with C, classes created via the -C keyword cannot have more than one superclass. - -=item * - -L - -(F) You specified an attribute for a class that would require a value to -be passed in parentheses, but did not provide one. Remember that -whitespace is B permitted between the attribute name and its value; -you must write this as - - class Example::Class :attr(VALUE) ... - -=item * - -L - -(F) When creating a subclass using the C C<:isa> attribute, the -named superclass must also be a real class created using the C -keyword. - -=item * - -L - -(F) A field may have at most one application of the C<:param> attribute to -assign a parameter name to it; once applied a second one is not allowed. - -=item * - -L - -(F) You specified an attribute for a field that would require a value to -be passed in parentheses, but did not provide one. Remember that -whitespace is B permitted between the attribute name and its value; -you must write this as - - field $var :attr(VALUE) ... - -=item * - -L - -(F) An attempt was made to access a field variable of a class from code -that does not appear inside the body of a C subroutine. This is not -permitted, as only methods will have access to the fields of an instance. - -=item * - -L - -(F) An attempt was made to access a field variable of a class, from a -method of another class nested inside the one that actually defined it. -This is not permitted, as only methods defined by a given class are -permitted to access fields of that class. - -=item * - -L - -(F) You tried to apply the C<:param> attribute to an array or hash field. -Currently this is not permitted. - -=item * - -L - -(F) You called the constructor for a class that has a required named -parameter, but did not pass that parameter at all. - -=item * - -L - -(F) You tried to specify something other than a single class name with an -optional trailing version number as the value for a C C<:isa> -attribute. This confused the parser. - -=item * - -L - -(F) You attempted to add a named attribute to a C definition, but -perl does not recognise the name of the requested attribute. - -=item * - -L - -(F) You attempted to add a named attribute to a C definition, but -perl does not recognise the name of the requested attribute. - -=back - -=head3 New Warnings - -=over 4 - -=item * - -L - -(S experimental::class) This warning is emitted if you use the C -keyword of C. This keyword is currently -experimental and its behaviour may change in future releases of Perl. - -=item * - -L - -(S experimental::class) This warning is emitted if you use the C -keyword of C. This keyword is currently -experimental and its behaviour may change in future releases of Perl. - -=item * - -L - -(W redefine) You redefined a method. To suppress this warning, say - - { - no warnings 'redefine'; - *name = method { ... }; - } - -=item * - -L - -(W misc) You specified an odd number of elements to initialise a hash -field of an object. Hashes are initialised from a list of key/value -pairs so there must be a corresponding value to every key. The final -missing value will be filled in with undef instead. - -=item * - -L - -(W deprecated, syntax) You used the old package separator "'" in a -variable, subroutine or package name. Support for the old package -separator will be removed in Perl 5.40. - -=item * - -L - -(S experimental::class) This warning is emitted if you use the C -keyword of C. This keyword is currently -experimental and its behaviour may change in future releases of Perl. - -=item * - -L - -(S experimental::class) This warning is emitted if you use the C -keyword of C. This keyword is currently -experimental and its behaviour may change in future releases of Perl. - -=back - -=head2 Changes to Existing Diagnostics - -=over 4 - -=item * - -L - -This diagnostic is now also part of the C category. - -=back - -=head1 Configuration and Compilation - -=over 4 - -=item * - -C now properly handles quoted elements outputted from gcc. [L] - -=item * - -C probed for the return type of malloc() and free() by -testing whether declarations for those functions produced a function -type mismatch with the implementation. On Solaris, with a C++ -compiler, this check always failed, since Solaris instead imports -malloc() and free() from C with C for C++ builds. Since -the return types of malloc() and free() are well defined by the C -standard, skip probing for them. C command-line arguments -and hints can still override these type in the unlikely case that is -needed. [L] - -=back - -=head1 Testing - -Tests were added and changed to reflect the other additions and changes -in this release. - -=head1 Internal Changes - -=over 4 - -=item * - -The underlying C function implementing the -long-deprecated L|perlapi/GIMME> macro has been marked as -deprecated, so that use of the macro emits a compile-time warning. -C has been documented as deprecated in favour of -L|perlapi/GIMME_V> since Perl v5.6.0, but had not -previously issued a warning. - -=item * - -The API function L is now more efficient. - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -Writing to a magic variables associated with the selected output -handle, C<$^>, C<$~>, C<$=>, C<$-> and C<$%>, no longer crashes perl -if the IO object has been cleared from the selected output -handle. [L] - -=item * - -Redefining a C list constant with C now -properly warns. This changes the behaviour of C but is -a core change, not a change to F. [L] - -=item * - -Redefining a C list constant with an empty prototype -constant sub would result in an assertion failure. [L] - -=item * - -Fixed a regression where the C method for objects in C<@INC> -would not be resolved by C, while it was in 5.36. The -C method for objects in C<@INC> cannot be resolved by -C as C would have been resolved first. [L] - -=item * - -C<$SIG{__DIE__}> will now be called from eval when the code dies during -compilation regardless of how it dies. This means that code expecting to -be able to upgrade C<$@> into an object will be called consistently. In -earlier versions of perl C<$SIG{__DIE__}> would not be called for -certain compilation errors, for instance undeclared variables. For other -errors it might be called if there were more than a certain number of -errors, but not if there were less. Now you can expect that it will be -called in every case. - -=item * - -Compilation of code with errors used to inconsistently stop depending on -the count and type of errors encountered. The intent was that after 10 -errors compilation would halt, but bugs in this logic meant that certain -types of error would be counted, but would not trigger the threshold -check to stop compilation. Other errors would. With this release after -at most 10 errors compilation will terminate, regardless of what type of -error they were. - -Note that you can change the maximum count by defining -C to be something else during the -configuration process. For instance - - ./Configure ... -Accflags='-DPERL_STOP_PARSING_AFTER_N_ERRORS=100' - -would allow up to 100 errors. - -=item * - -The API function L now prints a non-dot decimal -point if the perl code it ultimately is called from is in the scope of -C and the locale in effect calls for that. - -=back - -=head1 Acknowledgements - -Perl 5.37.9 represents approximately 4 weeks of development since Perl -5.37.8 and contains approximately 24,000 lines of changes across 360 files -from 32 authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 8,400 lines of changes to 270 .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.37.9: - -Alexander Nikolov, Alex Davies, Andrew Fresh, Aristotle Pagaltzis, Bartosz -Jarzyna, Branislav Zahradník, Chad Granum, Craig A. Berry, Dagfinn Ilmari -Mannsåker, Dan Jacobson, Elvin Aslanov, Håkon Hægland, Hugo van der -Sanden, James E Keenan, Joe McMahon, Jonathan Stowe, Karen Etheridge, Karl -Williamson, Kurt Fitzner, Leon Timmermans, Max Maischein, Nicholas Clark, -Nicolas R, Paul Evans, Paul Marquess, Renee Baecker, Richard Leach, Scott -Baker, Todd Rinaldo, Tomasz Konojacki, 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/win32/pod.mak b/win32/pod.mak index 564bc3c7cd17..cbd796d151fa 100644 --- a/win32/pod.mak +++ b/win32/pod.mak @@ -68,18 +68,6 @@ POD = perl.pod \ perl5341delta.pod \ perl5360delta.pod \ perl5361delta.pod \ - perl5370delta.pod \ - perl53710delta.pod \ - perl53711delta.pod \ - perl5371delta.pod \ - perl5372delta.pod \ - perl5373delta.pod \ - perl5374delta.pod \ - perl5375delta.pod \ - perl5376delta.pod \ - perl5377delta.pod \ - perl5378delta.pod \ - perl5379delta.pod \ perl5380delta.pod \ perl561delta.pod \ perl56delta.pod \ @@ -249,18 +237,6 @@ MAN = perl.man \ perl5341delta.man \ perl5360delta.man \ perl5361delta.man \ - perl5370delta.man \ - perl53710delta.man \ - perl53711delta.man \ - perl5371delta.man \ - perl5372delta.man \ - perl5373delta.man \ - perl5374delta.man \ - perl5375delta.man \ - perl5376delta.man \ - perl5377delta.man \ - perl5378delta.man \ - perl5379delta.man \ perl5380delta.man \ perl561delta.man \ perl56delta.man \ @@ -430,18 +406,6 @@ HTML = perl.html \ perl5341delta.html \ perl5360delta.html \ perl5361delta.html \ - perl5370delta.html \ - perl53710delta.html \ - perl53711delta.html \ - perl5371delta.html \ - perl5372delta.html \ - perl5373delta.html \ - perl5374delta.html \ - perl5375delta.html \ - perl5376delta.html \ - perl5377delta.html \ - perl5378delta.html \ - perl5379delta.html \ perl5380delta.html \ perl561delta.html \ perl56delta.html \ @@ -611,18 +575,6 @@ TEX = perl.tex \ perl5341delta.tex \ perl5360delta.tex \ perl5361delta.tex \ - perl5370delta.tex \ - perl53710delta.tex \ - perl53711delta.tex \ - perl5371delta.tex \ - perl5372delta.tex \ - perl5373delta.tex \ - perl5374delta.tex \ - perl5375delta.tex \ - perl5376delta.tex \ - perl5377delta.tex \ - perl5378delta.tex \ - perl5379delta.tex \ perl5380delta.tex \ perl561delta.tex \ perl56delta.tex \