diff options
author | Ricardo Signes <rjbs@semiotic.systems> | 2022-05-15 17:07:27 -0400 |
---|---|---|
committer | Ricardo Signes <rjbs@semiotic.systems> | 2022-05-20 13:59:11 -0400 |
commit | ccfae580664a24b561d0de97390248e1763b7372 (patch) | |
tree | ad3d538e4efbbdef0db54a67f3750b8c5322ebaf | |
parent | aae76867bbc4acbdaf2094ea70eee1d2fc64b3e5 (diff) | |
download | perl-ccfae580664a24b561d0de97390248e1763b7372.tar.gz |
perldelta: remove the v5.35.z deltas
-rw-r--r-- | MANIFEST | 12 | ||||
-rwxr-xr-x | Makefile.SH | 8 | ||||
-rw-r--r-- | pod/.gitignore | 2 | ||||
-rw-r--r-- | pod/perl.pod | 12 | ||||
-rw-r--r-- | pod/perl5350delta.pod | 83 | ||||
-rw-r--r-- | pod/perl53510delta.pod | 315 | ||||
-rw-r--r-- | pod/perl53511delta.pod | 317 | ||||
-rw-r--r-- | pod/perl5351delta.pod | 239 | ||||
-rw-r--r-- | pod/perl5352delta.pod | 347 | ||||
-rw-r--r-- | pod/perl5353delta.pod | 293 | ||||
-rw-r--r-- | pod/perl5354delta.pod | 397 | ||||
-rw-r--r-- | pod/perl5355delta.pod | 404 | ||||
-rw-r--r-- | pod/perl5356delta.pod | 198 | ||||
-rw-r--r-- | pod/perl5357delta.pod | 229 | ||||
-rw-r--r-- | pod/perl5358delta.pod | 289 | ||||
-rw-r--r-- | pod/perl5359delta.pod | 460 | ||||
-rw-r--r-- | vms/descrip_mms.template | 2 | ||||
-rw-r--r-- | win32/GNUmakefile | 4 | ||||
-rw-r--r-- | win32/Makefile | 4 | ||||
-rw-r--r-- | win32/pod.mak | 56 |
20 files changed, 14 insertions, 3657 deletions
@@ -5308,18 +5308,6 @@ pod/perl5320delta.pod Perl changes in version 5.32.0 pod/perl5321delta.pod Perl changes in version 5.32.1 pod/perl5340delta.pod Perl changes in version 5.34.0 pod/perl5341delta.pod Perl changes in version 5.34.1 -pod/perl5350delta.pod Perl changes in version 5.35.0 -pod/perl53510delta.pod Perl changes in version 5.35.10 -pod/perl53511delta.pod Perl changes in version 5.35.11 -pod/perl5351delta.pod Perl changes in version 5.35.1 -pod/perl5352delta.pod Perl changes in version 5.35.2 -pod/perl5353delta.pod Perl changes in version 5.35.3 -pod/perl5354delta.pod Perl changes in version 5.35.4 -pod/perl5355delta.pod Perl changes in version 5.35.5 -pod/perl5356delta.pod Perl changes in version 5.35.6 -pod/perl5357delta.pod Perl changes in version 5.35.7 -pod/perl5358delta.pod Perl changes in version 5.35.8 -pod/perl5359delta.pod Perl changes in version 5.35.9 pod/perl561delta.pod Perl changes in version 5.6.1 pod/perl56delta.pod Perl changes in version 5.6 pod/perl581delta.pod Perl changes in version 5.8.1 diff --git a/Makefile.SH b/Makefile.SH index e20aeb120c..efeb8d6d23 100755 --- a/Makefile.SH +++ b/Makefile.SH @@ -613,7 +613,7 @@ esac $spitshell >>$Makefile <<'!NO!SUBS!' -perltoc_pod_prereqs = extra.pods pod/perl53512delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod +perltoc_pod_prereqs = extra.pods pod/perl5360delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod generated_pods = pod/perltoc.pod $(perltoc_pod_prereqs) generated_headers = uudmap.h bitcount.h mg_data.h @@ -1130,9 +1130,9 @@ pod/perlintern.pod: $(MINIPERL_EXE) autodoc.pl embed.fnc pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST $(MINIPERL) pod/perlmodlib.PL -q -pod/perl53512delta.pod: pod/perldelta.pod - $(RMS) pod/perl53512delta.pod - $(LNS) perldelta.pod pod/perl53512delta.pod +pod/perl5360delta.pod: pod/perldelta.pod + $(RMS) pod/perl5360delta.pod + $(LNS) perldelta.pod pod/perl5360delta.pod extra.pods: $(MINIPERL_EXE) -@test ! -f extra.pods || rm -f `cat extra.pods` diff --git a/pod/.gitignore b/pod/.gitignore index 37f995706e..e866386673 100644 --- a/pod/.gitignore +++ b/pod/.gitignore @@ -47,7 +47,7 @@ /roffitall # generated -/perl53512delta.pod +/perl5360delta.pod /perlapi.pod /perlintern.pod /perlmodlib.pod diff --git a/pod/perl.pod b/pod/perl.pod index e483d5753b..b5fe973b3a 100644 --- a/pod/perl.pod +++ b/pod/perl.pod @@ -179,18 +179,6 @@ aux h2ph h2xs perlbug pl2pm pod2html pod2man splain xsubpp perlhist Perl history records perldelta Perl changes since previous version - perl53511delta Perl changes in version 5.35.11 - perl53510delta Perl changes in version 5.35.10 - perl5359delta Perl changes in version 5.35.9 - perl5358delta Perl changes in version 5.35.8 - perl5357delta Perl changes in version 5.35.7 - perl5356delta Perl changes in version 5.35.6 - perl5355delta Perl changes in version 5.35.5 - perl5354delta Perl changes in version 5.35.4 - perl5353delta Perl changes in version 5.35.3 - perl5352delta Perl changes in version 5.35.2 - perl5351delta Perl changes in version 5.35.1 - perl5350delta Perl changes in version 5.35.0 perl5341delta Perl changes in version 5.34.1 perl5340delta Perl changes in version 5.34.0 perl5321delta Perl changes in version 5.32.1 diff --git a/pod/perl5350delta.pod b/pod/perl5350delta.pod deleted file mode 100644 index bff6014d8c..0000000000 --- a/pod/perl5350delta.pod +++ /dev/null @@ -1,83 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5350delta - what is new for perl v5.35.0 - -=head1 DESCRIPTION - -This document describes differences between the 5.34.0 release and the 5.35.0 -release. - -If you are upgrading from an earlier release such as 5.32.0, first read -L<perl5340delta>, which describes differences between 5.32.0 and 5.34.0. - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<feature> has been upgraded from version 1.64 to 1.65. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20210520 to 5.20210521. - -=back - -=head1 Acknowledgements - -Perl 5.35.0 represents approximately 8 hours of wallclock time since Perl -5.34.0 and contains approximately 3,300 lines of changes across 40 files from 1 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 64 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. For a more complete list of all of Perl's -historical contributors, please see the F<AUTHORS> file in the Perl source -distribution. - -Special thanks go to Sawyer X, who released perl v5.34.0 earlier today after -four years of work managing the project. - -=head1 Reporting Bugs - -If you find what you think is a bug, you might check the perl bug database -at L<https://github.com/Perl/perl5/issues>. There may also be information at -L<http://www.perl.org/>, the Perl Home Page. - -If you believe you have an unreported bug, please open an issue at -L<https://github.com/Perl/perl5/issues>. 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<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> -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<perlthanks> program: - - perlthanks - -This will send an email to the Perl 5 Porters list with your show of thanks. - -=head1 SEE ALSO - -The F<Changes> file for an explanation of how to view exhaustive details on -what changed. - -The F<INSTALL> file for how to build Perl. - -The F<README> file for general stuff. - -The F<Artistic> and F<Copying> files for copyright information. - -=cut diff --git a/pod/perl53510delta.pod b/pod/perl53510delta.pod deleted file mode 100644 index 058f0eb484..0000000000 --- a/pod/perl53510delta.pod +++ /dev/null @@ -1,315 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl53510delta - what is new for perl v5.35.10 - -=head1 DESCRIPTION - -This document describes differences between the 5.35.9 release and the 5.35.10 -release. - -If you are upgrading from an earlier release such as 5.35.8, first read -L<perl5359delta>, which describes differences between 5.35.8 and 5.35.9. - -=head1 Core Enhancements - -=head2 New function C<builtin::trim> - -This function treats its argument as a string, returning the result of -removing all white space at its beginning and ending. See -L<builtin/trim> - -=head2 Variable length lookbehind is mostly no longer considered experimental. - -Prior to this release any form of variable length lookbehind was -considered experimental. With this release the experimental status has -been reduced to cover only lookbehind that contains capturing parenthesis. -This is because it is not clear if - - "aaz"=~/(?=z)(?<=(a|aa))/ - -should match and leave $1 equaling "a" or "aa". Currently it will match -the longest possible alternative, "aa". We are confident that the overall -construct will now match only when it should, we are not confident that we -will keep the current "longest match" behavior. - -=head2 Added 'builtin::indexed' - -A new function has been added to the C<builtin> package, called C<indexed>. -It returns a list twice as big as its argument list, where each item is -preceded by its index within that list. This is primarily useful for using -the new C<foreach> syntax with multiple iterator variables to iterate over -an array or list, while also tracking the index of each item: - - use builtin 'indexed'; - - foreach my ($index, $val) (indexed @array) { - ... - } - -=head2 Added experimental feature 'extra_paired_delimiters' - -Perl traditionally has allowed just four pairs of string/pattern -delimiters: S<C<( )>> S<C<{ }>> S<C<[ ]>> and S<C<< < > >>>, all in the -ASCII range. Unicode has hundreds more possibilities, and using this -feature enables many of them. When enabled, you can say S<C<qr« »>> for -example, or S<C<use utf8; q𝄃string𝄂>>. See -L<feature/The 'extra_paired_delimiters' feature> for -details. - -=head1 Performance Enhancements - -=over 4 - -=item * - -Large hashes no longer allocate their keys from the shared string table. - -The same internal datatype (C<PVHV>) is used for all of - -=over 4 - -=item * - -Symbol tables - -=item * - -Objects (by default) - -=item * - -Associative arrays - -=back - -The shared string table was originally added to improve performance for blessed -hashes used as objects, because every object instance has the same keys, so it -is an optimisation to share memory between them. It also makes sense for symbol -tables, where derived classes will have the same keys (typically method names), -and the OP trees built for method calls can also share memory. The shared -string table behaves roughly like a cache for hash keys. - -But for hashes actually used as associative arrays - mapping keys to values - -typically the keys are not re-used in other hashes. For example, "seen" hashes -are keyed by object IDs (or addresses), and logically these keys won't repeat -in other hashes. - -Storing these "used just once" keys in the shared string table increases CPU -and RAM use for no gain. For such keys the shared string table behaves as a -cache with a 0% hit rate. Storing all the keys there increases the total size -of the shared string table, as well as increasing the number of times it is -resized as it grows. B<Worse> - in any environment that has "copy on write" -memory for child process (such as a pre-forking server), the memory pages used -for the shared string table rapidly need to be copied as the child process -manipulates hashes. Hence if most of the shared string table is such keys that -are used only in one place, there is no benefit from re-use within the perl -interpreter, but a high cost due to more pages for the OS to copy. - -The perl interpreter now disables shared hash keys for "large" hashes (that are -neither objects nor symbol tables). "Large" is a heuristic - currently the -heuristic is that sharing is disabled when adding a key to a hash triggers -allocation of more storage, and the hash has more than 42 keys. - -This B<might> cause slightly increased memory usage for programs that create -(unblessed) data structures that contain multiple large hashes that share the -same keys. But generally our testing suggests that for the specific cases -described it is a win, and other code is unaffected. - -=back - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<Attribute::Handlers> has been upgraded from version 1.01 to 1.02. - -=item * - -L<B::Deparse> has been upgraded from version 1.62 to 1.63. - -=item * - -L<DB_File> has been upgraded from version 1.856 to 1.857. - -=item * - -L<Devel::PPPort> has been upgraded from version 3.64 to 3.68. - -=item * - -L<experimental> has been upgraded from version 0.027 to 0.028. - -=item * - -L<ExtUtils::ParseXS> has been upgraded from version 3.44 to 3.45. - -=item * - -L<ExtUtils::Typemaps> has been upgraded from version 3.44 to 3.45. - -=item * - -L<feature> has been upgraded from version 1.70 to 1.71. - -=item * - -L<File::Spec> has been upgraded from version 3.83 to 3.84. - -=item * - -L<GDBM_File> has been upgraded from version 1.22 to 1.23. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20220220 to 5.20220320. - -=item * - -L<Opcode> has been upgraded from version 1.56 to 1.57. - -=item * - -L<Scalar::Util> has been upgraded from version 1.61 to 1.62. - -=item * - -L<Test::Simple> has been upgraded from version 1.302188 to 1.302190. - -=item * - -L<warnings> has been upgraded from version 1.57 to 1.58. - -=item * - -L<XS::APItest> has been upgraded from version 1.21 to 1.22. - -=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<https://github.com/Perl/perl5/issues>. - -=head1 Diagnostics - -The following additions or changes have been made to diagnostic output, -including warnings and fatal error messages. For the complete list of -diagnostic messages, see L<perldiag>. - -=head2 New Diagnostics - -=head3 New Errors - -=over 4 - -=item * - -L<Wide character in $0|perldiag/"Wide character in %s"> - -Attempts to put wide characters into the program name (C<$0>) now -provoke this warning. - -=back - -=head2 Changes to Existing Diagnostics - -=over 4 - -=item * New 'scalar' category for "Useless use of sort in scalar context" - -When C<sort> is used in scalar context, it provokes a warning that this is not -useful. This warning used to be in the C<void> category. A new category for -warnings about scalar context has now been added, called C<scalar>. - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -C<sv_dump> (and L<Devel::Peek>’s C<Dump> function) now escapes high-bit -octets in the PV as hex rather than octal. Since most folks understand hex -more readily than octal, this should make these dumps a bit more legible. -This does B<not> affect any other diagnostic interfaces like C<pv_display>. - -=back - -=head1 Acknowledgements - -Perl 5.35.10 represents approximately 4 weeks of development since Perl -5.35.9 and contains approximately 15,000 lines of changes across 300 files -from 26 authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 6,900 lines of changes to 190 .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.35.10: - -Bernd, Brad Barden, Chad Granum, cuishuang, Curtis Poe, Dagfinn Ilmari -Mannsåker, Daniel Laügt, Felipe Gasper, Graham Knop, Hugo van der Sanden, -James E Keenan, Karl Williamson, Leon Timmermans, Matthew Horsfall, Michiel -Beijen, Nicholas Clark, Nicolas R, Paul Evans, Renee Baecker, Ricardo -Signes, Richard Leach, Sawyer X, Sisyphus, Steve Hay, TAKAI Kousuke, 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<AUTHORS> 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<https://github.com/Perl/perl5/issues>. There may also be information at -L<http://www.perl.org/>, the Perl Home Page. - -If you believe you have an unreported bug, please open an issue at -L<https://github.com/Perl/perl5/issues>. 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<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> -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<perlthanks> program: - - perlthanks - -This will send an email to the Perl 5 Porters list with your show of thanks. - -=head1 SEE ALSO - -The F<Changes> file for an explanation of how to view exhaustive details on -what changed. - -The F<INSTALL> file for how to build Perl. - -The F<README> file for general stuff. - -The F<Artistic> and F<Copying> files for copyright information. - -=cut diff --git a/pod/perl53511delta.pod b/pod/perl53511delta.pod deleted file mode 100644 index e6932d0540..0000000000 --- a/pod/perl53511delta.pod +++ /dev/null @@ -1,317 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl53511delta - what is new for perl v5.35.11 - -=head1 DESCRIPTION - -This document describes differences between the 5.35.10 release and the 5.35.11 -release. - -If you are upgrading from an earlier release such as 5.35.9, first read -L<perl53510delta>, which describes differences between 5.35.9 and 5.35.10. - -=head1 Core Enhancements - -=head2 New functions C<builtin::created_as_string> and C<builtin::created_as_number> - -These new functions allow code to inspect whether a defined but non-referential -scalar value originated from an expression that was string-like in nature, or -number-like. While most uses within Perl should not care about such -distinctions, this can be useful when serialising or encoding Perl data -structures for export to other languages or data formats where such a -distinction does matter. - -=head2 Support for not sharing all keys in large hash tables. - -This release includes support to build Perl so that it does not share all keys -in hash tables as has been historically the case since Perl v5.6. The shared -key behavior was added to Perl originally to support having many objects with -the same keys without having to store each key many times. For objects that -might be created hundreds or thousands of times this key sharing behavior can -result in using significantly less memory. However, key sharing comes at the -cost of having to maintain an internal "master hash table" (PL_str_tab), and -having to do two store operations per key stored in a hash table. It also can -result in surprising consequences with programs that fork, causing the master -hash table to be COWed (copy on write) into the memory space for each forked -process which can, in worst case, greatly increase the memory utilization of -such scripts. - -The new behavior is an attempt to have our cake and eat it too. Small hash -tables will continue to share keys, but once the hash table is used to store -more than a certain number of keys (currently 64) it will not share the new -keys that are added. This should benefit scripts that build large hash tables, -especially those that do so in forked sub-processes. The unshared mode is -triggered when the hash table is resized which is non-deterministic and depends -on the underlying hash function that perl has been built with and the seed used -by the current process so the exact circumstances when this new mode will be -enabled for a given hash will vary between different invocations of a script. - -We are uncertain of the exact effects of this new mode and are keen to get -field reports about the consequences of enabling it. We know that in many -cases not sharing keys speeds up scripts in general, and may result in a -reduction in memory consumption. Code that builds large hashes where the keys -are stored in only one hash, for instance where the keys are message digests, -will likely benefit from this change by being faster and using less memory. -However, there are also circumstances where not sharing keys can significantly -increase memory consumption, such as where large numbers of keys are stored in -multiple hash tables at once. We have data to suggest that not sharing keys -will reduce COW churn and overall memory consumption in scripts that fork and -construct large hash tables, however such scripts may also encounter a modest -speed penalty. Overall, the consequences of not sharing keys will vary -depending on workload. However, we believe that broadly speaking enabling this -feature will be beneficial for most of our users. We would like to get data -from the field to validate our assumptions. - -We are not enabling the new mode by default in this release as we want to -gather more data and obtain feedback from the field about how it affects -people's scripts, but our intention is to ship the next release of Perl, -version 5.38, with some form of this functionality enabled. We are hopeful -that people will try to build their perls with this feature and provide us -feedback on the results. This will help guide our next steps. So please try -it and send feedback to the porters mailing list. - -You can enable this new feature by passing - - -Accflags='-DPERL_USE_UNSHARED_KEYS_IN_LARGE_HASHES' - -to F<Configure> during the Configuration process. - -Big thanks to Nicholas Clark for all the hard work in implementing this new -feature. - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<B::Deparse> has been upgraded from version 1.63 to 1.64. - -Deparse now tries harder to preserve the original type of numeric constants, so -!0 is deparsed as '!0' rather than '1', 2.0 is deparsed as '2.0' rather than -'2' etc. The 'use/no warnings' lines for custom warnings categories are now -fully handled - in the previous few releases only a small number of categories -were correctly handled. - -=item * - -L<bignum> has been upgraded from version 0.64 to 0.65. - -=item * - -L<Compress::Raw::Bzip2> has been upgraded from version 2.101 to 2.103. - -=item * - -L<Compress::Raw::Zlib> has been upgraded from version 2.101 to 2.103. - -=item * - -L<Encode> has been upgraded from version 3.16 to 3.17. - -=item * - -L<IO> has been upgraded from version 1.49 to 1.49_01. - -=item * - -IO-Compress has been upgraded from version 2.102 to 2.106. - -=item * - -libnet has been upgraded from version 3.13 to 3.14. - -=item * - -L<Locale::Maketext> has been upgraded from version 1.30 to 1.31. - -=item * - -L<Math::BigInt> has been upgraded from version 1.999829 to 1.999830. - -=item * - -L<Math::BigRat> has been upgraded from version 0.2620 to 0.2621. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20220320 to 5.20220420. - -=item * - -L<re> has been upgraded from version 0.42 to 0.43. - -=item * - -L<Socket> has been upgraded from version 2.032 to 2.033. - -=item * - -L<Storable> has been upgraded from version 3.25 to 3.26. - -=item * - -L<Test::Harness> has been upgraded from version 3.43 to 3.44. - -=item * - -L<Text::ParseWords> has been upgraded from version 3.30 to 3.31. - -=item * - -L<Time::HiRes> has been upgraded from version 1.9769 to 1.9770. - -=item * - -L<Unicode::Normalize> has been upgraded from version 1.30 to 1.31. - -=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<https://github.com/Perl/perl5/issues>. - -Additionally, the following selected changes have been made: - -=head3 L<perlfunc> - -=over 4 - -=item * - -Add the new flow-control keywords (try, catch, finally and defer). - -=back - -=head2 Removed Documentation - -=over - -=item * - -The long-obsolete F<README.macos> (aka the perlmacos manpage) has been removed. - -=back - -=head1 Configuration and Compilation - -=over 4 - -=item * - -A new question has been added to Configure, to ask if you want to build perl -with taint support. If you say "no", then all taint features, such as the -B<-T> and B<-t> switches, will silently do nothing. It defaults to "yes", so -if you run Configure accepting all defaults, you'll get a perl which supports -taint just like before. - -If you're used to running Configure in "batch mode", here's how you'd build -Perl without taint support: - - ./Configure -des -Utaint_support - -You can check the C<taint_support> key in the C<%Config> hash (in the B<Config> -module) to determine whether your perl supports taint. If the key doesn't -exist in the hash, then you're almost certainly running under an older perl -which predates this change, and you can assume that taint is support. See -L<perlsec> for more details. - -=back - -=head1 Testing - -Tests were added and changed to reflect the other additions and changes in this -release. - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -Early bailout from the inner one of a pair of nested lookbehinds could cause -the outer lookbehind to give the wrong answer. -[L<GH #19557|https://github.com/Perl/perl5/issues/19557>]. - -=item * - -ACCEPT inside of a C<< (...)+ >> now works as expected. -[L<GH #19484|https://github.com/Perl/perl5/issues/19484>]. - -=back - -=head1 Acknowledgements - -Perl 5.35.11 represents approximately 4 weeks of development since Perl 5.35.10 -and contains approximately 42,000 lines of changes across 360 files from 24 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 36,000 lines of changes to 250 .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.35.11: - -Bram, brian d foy, Dagfinn Ilmari Mannsåker, David Mitchell, Eugen Konkov, -Graham Knop, Hugo van der Sanden, James E Keenan, Karl Williamson, Leon -Timmermans, Magnus Woldrich, Neil Bowers, Niyas Sait, Paul Evans, Paul -Marquess, Ricardo Signes, Richard Leach, Sawyer X, Sergey Poznyakoff, Sisyphus, -Steve Hay, Todd Rinaldo, 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<AUTHORS> 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<https://github.com/Perl/perl5/issues>. There may also be information at -L<http://www.perl.org/>, the Perl Home Page. - -If you believe you have an unreported bug, please open an issue at -L<https://github.com/Perl/perl5/issues>. 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<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> 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<perlthanks> program: - - perlthanks - -This will send an email to the Perl 5 Porters list with your show of thanks. - -=head1 SEE ALSO - -The F<Changes> file for an explanation of how to view exhaustive details on -what changed. - -The F<INSTALL> file for how to build Perl. - -The F<README> file for general stuff. - -The F<Artistic> and F<Copying> files for copyright information. - -=cut diff --git a/pod/perl5351delta.pod b/pod/perl5351delta.pod deleted file mode 100644 index c3abebd3ed..0000000000 --- a/pod/perl5351delta.pod +++ /dev/null @@ -1,239 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5351delta - what is new for perl v5.35.1 - -=head1 DESCRIPTION - -This document describes differences between the 5.35.0 release and the 5.35.1 -release. - -If you are upgrading from an earlier release such as 5.34.0, first read -L<perl5350delta>, which describes differences between 5.34.0 and 5.35.0. - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<B::Deparse> has been upgraded from version 1.56 to 1.57. - -=item * - -L<Data::Dumper> has been upgraded from version 2.179 to 2.181. - -=item * - -L<feature> has been upgraded from version 1.65 to 1.66. - -=item * - -L<File::Copy> has been upgraded from version 2.35 to 2.36. - -Inode numbers are now compared as strings, so that large inode numbers -are correctly distinguished. (GH #18788) - -=item * - -L<File::Glob> has been upgraded from version 1.33 to 1.35. - -=item * - -L<File::Spec> has been upgraded from version 3.80 to 3.81. - -=item * - -L<File::stat> has been upgraded from version 1.09 to 1.10. - -=item * - -L<IO> has been upgraded from version 1.46 to 1.47. - -Implement sync() for win32. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20210521 to 5.20210620. - -=item * - -L<Opcode> has been upgraded from version 1.50 to 1.51. - -=item * - -L<open> has been upgraded from version 1.12 to 1.13. - -=item * - -L<PathTools|Cwd> has been upgraded from version 3.80 to 3.81. - -Inodes numbers are now compared as strings, so that large inode numbers -are correctly distinguished. (GH #18788) - -=item * - -L<perlfaq> has been upgraded from version 5.20210411 to 5.20210520. - -=item * - -L<POSIX> has been upgraded from version 1.97 to 1.98. - -=item * - -L<Scalar::Util> has been upgraded from version 1.55 to 1.56. - -=item * - -L<Socket> has been upgraded from version 2.031 to 2.032. - -=item * - -L<Test::Simple> has been upgraded from version 1.302183 to 1.302185. - -=item * - -L<Unicode::Collate> has been upgraded from version 1.29 to 1.30. - -One warning in F<mkheader> averted (rt.cpan.org #133952). - -=item * - -L<Unicode::UCD> has been upgraded from version 0.75 to 0.76. - -=item * - -L<version> has been upgraded from version 0.9928 to 0.9929. - -=item * - -L<XS::APItest> has been upgraded from version 1.16 to 1.17. - -=back - -=head2 Changes to Existing Diagnostics - -=over 4 - -=item * - -L<Can't modify %s in %s|perldiag/"Can't modify %s in %s"> -(for scalar assignment to C<undef>) - -Attempting to perform a scalar assignment to C<undef>, for example via -C<undef = $foo;>, previously triggered a fatal runtime error with the -message "L<Modification of a read-only value attempted|perldiag/"Modification of a read-only value attempted">." -It is more helpful to detect such attempted assignments prior to -runtime, so they are now compile time errors, resulting in the message -"Can't modify undef operator in scalar assignment". - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -Since the removal of PERL_OBJECT in Perl 5.8, PERL_IMPLICIT_CONTEXT and -MULTIPLICITY have been synonymous and they were being used interchangeably. -To simplify the code, all instances of PERL_IMPLICIT_CONTEXT have been -replaced with MULTIPLICITY. - -PERL_IMPLICIT_CONTEXT will remain defined for compatibility with XS modules. - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -utime() now correctly sets errno/C<$!> when called on a closed handle. - -=item * - -B::Deparse now correctly handles try/catch blocks with more complex scopes. -[L<GH #18874|https://github.com/Perl/perl5/issues/18874>] - -=back - -=head1 Obituary - -Raun "Spider" Boardman (SPIDB on CPAN), author of at least 66 commits to the -Perl 5 core distribution between 1996 and 2002, passed away May 24 2021 from -complications of COVID. He will be missed. - -=head1 Acknowledgements - -Perl 5.35.1 represents approximately 4 weeks of development since Perl -5.35.0 and contains approximately 57,000 lines of changes across 410 files -from 28 authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 53,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.35.1: - -Alyssa Ross, Chris 'BinGOs' Williams, Dan Book, Dan Jacobson, Dave Cross, -Dave Lambley, E. Choroba, Felipe Gasper, H.Merijn Brand, Hugo van der -Sanden, James E Keenan, Karen Etheridge, Karl Williamson, Leon Timmermans, -Matthew Horsfall, Max Maischein, Michael G Schwern, Nicholas Clark, Paul -Evans, Ricardo Signes, Richard Leach, Scott Baker, Thibault Duponchelle, -Todd Rinaldo, Tomasz Konojacki, Tomoyuki Sadahiro, Tony Cook, Михаил -Козачков. - -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<AUTHORS> 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<https://github.com/Perl/perl5/issues>. There may also be information at -L<http://www.perl.org/>, the Perl Home Page. - -If you believe you have an unreported bug, please open an issue at -L<https://github.com/Perl/perl5/issues>. 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<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> -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<perlthanks> program: - - perlthanks - -This will send an email to the Perl 5 Porters list with your show of thanks. - -=head1 SEE ALSO - -The F<Changes> file for an explanation of how to view exhaustive details on -what changed. - -The F<INSTALL> file for how to build Perl. - -The F<README> file for general stuff. - -The F<Artistic> and F<Copying> files for copyright information. - -=cut diff --git a/pod/perl5352delta.pod b/pod/perl5352delta.pod deleted file mode 100644 index 85baeb4ec8..0000000000 --- a/pod/perl5352delta.pod +++ /dev/null @@ -1,347 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5352delta - what is new for perl v5.35.2 - -=head1 DESCRIPTION - -This document describes differences between the 5.35.1 release and the 5.35.2 -release. - -If you are upgrading from an earlier release such as 5.35.0, first read -L<perl5351delta>, which describes differences between 5.35.0 and 5.35.1. - - - - -=head1 Modules and Pragmata - - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<B::Concise> has been upgraded from version 1.004 to 1.005. - -=item * - -L<bignum> has been upgraded from version 0.51 to 0.53. - -=item * - -L<Data::Dumper> has been upgraded from version 2.181 to 2.183. - -=item * - -L<DB_File> has been upgraded from version 1.855 to 1.856. - -=item * - -L<Devel::Peek> has been upgraded from version 1.30 to 1.31. - -=item * - -L<Devel::PPPort> has been upgraded from version 3.62 to 3.63. - -=item * - -L<DynaLoader> has been upgraded from version 1.50 to 1.51. - -=item * - -L<Encode> has been upgraded from version 3.08 to 3.10. - -=item * - -L<Errno> has been upgraded from version 1.33 to 1.34. - -=item * - -L<ExtUtils::Miniperl> has been upgraded from version 1.10 to 1.11. - -=item * - -L<Fcntl> has been upgraded from version 1.14 to 1.15. - -=item * - -L<File::Find> has been upgraded from version 1.39 to 1.39_01. - -=item * - -L<File::Glob> has been upgraded from version 1.35 to 1.36. - -=item * - -L<File::Spec> has been upgraded from version 3.81 to 3.82. - -=item * - -L<File::stat> has been upgraded from version 1.10 to 1.11. - -=item * - -L<GDBM_File> has been upgraded from version 1.19 to 1.20. - -=item * - -L<Hash::Util> has been upgraded from version 0.25 to 0.26. - -=item * - -L<Hash::Util::FieldHash> has been upgraded from version 1.21 to 1.22. - -=item * - -L<I18N::Langinfo> has been upgraded from version 0.19 to 0.20. - -=item * - -L<if> has been upgraded from version 0.0609 to 0.0610. - -=item * - -L<IPC::Open3> has been upgraded from version 1.21 to 1.22. - -=item * - -L<Math::BigInt> has been upgraded from version 1.999818 to 1.999823. - -Made the C<from_*()> functions consistent with the core C<oct()> function, -in not requiring a leading 0 before the letter ("x", "o", or "b"). - -Made the from_oct() and new() methods accept octal numbers with prefix -"0o", "0O", "o" (lowercase letter o), and "O" (capital letter O). -Similarly with "x" and "b" for hexadecimal and binary numbers. - -Improved the handling of the backend libraries. -More useful warnings and error messages. - - -=item * - -L<Math::BigInt::FastCalc> has been upgraded from version 0.5009 to 0.5010. - -Made it possible to specify a smaller base length than the default. - -Updated the SUPPORT information. - -Sync'd test files with Math::BigInt. - -=item * - -L<Math::BigRat> has been upgraded from version 0.2614 to 0.2617. - -C<bnok()> was fixed - it didn't work at all. - -The handling of backend libraries was improved. - -Existing test files were reorganised and more tests added. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20210620 to 5.20210723. - -=item * - -L<Opcode> has been upgraded from version 1.51 to 1.52. - -=item * - -C<perl5db.pl> has been upgraded from version 1.60 to 1.61. - -The C<v> command works again, and now has some tests. - -=item * - -L<PerlIO> has been upgraded from version 1.11 to 1.12. - -=item * - -L<Pod::Functions> has been upgraded from version 1.13 to 1.14. - -=item * - -L<Pod::Html> has been upgraded from version 1.27 to 1.31. - -=item * - -L<Pod::Simple> has been upgraded from version 3.42 to 3.43. - -=item * - -L<Sys::Hostname> has been upgraded from version 1.23 to 1.24. - -=item * - -L<Text::Tabs> has been upgraded from version 2013.0523 to 2021.0717. - -Explicitly declared strictures and warnings everywhere. - -=item * - -L<Text::Wrap> has been upgraded from version 2013.0523 to 2021.0717. - -Explicitly declared strictures and warnings everywhere. - -=item * - -L<threads> has been upgraded from version 2.26 to 2.27. - -=item * - -L<Time::HiRes> has been upgraded from version 1.9767 to 1.9768. - -=item * - -L<Unicode::UCD> has been upgraded from version 0.76 to 0.77. - -=item * - -L<VMS::Filespec> has been upgraded from version 1.12 to 1.13. - -=item * - -L<VMS::Stdio> has been upgraded from version 2.45 to 2.46. - -=item * - -L<warnings> has been upgraded from version 1.51 to 1.52. - -=item * - -L<XSLoader> has been upgraded from version 0.30 to 0.31. - -=back - - -=head1 Documentation - -=head2 Changes to Existing Documentation - -=head3 L<perlintro> - -=over 4 - -=item * - -A number of sentences in L<perlintro> have been simplified, -to make things clearer. -Ambiguities were resolved, related to "special variables". - -=back - - -=head1 Platform Support - -The :win32 IO layer has been removed. This experimental replacement for the -:unix layer never reached maturity in its nearly two decades of existence. - -=head1 Internal Changes - -=over 4 - -=item * - -The API constant formerly named C<G_ARRAY>, indicating list context, has now -been renamed to a more accurate C<G_LIST>. A compatibilty macro C<G_ARRAY> has -been added to allow existing code to work unaffected. New code should be -written using the new constant instead. This is supported by C<Devel::PPPort> -version 3.63. - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -The flags on the OPTVAL parameter to setsockopt() were previously -checked before magic was called, possibly treating a numeric value as -a packed buffer or vice versa. It also ignored the UTF-8 flag, -potentially treating the internal representation of an upgraded SV as -the bytes to supply to the setsockopt() system call. (github L<#18660|https://github.com/Perl/perl5/issues/18660>) - -=item * - -Only set IOKp, not IOK on $) and $(. -This was issue L<#18955|https://github.com/Perl/perl5/issues/18955>: This will prevent serializers from serializing these -variables as numbers (which loses the additional groups). -This restores behaviour from 5.16 - -=back - - -=head1 Acknowledgements - -Perl 5.35.2 represents approximately 5 weeks of development since Perl -5.35.1 and contains approximately 27,000 lines of changes across 420 files -from 25 authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 14,000 lines of changes to 200 .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.35.2: - -Atsushi Sugawara, Ben Cornett, Chris 'BinGOs' Williams, Christian Walde -(Mithaldu), Craig A. Berry, David Golden, David Marshall, Felipe Gasper, -Jakub Wilk, James E Keenan, Karl Williamson, Leam Hall, Leon Timmermans, Max -Maischein, Neil Bowers, Nicholas Clark, Paul Evans, Paul Marquess, Richard -Leach, Sawyer X, Sergey Poznyakoff, Sven Kirmess, Thibault Duponchelle, Todd -Rinaldo, Tony Cook. - -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<AUTHORS> 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<https://github.com/Perl/perl5/issues>. There may also be information at -L<http://www.perl.org/>, the Perl Home Page. - -If you believe you have an unreported bug, please open an issue at -L<https://github.com/Perl/perl5/issues>. 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<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> -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<perlthanks> program: - - perlthanks - -This will send an email to the Perl 5 Porters list with your show of thanks. - -=head1 SEE ALSO - -The F<Changes> file for an explanation of how to view exhaustive details on -what changed. - -The F<INSTALL> file for how to build Perl. - -The F<README> file for general stuff. - -The F<Artistic> and F<Copying> files for copyright information. - -=cut diff --git a/pod/perl5353delta.pod b/pod/perl5353delta.pod deleted file mode 100644 index 02bebe06b7..0000000000 --- a/pod/perl5353delta.pod +++ /dev/null @@ -1,293 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5353delta - what is new for perl v5.35.3 - -=head1 DESCRIPTION - -This document describes differences between the 5.35.2 release and the 5.35.3 -release. - -If you are upgrading from an earlier release such as 5.35.1, first read -L<perl5352delta>, which describes differences between 5.35.1 and 5.35.2. - -=head1 Notice - -With this release, the experimental C<switch> feature, present in every feature -bundle since they were introduced in v5.10, has been removed from the v5.36 -bundle. If you want to live dangerously and use it, you'll have to enable it -explicitly. - -=head1 Core Enhancements - -All warnings are enabled automatically within the scope of -a C<L<use v5.35|perlfunc/use VERSION>> (or higher) declaration. - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<Archive::Tar> has been upgraded from version 2.38 to 2.40. - -=item * - -L<diagnostics> has been upgraded from version 1.37 to 1.38. - -=item * - -L<Encode> has been upgraded from version 3.10 to 3.12. - -=item * - -L<feature> has been upgraded from version 1.66 to 1.67. - -Added a simple API to check which features or feature bundles are -enabled. (github L<#18968|https://github.com/Perl/perl5/pull/18968>) - -=item * - -L<Module::CoreList> has been upgraded from version 5.20210723 to 5.20210820. - -=item * - -L<Opcode> has been upgraded from version 1.52 to 1.53. - -=item * - -L<Pod::Html> has been upgraded from version 1.31 to 1.32. - -=item * - -L<POSIX> has been upgraded from version 1.98 to 1.99. - -=item * - -L<sort> has been upgraded from version 2.04 to 2.05. - -The C<sort> pragma is now a no-op, and its use is discouraged. -C<sort::current> now issues a deprecation warning and always returns I<stable>. - -=item * - -L<Storable> has been upgraded from version 3.23 to 3.24. - -=item * - -L<Text::Tabs> has been upgraded from version 2021.0717 to 2021.0804. - -=item * - -L<Text::Wrap> has been upgraded from version 2021.0717 to 2021.0804. - -=item * - -L<threads::shared> has been upgraded from version 1.62 to 1.63. - -=item * - -L<Time::HiRes> has been upgraded from version 1.9768 to 1.9769. - -Makefile.PL now correct handles configuration set in perl hints. -(github L<#18953|https://github.com/Perl/perl5/issues/18953>) - -=item * - -L<Unicode::Normalize> has been upgraded from version 1.28 to 1.30. - -=item * - -L<warnings> has been upgraded from version 1.52 to 1.53. - -=item * - -L<XS::APItest> has been upgraded from version 1.17 to 1.18. - -=back - -=head1 Documentation - -=head2 New Documentation - -=head3 F<Porting/vote_admin_guide.pod> - -This document provides the process for administering an election or vote -within the Perl Core Team. - -=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<https://github.com/Perl/perl5/issues>. - -Additionally, the following selected changes have been made: - -=head3 L<perlop> - -=over 4 - -=item * - -now notes that an invocant only needs to be an object or class name -for method calls, not for subroutine references. - -=back - -=head3 L<perlexperiment> - -=over 4 - -=item * - -notes the C<:win32> IO pseudolayer is removed (this happened in 5.35.2). - -=back - -=head3 L<perldeprecation> - -=over 4 - -=item * - -notes the new location for functions moved from L<Pod::Html> to -L<Pod::Html::Util> that are no longer intended to be used outside of core. - -=back - -=head1 Configuration and Compilation - -=over 4 - -=item * - -The makedepend step is now run in parallel by using make - -This reduces the time for - - time sh ./makedepend MAKE=make cflags - -from 5 seconds to 2 seconds with MAKEFLAGS=-j8 - -=item * - -F<Configure> now tests whether C<< #include <xlocale.h> >> is required -to use the POSIX 1003 thread-safe locale functions or some related -extensions. This prevents problems where a non-public F<xlocale.h> is -removed in a library update, or F<xlocale.h> isn't intended for public -use. (github L<#18936|https://github.com/Perl/perl5/pull/18936>) - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -Macros have been added to F<perl.h> to facilitate version comparisons: -C<PERL_GCC_VERSION_GE>, C<PERL_GCC_VERSION_GT>, C<PERL_GCC_VERSION_LE> and -C<PERL_GCC_VERSION_LT>. - -Inline functions have been added to F<embed.h> to determine the position of -the least significant 1 bit in a word: C<lsbit_pos32> and C<lsbit_pos64>. - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -Use of the C<mktables> debugging facility would cause perl to croak since -v5.31.10; this problem has now been fixed. - -=item * - -C<makedepend> logic is now compatible with BSD make (fixes -L<GH #19046|https://github.com/Perl/perl5/issues/19046>). - -=back - -=head1 Errata From Previous Releases - -=over 4 - -=item * - -L<perl5300delta> mistakenly identified a CVE whose correct identification is CVE-2015-1592. - -=back - -=head1 Acknowledgements - -Perl 5.35.3 represents approximately 4 weeks of development since Perl -5.35.2 and contains approximately 16,000 lines of changes across 220 files -from 25 authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 9,200 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.35.3: - -Aristotle Pagaltzis, Asher Mancinelli, Ben Cornett, Biswapriyo Nath, Chris -'BinGOs' Williams, Dagfinn Ilmari Mannsåker, Dan Book, Dan Jacobson, David -Golden, David Mitchell, H.Merijn Brand, James E Keenan, Karen Etheridge, -Karl Williamson, Leon Timmermans, Max Maischein, Neil Bowers, Nicholas -Clark, Petar-Kaleychev, Ricardo Signes, Richard Leach, Slaven Rezic, TAKAI -Kousuke, Thibault Duponchelle, Tony Cook. - -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<AUTHORS> 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<https://github.com/Perl/perl5/issues>. There may also be information at -L<http://www.perl.org/>, the Perl Home Page. - -If you believe you have an unreported bug, please open an issue at -L<https://github.com/Perl/perl5/issues>. 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<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> -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<perlthanks> program: - - perlthanks - -This will send an email to the Perl 5 Porters list with your show of thanks. - -=head1 SEE ALSO - -The F<Changes> file for an explanation of how to view exhaustive details on -what changed. - -The F<INSTALL> file for how to build Perl. - -The F<README> file for general stuff. - -The F<Artistic> and F<Copying> files for copyright information. - -=cut diff --git a/pod/perl5354delta.pod b/pod/perl5354delta.pod deleted file mode 100644 index 032e06f089..0000000000 --- a/pod/perl5354delta.pod +++ /dev/null @@ -1,397 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5354delta - what is new for perl v5.35.4 - -=head1 DESCRIPTION - -This document describes differences between the 5.35.3 release and the 5.35.4 -release. - -If you are upgrading from an earlier release such as 5.35.2, first read -L<perl5353delta>, which describes differences between 5.35.2 and 5.35.3. - -=head1 Core Enhancements - -=head2 C<defer> blocks - -This release adds support for C<defer> blocks, which are blocks of code -prefixed by the C<defer> modifier. They provide a section of code which runs -at a later time, during scope exit. - -For more information, see L<perlsyn/"defer blocks">. - -=head2 Unicode 14.0 is supported - -See L<https://www.unicode.org/versions/Unicode14.0.0/> for details. - -=head2 SIGFPE no longer deferred - -Floating-point exceptions are now delivered immediately, in the same way -as other "fault"-like signals such as SIGSEGV. This means one has at -least a chance to catch such a signal with a C<$SIG{FPE}> handler, e.g. -so that C<die> can report the line in perl that triggered it. - -=head2 Stable boolean tracking - -The "true" and "false" boolean values, often accessed by constructions like -C<!!0> and C<!!1>, as well as being returned from many core functions and -operators, now remember their boolean nature even through assignment into -variables. The new function C<isbool()> in L<Scalar::Util> can check whether -a value has boolean nature. - -This is likely to be useful when interoperating with other languages or -data-type serialisation, among other places. - -=head1 Incompatible Changes - -There are no changes intentionally incompatible with 5.35.3. -If any exist, they are bugs, and we request that you submit a -report. See L</Reporting Bugs> below. - -=head1 Performance Enhancements - -=over 4 - -=item * - -We now probe for compiler support for C11 thread local storage, and where -available use this for "implicit context" for XS extensions making API calls for -a threaded Perl build. This requires fewer function calls at the C level than -POSIX thread specific storage. We continue to use the the pthreads approach if -the C11 approach is not available. - -F<Configure> run with the defaults will build an unthreaded Perl (which is -slightly faster), but most operating systems ship a threaded Perl. - -=back - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<attributes> has been upgraded from version 0.33 to 0.34. - -=item * - -L<B> has been upgraded from version 1.82 to 1.83. - -=item * - -L<B::Deparse> has been upgraded from version 1.57 to 1.58. - -=item * - -L<Devel::Peek> has been upgraded from version 1.31 to 1.32. - -=item * - -L<Exporter> has been upgraded from version 5.76 to 5.77. - -=item * - -L<ExtUtils::ParseXS> has been upgraded from version 3.43 to 3.44. - -=item * - -L<ExtUtils::Typemaps> has been upgraded from version 3.43 to 3.44. - -=item * - -L<feature> has been upgraded from version 1.67 to 1.68. - -=item * - -L<Hash::Util::FieldHash> has been upgraded from version 1.22 to 1.23. - -=item * - -L<IO> has been upgraded from version 1.47 to 1.48. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20210820 to 5.20210920. - -=item * - -L<mro> has been upgraded from version 1.25_001 to 1.26. - -=item * - -L<Opcode> has been upgraded from version 1.53 to 1.54. - -=item * - -L<Pod::Html> has been upgraded from version 1.32 to 1.33. - -=item * - -L<Scalar::Util> has been upgraded from version 1.56 to 1.56_001. - -=item * - -L<Storable> has been upgraded from version 3.24 to 3.25. - -=item * - -L<Text::Tabs> has been upgraded from version 2021.0804 to 2021.0814. - -=item * - -L<Text::Wrap> has been upgraded from version 2021.0804 to 2021.0814. - -=item * - -L<threads::shared> has been upgraded from version 1.63 to 1.64. - -=item * - -L<Unicode::Collate> has been upgraded from version 1.30 to 1.31. Experimental -support for EBCDIC has been added. - -=item * - -L<Unicode::UCD> has been upgraded from version 0.77 to 0.78. - -=item * - -L<UNIVERSAL> has been upgraded from version 1.13 to 1.14. - -=item * - -L<warnings> has been upgraded from version 1.53 to 1.54. - -=item * - -L<XS::APItest> has been upgraded from version 1.18 to 1.19. - -=item * - -L<XS::Typemap> has been upgraded from version 0.18 to 0.19. - -=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<https://github.com/Perl/perl5/issues>. - -Additionally, the following selected changes have been made: - -=head3 L<perlre> - -=over 4 - -=item * - -Updated to discourage the use of the /d regexp modifier. - -=back - -=head1 Diagnostics - -The following additions or changes have been made to diagnostic output, -including warnings and fatal error messages. For the complete list of -diagnostic messages, see L<perldiag>. - -=head2 New Diagnostics - -=head3 New Errors - -=over 4 - -=item * - -L<Can't "%s" out of a defer block|perldiag/"Can't "%s" out of a defer block"> - -(F) An attempt was made to jump out of the scope of a defer block by using -a control-flow statement such as C<return>, C<goto> or a loop control. This is -not permitted. - -=back - -=head3 New Warnings - -=over 4 - -=item * - -L<defer is experimental|perldiag/"defer is experimental"> - -(S experimental::defer) The C<defer> block modifier is experimental. If you -want to use the feature, disable the warning with -C<no warnings 'experimental::defer'>, but know that in doing so you are taking -the risk that your code may break in a future Perl version. - -=back - -=head2 Changes to Existing Diagnostics - -=over 4 - -=item "unexpected constant lvalue entersub entry via type/targ %d:%d" now has a panic prefix - -This makes it consistent with other checks of internal consistency when -compiling a subroutine. - -=item Removed a number of diagnostics - -Commit 6a3871b339 removes many diagnostics that have been removed from the -perl core across many years. - -=back - -=head2 Platform-Specific Notes - -=over 4 - -=item C<keys %ENV> on VMS returns consistent results - -On VMS entries in the C<%ENV> hash are loaded from the OS environment on -first access, hence the first iteration of C<%ENV> requires the entire -environment to be scanned to find all possible keys. This initialisation had -always been done correctly for full iteration, but previously was not -happening for C<%ENV> in scalar context, meaning that C<scalar %ENV> would -return 0 if called before any other C<%ENV> access, or would only return the -count of keys accessed if there had been no iteration. - -These bugs are now fixed - C<%ENV> and C<keys %ENV> in scalar context now -return the correct result - the count of all keys in the environment. - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -C<Perl_ptr_table_clear> has been deleted. This has been marked as deprecated -since v5.14.0 (released in 2011), and is not used by any code on CPAN. - -=item * - -Added new boolean macros and functions. See L</Stable boolean tracking> for -related information and L<perlapi> for documentation. - -=over 4 - -=item * - -sv_setbool - -=item * - -sv_setbool_mg - -=item * - -SvIsBOOL - -=back - -=item * - -Added 4 missing functions for dealing with RVs: - -=over 4 - -=item * - -sv_setrv_noinc - -=item * - -sv_setrv_noinc_mg - -=item * - -sv_setrv_inc - -=item * - -sv_setrv_inc_mg - -=back - -=item * - -C<xs_handshake()>'s two failure modes now provide distinct messages. - -=back - -=head1 Acknowledgements - -Perl 5.35.4 represents approximately 4 weeks of development since Perl -5.35.3 and contains approximately 64,000 lines of changes across 540 files -from 19 authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 49,000 lines of changes to 310 .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.35.4: - -Aristotle Pagaltzis, Chris 'BinGOs' Williams, Dagfinn Ilmari Mannsåker, Dan -Book, David Mitchell, Felipe Gasper, Hugo van der Sanden, James E Keenan, -Karen Etheridge, Karl Williamson, Matthew Horsfall, Nicholas Clark, Paul -Evans, Richard Leach, TAKAI Kousuke, Todd Rinaldo, Tomasz Konojacki, -Tomoyuki Sadahiro, Tony Cook, Unicode Consortium. - -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<AUTHORS> 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<https://github.com/Perl/perl5/issues>. There may also be information at -L<http://www.perl.org/>, the Perl Home Page. - -If you believe you have an unreported bug, please open an issue at -L<https://github.com/Perl/perl5/issues>. 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<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> -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<perlthanks> program: - - perlthanks - -This will send an email to the Perl 5 Porters list with your show of thanks. - -=head1 SEE ALSO - -The F<Changes> file for an explanation of how to view exhaustive details on -what changed. - -The F<INSTALL> file for how to build Perl. - -The F<README> file for general stuff. - -The F<Artistic> and F<Copying> files for copyright information. - -=cut diff --git a/pod/perl5355delta.pod b/pod/perl5355delta.pod deleted file mode 100644 index b28d347e17..0000000000 --- a/pod/perl5355delta.pod +++ /dev/null @@ -1,404 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5355delta - what is new for perl v5.35.5 - -=head1 DESCRIPTION - -This document describes differences between the 5.35.4 release and the 5.35.5 -release. - -If you are upgrading from an earlier release such as 5.35.3, first read -L<perl5354delta>, which describes differences between 5.35.3 and 5.35.4. - -=head1 Core Enhancements - -=head2 iterating over multiple values at a time - -As of Perl 5.36, you can iterate over multiple values at a time by specifying -a list of lexicals within parentheses. For example, - - for my ($key, $value) (%hash) { ... } - for my ($left, $right, $gripping) (@moties) { ... } - -Attempting to specify a list after C<for my> was previously a syntax error. - -For more detail see L<perlsyn/Compound Statements>. - -=head1 Incompatible Changes - -There are no changes intentionally incompatible with 5.35.4 -If any exist, they are bugs, and we request that you submit a -report. See L</Reporting Bugs> below. - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<B::Concise> has been upgraded from version 1.005 to 1.006. - -=item * - -L<B::Deparse> has been upgraded from version 1.58 to 1.59. - -=item * - -L<Digest> has been upgraded from version 1.19 to 1.20. - -=item * - -L<DynaLoader> has been upgraded from version 1.51 to 1.52. - -=item * - -L<Encode> has been upgraded from version 3.12 to 3.16. - -=item * - -L<Errno> has been upgraded from version 1.34 to 1.35. - -=item * - -L<experimental> has been upgraded from version 0.024 to 0.025. - -=item * - -L<File::Copy> has been upgraded from version 2.36 to 2.37. - -=item * - -L<FindBin> has been upgraded from version 1.52 to 1.53. - -=item * - -L<GDBM_File> has been upgraded from version 1.20 to 1.21. - -=item * - -L<HTTP::Tiny> has been upgraded from version 0.076 to 0.078. - -=item * - -L<I18N::Langinfo> has been upgraded from version 0.20 to 0.21. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20210920 to 5.20211020. - -=item * - -L<POSIX> has been upgraded from version 1.99 to 2.01. - -=item * - -L<Scalar::Util> has been upgraded from version 1.56_001 to 1.60. - -=item * - -L<Test::Simple> has been upgraded from version 1.302185 to 1.302188. - -=item * - -L<Tie::Handle> has been upgraded from version 4.2 to 4.3. - -=item * - -L<Tie::Hash> has been upgraded from version 1.05 to 1.06. - -=item * - -L<Tie::Scalar> has been upgraded from version 1.05 to 1.06. - -=item * - -L<warnings> has been upgraded from version 1.54 to 1.55. - -=item * - -L<XS::APItest> has been upgraded from version 1.19 to 1.20. - -=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<https://github.com/Perl/perl5/issues>. - -Additionally, the following selected changes have been made: - -=head3 L<perlgov> - -=over 4 - -=item * - -The election process has been finetuned to allow the vote to be skipped if there -are no more candidates than open seats. - -=item * - -A special election is now allowed to be postponed for up to twelve weeks, for -example until a normal election. - -=back - -=head1 Diagnostics - -The following additions or changes have been made to diagnostic output, -including warnings and fatal error messages. For the complete list of -diagnostic messages, see L<perldiag>. - -=head2 New Diagnostics - -=head3 New Errors - -=over 4 - -=item * - -L<panic: newFORLOOP, %s|perldiag/"panic: newFORLOOP, %s"> - -The parser failed an internal consistency check while trying to parse -a C<foreach> loop. - -=back - -=head3 New Warnings - -=over 4 - -=item * - -L<for my (...) is experimental|perldiag/"for my (...) is experimental"> - -This warning is emitted if you use C<for> to iterate multiple values at -a time. This syntax is currently experimental and its behaviour may -change in future releases of Perl. - -=back - -=head2 Changes to Existing Diagnostics - -=over 4 - -=item * L<'E<sol>' does not take a repeat count in %s|perldiag/"'/' does not take a repeat count in %s"> - -This warning used to not include the C<in %s>. - -=back - -=head1 Configuration and Compilation - -=over 4 - -=item * - -The Perl C source code now uses some C99 features, which we have verified are -supported by all compilers we target. This means that Perl's headers now -contain some code that is legal in C99 but not C89. - -This may cause problems for some XS modules that unconditionally add -C<-Werror=declaration-after-statement> to their C compiler flags if compiling -with gcc or clang. Earlier versions of Perl support long obsolete compilers -that are strict in rejecting certain C99 features, particularly mixed -declarations and code, and hence it makes sense for XS module authors to audit -that their code does not violate this. However, doing this is now only -possible on these earlier versions of Perl, hence these modules need to be -changed to only add this flag for C<<$] < 5.035005>>. - -=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 * t/op/for-many.t was added - -This tests for looping of multiple values as the same time - -=back - -=head1 Platform Support - -=head2 Discontinued Platforms - -=over 4 - -=item NetWare - -Support code for Novell NetWare has been removed. NetWare was a -server operating system by Novell. The port was last updated in July -2002, and the platform itself in May 2009. - -Unrelated changes accidentally broke the build for the NetWare port in -September 2009, and in 12 years no-one has reported this. - -=back - -=head2 Platform-Specific Notes - -=over 4 - -=item Windows - -Support for old MSVC++ (pre-VC12) has been removed - -These did not support C99 and hence can no longer be used to compile perl. - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -Memory for hash iterator state (C<struct xpvhv_aux>) is now allocated as part -of the hash body, instead of as part of the block of memory allocated for the -main hash array. - -Nothing else changes - memory for this structure is still allocated only when -needed, is still accessed via the C<HvAUX()> macro, and the macro should only -be called when C<SvOOK()> is true. Hashes are still always of type C<SVt_PVHV>, -hash bodies are still allocated from arenas, and the address of the hash -doesn't change, because the address is the pointer to the head structure, which -never moves. - -Internally, a second arena (the arena with index 1) is used to allocate larger -bodies with space for C<struct xpvhv_aux>, the body "upgraded", and the "head" -structure updated to reflect this (much the same way that the bodies of scalars -are upgraded). We already re-purpose arenas - arena with index 0 is used for -C<HE *>s. - -None of this affects documented public XS interfaces. The only code changes are -in F<hv.c> and F<sv.c>. As the rest of the core itself uses these macros but -needed no changes, likely no code on CPAN will be affected either. - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -Calling C<untie> on a tied hash that is partway through iteration now frees the -iteration state immediately. - -Iterating a tied hash causes perl to store a copy of the current hash key to -track the iteration state, with this stored copy passed as the second parameter -to C<NEXTKEY>. This internal state is freed immediately when tie hash iteration -completes, or if the hash is destroyed, but due to an implementation oversight, -it was not freed if the hash was untied. In that case, the internal copy of the -key would persist until the earliest of - -=over 4 - -=item 1 - -C<tie> was called again on the same hash - -=item 2 - -The (now untied) hash was iterated (ie passed to any of C<keys>, C<values> or -C<each>) - -=item 3 - -The hash was destroyed. - -=back - -This inconsistency is now fixed - the internal state is now freed immediately by -C<untie>. - -As the precise timing of this behaviour can be observed with pure Perl code -(the timing of C<DESTROY> on objects returned from C<FIRSTKEY> and C<NEXTKEY>) -it's just possible that some code is sensitive to it. - -=item * - -The C<Internals::getcwd()> function added for bootstrapping miniperl -in perl 5.30.0 is now only available in miniperl. [github #19122] - -=back - -=head1 Acknowledgements - -Perl 5.35.5 represents approximately 4 weeks of development since Perl -5.35.4 and contains approximately 32,000 lines of changes across 380 files -from 22 authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 17,000 lines of changes to 260 .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.35.5: - -Andrew Fresh, Chris 'BinGOs' Williams, Dagfinn Ilmari Mannsåker, Dan Book, -Dan Kogai, David Mitchell, E. Choroba, Hugo van der Sanden, James E Keenan, -Karl Williamson, Leon Timmermans, Matthew Horsfall, Nicholas Clark, Olaf -Alders, Paul Evans, Ricardo Signes, Richard Leach, Sergey Poznyakoff, Steve -Hay, TAKAI Kousuke, Tomasz Konojacki, Tony Cook. - -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<AUTHORS> 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<https://github.com/Perl/perl5/issues>. There may also be information at -L<http://www.perl.org/>, the Perl Home Page. - -If you believe you have an unreported bug, please open an issue at -L<https://github.com/Perl/perl5/issues>. 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<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> -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<perlthanks> program: - - perlthanks - -This will send an email to the Perl 5 Porters list with your show of thanks. - -=head1 SEE ALSO - -The F<Changes> file for an explanation of how to view exhaustive details on -what changed. - -The F<INSTALL> file for how to build Perl. - -The F<README> file for general stuff. - -The F<Artistic> and F<Copying> files for copyright information. - -=cut diff --git a/pod/perl5356delta.pod b/pod/perl5356delta.pod deleted file mode 100644 index 0aaa557341..0000000000 --- a/pod/perl5356delta.pod +++ /dev/null @@ -1,198 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5356delta - what is new for perl v5.35.6 - -=head1 DESCRIPTION - -This document describes differences between the 5.35.5 release and the 5.35.6 -release. - -If you are upgrading from an earlier release such as 5.35.4, first read -L<perl5355delta>, which describes differences between 5.35.4 and 5.35.5. - -=head1 Core Enhancements - -=head2 C<use v5.36> now disables bareword_filehandles, indirect, and multidimensional - -The C<:5.36> bundle, loaded by C<use v5.36>, no longer includes -C<bareword_filehandles>, C<indirect>, or C<multidimensional> meaning that these -discouraged forms of syntax will not be allowed within the scope of that -version declaration. - -This will also affect C<use v5.35.x>, even on subversions of v5.35 prior to -this one. - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<bignum> has been upgraded from version 0.53 to 0.63. - -=item * - -L<diagnostics> has been upgraded from version 1.38 to 1.39. - -=item * - -L<feature> has been upgraded from version 1.68 to 1.69. - -=item * - -L<File::Glob> has been upgraded from version 1.36 to 1.37. - -=item * - -L<File::stat> has been upgraded from version 1.11 to 1.12. - -=item * - -L<GDBM_File> has been upgraded from version 1.21 to 1.22. - -=item * - -L<HTTP::Tiny> has been upgraded from version 0.078 to 0.080. - -=item * - -L<Math::BigInt> has been upgraded from version 1.999823 to 1.999827. - -=item * - -L<Math::BigInt::FastCalc> has been upgraded from version 0.5010 to 0.5012. - -=item * - -L<Math::BigRat> has been upgraded from version 0.2617 to 0.2620. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20211020 to 5.20211120. - -=item * - -L<POSIX> has been upgraded from version 2.01 to 2.02. - -=item * - -L<warnings> has been upgraded from version 1.55 to 1.56. - -=back - -=head1 Testing - -Tests were added and changed to reflect the other additions and changes -in this release. - -=head1 Platform Support - -=head2 Discontinued Platforms - -=over 4 - -=item DOS/DJGPP - -DJGPP is a port of the GNU toolchain to 32-bit x86 systems running -DOS. The last known attempt to build Perl on it was on 5.20, which -only got as far as building miniperl. - -=item AT&T UWIN - -UWIN is a UNIX compatibility layer for Windows. It was last released -in 2012 and has been superseded by Cygwin these days. - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -Setting a breakpoint on a BEGIN or equivalently a C<use> statement -could cause a memory write to a freed C<dbstate> op. -[L<GH #19198|https://github.com/Perl/perl5/issues/19198>] - -=back - -=head1 Obituary - -David H. Adler (DHA) passed away on November 16, 2021. In 1997, David -co-founded NY.pm, the first Perl user group, and in 1998 co-founded Perl -Mongers to help establish other user groups across the globe. He was a -frequent attendee at Perl conferences in both North America and Europe and -well known for his role in organizing I<Bad Movie Night> celebrations at those -conferences. He also contributed to the work of the Perl Foundation, -including administering the White Camel awards for community service. He will -be sorely missed. - -=head1 Acknowledgements - -Perl 5.35.6 represents approximately 4 weeks of development since Perl -5.35.5 and contains approximately 16,000 lines of changes across 320 files -from 10 authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 13,000 lines of changes to 240 .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.35.6: - -Dagfinn Ilmari Mannsåker, H.Merijn Brand, James E Keenan, Leon Timmermans, -Pete Houston, Ricardo Signes, Richard Leach, Robert Rothenberg, Sergey -Poznyakoff, Tony Cook. - -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<AUTHORS> 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<https://github.com/Perl/perl5/issues>. There may also be information at -L<http://www.perl.org/>, the Perl Home Page. - -If you believe you have an unreported bug, please open an issue at -L<https://github.com/Perl/perl5/issues>. 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<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> -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<perlthanks> program: - - perlthanks - -This will send an email to the Perl 5 Porters list with your show of thanks. - -=head1 SEE ALSO - -The F<Changes> file for an explanation of how to view exhaustive details on -what changed. - -The F<INSTALL> file for how to build Perl. - -The F<README> file for general stuff. - -The F<Artistic> and F<Copying> files for copyright information. - -=cut diff --git a/pod/perl5357delta.pod b/pod/perl5357delta.pod deleted file mode 100644 index a2375d04f4..0000000000 --- a/pod/perl5357delta.pod +++ /dev/null @@ -1,229 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5357delta - what is new for perl v5.35.7 - -=head1 DESCRIPTION - -This document describes differences between the 5.35.6 release and the 5.35.7 -release. - -If you are upgrading from an earlier release such as 5.35.5, first read -L<perl5356delta>, which describes differences between 5.35.5 and 5.35.6. - - -=head1 Core Enhancements - -=head2 builtin Functions - -A new core module L<builtin> has been added, which provides documentation for -new always-present functions that are built into the interpreter. - - say "Reference type of arrays is ", builtin::reftype([]); - -It also provides a lexical import mechanism for providing short name versions -of these functions. - - use builtin 'reftype'; - say "Reference type of arrays is ", reftype([]); - -An initial set of functions exists to provide convenient access to stable -boolean values, weakening references, and inspecting properties of references. - -This builtin function mechanism and the functions it provides are all -currently B<experimental>. - -For more information, see the L<builtin> module. - - -=head1 Modules and Pragmata - - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<B::Deparse> has been upgraded from version 1.59 to 1.60. - -=item * - -L<CPAN> has been upgraded from version 2.28 to 2.29. -This was part of the fixes for -L<CPAN vulnerabilities related to checksums|http://blogs.perl.org/users/neilb/2021/11/addressing-cpan-vulnerabilities-related-to-checksums.html>. - -=item * - -L<ExtUtils::MakeMaker> has been upgraded from version 7.62 to 7.64. -This has fixes for OS390, documentation fixes, and some minor enhancements. - -=item * - -L<File::Compare> has been upgraded from version 1.1006 to 1.1007. - -=item * - -L<File::Copy> has been upgraded from version 2.37 to 2.38. - -=item * - -L<File::Spec> has been upgraded from version 3.82 to 3.83. - -=item * - -L<Hash::Util> has been upgraded from version 0.26 to 0.27. - -=item * - -L<Hash::Util::FieldHash> has been upgraded from version 1.23 to 1.24. - -=item * - -L<IO> has been upgraded from version 1.48 to 1.49. - -=item * - -L<JSON::PP> has been upgraded from version 4.06 to 4.07. - -=item * - -L<Math::BigInt> has been upgraded from version 1.999827 to 1.999828. -This: -adds new methods numerator(), denominator(), and fparts(); -includes a bug fix in to_ieee754(); -and fixes some typos. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20211120 to 5.20211220. - -=item * - -L<Opcode> has been upgraded from version 1.54 to 1.55. - -=item * - -L<overload> has been upgraded from version 1.33 to 1.34. - -=back - - - - -=head1 Platform Support - - -=head2 Platform-Specific Notes - -=over 4 - -=item z/OS - -This update enables us to build EBCDIC static/dynamic -and 31-bit/64-bit addressing mode Perl. The number of -tests that pass is consistent with the baseline before -these updates. - -These changes also provide the base support to be able to provide -ASCII static/dynamic and 31-bit/64-bit addressing mode Perl. - -=back - - -=head1 Internal Changes - -=over 4 - -=item * A new phase_name() interface provides access to the name -for each interpreter phase (i.e., PL_phase value). - -=item * The changes in v5.35.5 for how memory for hash iterator state was allocated could cause unbounded memory consumption (until process exit). The bug that caused this has been fixed - memory consumption is now stable, and potentially lower than v5.35.4 and earlier. - -=for The v5.36.0 perldelta, just drop the paragraph about the bugfix. - -=back - - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -When bareword filehandles are disabled, the parser was interpreting -any bareword as a filehandle, even when immediatey followed by parens. - -This fixes L<#19271|https://github.com/Perl/perl5/issues/19271> - -=back - - -=head1 Acknowledgements - -Perl 5.35.7 represents approximately 4 weeks of development since Perl -5.35.6 and contains approximately 21,000 lines of changes across 230 files -from 18 authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 19,000 lines of changes to 170 .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.35.7: - -Chris 'BinGOs' Williams, Dagfinn Ilmari Mannsåker, Felipe Gasper, Graham -Knop, Jakub Wilk, James E Keenan, James Raspass, Karl Williamson, Michiel -Beijen, Mike Fulton, Neil Bowers, Nicholas Clark, Paul Evans, Richard Leach, -Steve Hay, TAKAI Kousuke, Tomasz Konojacki, Tony Cook. - -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<AUTHORS> 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<https://github.com/Perl/perl5/issues>. There may also be information at -L<http://www.perl.org/>, the Perl Home Page. - -If you believe you have an unreported bug, please open an issue at -L<https://github.com/Perl/perl5/issues>. 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<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> -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<perlthanks> program: - - perlthanks - -This will send an email to the Perl 5 Porters list with your show of thanks. - -=head1 SEE ALSO - -The F<Changes> file for an explanation of how to view exhaustive details on -what changed. - -The F<INSTALL> file for how to build Perl. - -The F<README> file for general stuff. - -The F<Artistic> and F<Copying> files for copyright information. - -=cut diff --git a/pod/perl5358delta.pod b/pod/perl5358delta.pod deleted file mode 100644 index 38645a727e..0000000000 --- a/pod/perl5358delta.pod +++ /dev/null @@ -1,289 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5358delta - what is new for perl v5.35.8 - -=head1 DESCRIPTION - -This document describes differences between the 5.35.7 release and the 5.35.8 -release. - -If you are upgrading from an earlier release such as 5.35.6, first read -L<perl5357delta>, which describes differences between 5.35.6 and 5.35.7. - -=head1 Core Enhancements - -=head2 Try/Catch Syntax Now Recognises C<finally> Blocks - -The experimental C<try>/C<catch> syntax has been extended to support an -optional third block introduced by the C<finally> keyword. - - try { - attempt(); - print "Success\n"; - } - catch ($e) { - print "Failure\n"; - } - finally { - print "This happens regardless\n"; - } - -This provides code which runs at the end of the C<try>/C<catch> construct, -even if aborted by an exception or control-flow keyword. They are similar -to C<defer> blocks. - -For more information, see L<perlsyn/"Try Catch Exception Handling">. - -=head1 Incompatible Changes - -=head2 A physically empty sort is now a compile-time error - - @a = sort @empty; # unaffected - @a = sort; # now a compile-time error - -A bare sort used to be a weird way to create an empty list; now it croaks -at compile time. This is change is intended to free up some of the syntax -space for possible future enhancements to C<sort>. - -=head1 Performance Enhancements - -=over 4 - -=item * - -Try / Catch optimization: make sure to rpeep() the body of catch {} blocks - -=back - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<Module::CoreList> has been upgraded from version 5.20211220 to 5.20220120. - -=item * - -L<bignum> has been upgraded from version 0.63 to 0.64. - -=item * - -L<Data::Dumper> has been upgraded from version 2.183 to 2.184. - -Fixes for EBCDIC. - -=item * - -L<File::Fetch> has been upgraded from version 1.00 to 1.04. - -=item * - -L<File::Find> has been upgraded from version 1.39_01 to 1.40. - -Replace bareword filehandle with a lexical scalar. - -=item * - -L<Locale::Maketext> has been upgraded from version 1.29 to 1.30. - -Provide inclusive names allowlist and denylist - -=item * - -L<Math::BigInt> has been upgraded from version 1.999828 to 1.999829. - -=item * - -L<NEXT> has been upgraded from version 0.68 to 0.69. - -=item * - -L<POSIX> has been upgraded from version 2.02 to 2.03. - -FLT_ROUNDS now emulates (more) standard behavior that reflects -the current rounding mode set by fesetround. - -=item * - -L<Win32> has been upgraded from version 0.57 to 0.58. - -=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<https://github.com/Perl/perl5/issues>. - -Additionally, the following selected changes have been made: - -=head3 L<perlrun> - -=over 4 - -=item * - -B<-?> is now a synonym for B<-h> - -=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 * - -ExtUtils-ParseXS test suite improvement - -=item * - -Hash::Util::FieldHash test suite improvement - -=item * - -Pod::Html test suite improvement - -=item * - -Tie::SubstrHash test suite improvement - -=item * - -Time-HiRes test suite improvement - -=item * - -Fix several test failures on CygWin and MSWin32. - -=back - -=head1 Platform Support - -=head2 Platform-Specific Notes - -=over 4 - -=item z/OS - -=over 4 - -=item * - -Update z/OS (previously called OS/390) README to describe ASCII and EBCDIC builds -z/OS ASCII Enablement: Manage untagged header errno.h by copy & tag - -=back - -=back - -=over 4 - -=item Windows - -=over 4 - -=item * - -Support for compiling perl on Windows using Microsoft Visual Studio 2022 -(containing Visual C++ 14.3) has been added. - -=back - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -Add missing aliases for \p{Present_In} - -=item * - -Change C<pack> U behavior for EBCDIC - -=item * - -sv_upgrade: use c99 compound literals to initialize xpvav/xpvhv - -=back - -=head1 Acknowledgements - -Perl 5.35.8 represents approximately 4 weeks of development since Perl -5.35.7 and contains approximately 29,000 lines of changes across 190 files -from 19 authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 23,000 lines of changes to 120 .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.35.8: - -Chris 'BinGOs' Williams, Craig A. Berry, David Mitchell, E. Choroba, -François Perrad, Graham Knop, Ivan Panchenko, James E Keenan, Karl -Williamson, Michiel Beijen, Mike Fulton, Neil Bowers, Nicholas Clark, -Nicolas R., Paul Evans, Richard Leach, Sawyer X, TAKAI Kousuke, Tomasz -Konojacki. - -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<AUTHORS> 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<https://github.com/Perl/perl5/issues>. There may also be information at -L<http://www.perl.org/>, the Perl Home Page. - -If you believe you have an unreported bug, please open an issue at -L<https://github.com/Perl/perl5/issues>. 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<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> -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<perlthanks> program: - - perlthanks - -This will send an email to the Perl 5 Porters list with your show of thanks. - -=head1 SEE ALSO - -The F<Changes> file for an explanation of how to view exhaustive details on -what changed. - -The F<INSTALL> file for how to build Perl. - -The F<README> file for general stuff. - -The F<Artistic> and F<Copying> files for copyright information. - -=cut diff --git a/pod/perl5359delta.pod b/pod/perl5359delta.pod deleted file mode 100644 index 9853494130..0000000000 --- a/pod/perl5359delta.pod +++ /dev/null @@ -1,460 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5359delta - what is new for perl v5.35.9 - -=head1 DESCRIPTION - -This document describes differences between the 5.35.8 release and the 5.35.9 -release. - -If you are upgrading from an earlier release such as 5.35.7, first read -L<perl5358delta>, which describes differences between 5.35.7 and 5.35.8. - -=head1 Core Enhancements - -=head2 Subroutine signatures are no longer experimental - -Introduced in Perl version 5.20.0, and modified several times since, the -subroutine signatures feature (C<use feature 'signatures'>) is now no longer -considered experimental. It is now considered a stable language feature and -is included in the C<:5.36> feature bundle, enabled automatically by -C<use v5.36>, and no longer prints a warning. - - use v5.36; - - sub add ($x, $y) { - return $x + $y; - } - -Despite this, certain elements of signatured subroutines remain -experimental; see below. - -=head2 @_ is now experimental within signatured subs - -Even though subroutine signatures are now stable, use of the default arguments -array (C<@_>) with a subroutine that has a signature remains experimental, -with its own warning category. Silencing the C<experimental::signatures> -warning category is not sufficient to dismiss this. The new warning is -emitted with the category name C<experimental::args_array_with_signatures>. - -Any subroutine that has a signature and tries to make use of the defaults -argument array or an element thereof (C<@_> or C<$_[INDEX]>), either -explicitly or implicitly (such as C<shift> or C<pop> with no argument) will -provoke a warning at compile-time: - - use v5.36; - - sub f ($x, $y = 123) { - say "The first argument is $_[0]"; - } - -Z<> - - Use of @_ in array element with signatured subroutine is experimental - at file.pl line 4. - -The behaviour of code which attempts to do this is no longer specified, and -may be subject to change in a future version. - -=head2 The C<isa> operator is no longer experimental - -Introduced in Perl version 5.32.0, this operator has remained unchanged -since then. The operator is now considered a stable language feature and is -included in the C<:5.36> feature bundle, enabled automatically by -C<use v5.36>. - -For more detail see L<perlop/Class Instance Operator>. - -=head2 -g command-line flag - -A new command-line flag, -g, is available. It is a simpler alias for -0777. - -For more information, see L<perlrun/-g>. - -=head1 Deprecations - -=head2 Downgrading a C<use VERSION> statement to below v5.11 - -Attempting to issue a second C<use VERSION> statement that requests a version -lower than C<v5.11> when an earlier statement that requested a version at -least C<v5.11> has already been seen, will now print a deprecation warning. - -For example: - - use v5.14; - say "The say statement is permitted"; - use v5.8; # This will print a warning - print "We must use print\n"; - -This is because of an intended related change to the interaction between -C<use VERSION> and C<use strict>. If you specify a version >= 5.11, strict is -enabled implicitly. If you request a version < 5.11, strict will become -disabled I<even if you had previously written> C<use strict>. This was not -the previous behaviour of C<use VERSION>, which at present will track -explicitly-enabled strictness flags independently. - -Code which wishes to mix versions in this manner should use lexical scoping -with block syntax to ensure that the differently versioned regions remain -lexically isolated. - - { - use v5.14; - say "The say statement is permitted"; - } - { - use v5.8; # No warning is emitted - print "We must use print\n"; - } - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L<B::Deparse> has been upgraded from version 1.61 to 1.62. - -=item * - -L<charnames> has been upgraded from version 1.49 to 1.50. - -=item * - -L<CPAN> has been upgraded from version 2.29 to 2.33. - -=item * - -L<Devel::PPPort> has been upgraded from version 3.63 to 3.64. - -=item * - -L<experimental> has been upgraded from version 0.025 to 0.027. - -=item * - -L<feature> has been upgraded from version 1.69 to 1.70. - -=item * - -L<File::Copy> has been upgraded from version 2.38 to 2.39. - -=item * - -L<Hash::Util> has been upgraded from version 0.27 to 0.28. - -=item * - -L<Hash::Util::FieldHash> has been upgraded from version 1.25 to 1.26. - -=item * - -L<Module::CoreList> has been upgraded from version 5.20220120 to 5.20220220. - -=item * - -L<Opcode> has been upgraded from version 1.55 to 1.56. - -=item * - -L<overload> has been upgraded from version 1.34 to 1.35. - -=item * - -L<re> has been upgraded from version 0.41 to 0.42. - -=item * - -L<Scalar::Util> has been upgraded from version 1.60 to 1.61. - -=item * - -L<sigtrap> has been upgraded from version 1.09 to 1.10. - -=item * - -L<Tie::SubstrHash> has been upgraded from version 1.00 to 1.01. - -=item * - -L<warnings> has been upgraded from version 1.56 to 1.57. - -=item * - -L<XS::APItest> has been upgraded from version 1.20 to 1.21. - -=back - -=head1 Diagnostics - -=head2 New Diagnostics - -=head3 New Warnings - -=over 4 - -=item * - -L<Built-in function '%s' is experimental|perldiag/"Built-in function '%s' is experimental"> - -A call is being made to a function in the -C<builtin::> namespace, which is currently experimental. - -=item * - -L<Implicit use of @_ in %s with signatured subroutine is experimental|perldiag/"Implicit use of @_ in %s with signatured subroutine is experimental"> - -An expression that implicitly involves the C<@_> arguments array was found in -a subroutine that uses a signature. - -=item * - -L<Use of @_ in %s with signatured subroutine is experimental|perldiag/"Use of @_ in %s with signatured subroutine is experimental"> - -An expression involving the C<@_> arguments array was found in a subroutine that uses a signature. - -=item * - -L<Downgrading a use VERSION declaration to below v5.11 is deprecated|perldiag/"Downgrading a use VERSION declaration to below v5.11 is deprecated"> - -This warning is emitted on a C<use VERSION> statement that -requests a version below v5.11 (when the effects of C<use strict> would be -disabled), after a previous declaration of one having a larger number (which -would have enabled these effects) - -=back - -=head2 Changes to Existing Diagnostics - -=over 4 - -=item * - -L<Subroutine %s redefined|perldiag/"Subroutine %s redefined"> - -Localized subroutine redefinitions no longer trigger this warning. - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -New equality-test functions C<sv_numeq> and C<sv_streq> have been added, along -with C<..._flags>-suffixed variants. These expose a simple and consistent API -to perform numerical or string comparison which is aware of operator -overloading. - -=item * - -Reading the string form of an integer value no longer sets the flag C<SVf_POK>. -The string form is still cached internally, and still re-read directly by the -macros C<SvPV(sv)> I<etc> (inline, without calling a C function). XS code that -already calls the APIs to get values will not be affected by this change. XS -code that accesses flags directly instead of using API calls to express its -intent I<might> break, but such code likely is already buggy if passed some -other values, such as floating point values or objects with string overloading. - -This small change permits code (such as JSON serializers) to reliably determine -between - -=over 4 - -=item * - -a value that was initially B<written> as an integer, but then B<read> as a string - - my $answer = 42; - print "The answer is $answer\n"; - -=item * - -that same value that was initially B<written> as a string, but then B<read> as an integer - - my $answer = "42"; - print "That doesn't look right\n" - unless $answer == 6 * 9; - -=back - -For the first case (originally written as an integer), we now have: - - use Devel::Peek; - my $answer = 42; - Dump ($answer); - my $void = "$answer"; - print STDERR "\n"; - Dump($answer) - - - SV = IV(0x562538925778) at 0x562538925788 - REFCNT = 1 - FLAGS = (IOK,pIOK) - IV = 42 - - SV = PVIV(0x5625389263c0) at 0x562538925788 - REFCNT = 1 - FLAGS = (IOK,pIOK,pPOK) - IV = 42 - PV = 0x562538919b50 "42"\0 - CUR = 2 - LEN = 10 - -For the second (originally written as a string), we now have: - - use Devel::Peek; - my $answer = "42"; - Dump ($answer); - my $void = $answer == 6 * 9; - print STDERR "\n"; - Dump($answer)' - - - SV = PV(0x5586ffe9bfb0) at 0x5586ffec0788 - REFCNT = 1 - FLAGS = (POK,IsCOW,pPOK) - PV = 0x5586ffee7fd0 "42"\0 - CUR = 2 - LEN = 10 - COW_REFCNT = 1 - - SV = PVIV(0x5586ffec13c0) at 0x5586ffec0788 - REFCNT = 1 - FLAGS = (IOK,POK,IsCOW,pIOK,pPOK) - IV = 42 - PV = 0x5586ffee7fd0 "42"\0 - CUR = 2 - LEN = 10 - COW_REFCNT = 1 - -(One can't rely on the presence or absence of the flag C<SVf_IsCOW> to -determine the history of operations on a scalar.) - -Previously both cases would be indistinguishable, with all 4 flags set: - - SV = PVIV(0x55d4d62edaf0) at 0x55d4d62f0930 - REFCNT = 1 - FLAGS = (IOK,POK,pIOK,pPOK) - IV = 42 - PV = 0x55d4d62e1740 "42"\0 - CUR = 2 - LEN = 10 - -(and possibly C<SVf_IsCOW>, but not always) - -This now means that if XS code I<really> needs to determine which form a value -was first written as, it should implement logic roughly - - if (flags & SVf_IOK|SVf_NOK) && !(flags & SVf_POK) - serialize as number - else if (flags & SVf_POK) - serialize as string - else - the existing guesswork ... - -Note that this doesn't cover "dualvars" - scalars that report different -values when asked for their string form or number form (such as C<$!>). -Most serialization formats cannot represent such duplicity. - -I<The existing guesswork> remains because as well as dualvars, values might -be C<undef>, references, overloaded references, typeglobs and other things that -Perl itself can represent but do not map one-to-one into external formats, so -need some amount of approximation or encapsulation. - -=item * - -Memory for hash iterator state (C<struct xpvhv_aux>) is now allocated as part -of the hash body, instead of as part of the block of memory allocated for the -main hash array. - -Nothing else changes - memory for this structure is still allocated only when -needed, is still accessed via the C<HvAUX()> macro, and the macro should only -be called when C<SvOOK()> is true. Hashes are still always of type C<SVt_PVHV>, -hash bodies are still allocated from arenas, and the address of the hash -doesn't change, because the address is the pointer to the head structure, which -never moves. - -Internally, a second arena (the arena with index 1) is used to allocate larger -bodies with space for C<struct xpvhv_aux>, the body "upgraded", and the "head" -structure updated to reflect this (much the same way that the bodies of scalars -are upgraded). We already re-purpose arenas - arena with index 0 is used for -C<HE *>s. - -None of this affects documented public XS interfaces. The only code changes are -in F<hv.c> and F<sv.c>. As the rest of the core itself uses these macros but -needed no changes, likely no code on CPAN will be affected either. - -=back - -=head1 Acknowledgements - -Perl 5.35.9 represents approximately 4 weeks of development since Perl -5.35.8 and contains approximately 8,700 lines of changes across 280 files -from 22 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.35.9: - -Branislav Zahradník, Christopher Yeleighton, Dagfinn Ilmari Mannsåker, -Dave Cross, David Cantrell, Hugo van der Sanden, James E Keenan, James -Raspass, Karl Williamson, Leon Timmermans, Max Maischein, Michiel Beijen, -Nicholas Clark, Nicolas R., Paul Evans, Renee Baecker, Ricardo Signes, -Sergey Zhmylove, TAKAI Kousuke, 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<AUTHORS> 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<https://github.com/Perl/perl5/issues>. There may also be information at -L<http://www.perl.org/>, the Perl Home Page. - -If you believe you have an unreported bug, please open an issue at -L<https://github.com/Perl/perl5/issues>. 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<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> -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<perlthanks> program: - - perlthanks - -This will send an email to the Perl 5 Porters list with your show of thanks. - -=head1 SEE ALSO - -The F<Changes> file for an explanation of how to view exhaustive details on -what changed. - -The F<INSTALL> file for how to build Perl. - -The F<README> file for general stuff. - -The F<Artistic> and F<Copying> files for copyright information. - -=cut diff --git a/vms/descrip_mms.template b/vms/descrip_mms.template index 28b1a585b9..f1c7db8edb 100644 --- a/vms/descrip_mms.template +++ b/vms/descrip_mms.template @@ -313,7 +313,7 @@ utils : $(utils1) $(utils2) $(utils3) $(utils4) $(utils5) extra.pods : miniperl @ @extra_pods.com -PERLDELTA_CURRENT = [.pod]perl53512delta.pod +PERLDELTA_CURRENT = [.pod]perl5360delta.pod $(PERLDELTA_CURRENT) : [.pod]perldelta.pod Copy/NoConfirm/Log $(MMS$SOURCE) $(PERLDELTA_CURRENT) diff --git a/win32/GNUmakefile b/win32/GNUmakefile index 375ed129ca..21d8b628e9 100644 --- a/win32/GNUmakefile +++ b/win32/GNUmakefile @@ -1624,7 +1624,7 @@ utils: $(HAVEMINIPERL) ..\utils\Makefile copy ..\README.tw ..\pod\perltw.pod copy ..\README.vos ..\pod\perlvos.pod copy ..\README.win32 ..\pod\perlwin32.pod - copy ..\pod\perldelta.pod ..\pod\perl53512delta.pod + copy ..\pod\perldelta.pod ..\pod\perl5360delta.pod $(MINIPERL) -I..\lib $(PL2BAT) $(UTILS) $(MINIPERL) -I..\lib ..\autodoc.pl .. $(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q .. @@ -1723,7 +1723,7 @@ distclean: realclean -if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API -if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS -cd $(PODDIR) && del /f *.html *.bat roffitall \ - perl53512delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ + perl5360delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ perlapi.pod perlbs2000.pod perlcn.pod perlcygwin.pod \ perlfreebsd.pod perlhaiku.pod perlhpux.pod perlhurd.pod \ perlintern.pod perlirix.pod perljp.pod perlko.pod perllinux.pod \ diff --git a/win32/Makefile b/win32/Makefile index 47d544af95..54698a1a0b 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -1156,7 +1156,7 @@ utils: $(PERLEXE) ..\utils\Makefile copy ..\README.tw ..\pod\perltw.pod copy ..\README.vos ..\pod\perlvos.pod copy ..\README.win32 ..\pod\perlwin32.pod - copy ..\pod\perldelta.pod ..\pod\perl53512delta.pod + copy ..\pod\perldelta.pod ..\pod\perl5360delta.pod cd ..\win32 $(PERLEXE) $(PL2BAT) $(UTILS) $(MINIPERL) -I..\lib ..\autodoc.pl .. @@ -1256,7 +1256,7 @@ distclean: realclean -if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API -if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS -cd $(PODDIR) && del /f *.html *.bat roffitall \ - perl53512delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ + perl5360delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ perlapi.pod perlbs2000.pod perlcn.pod perlcygwin.pod \ perlfreebsd.pod perlhaiku.pod perlhpux.pod perlhurd.pod \ perlintern.pod perlirix.pod perljp.pod perlko.pod perllinux.pod \ diff --git a/win32/pod.mak b/win32/pod.mak index 92d20479fd..6323b621fd 100644 --- a/win32/pod.mak +++ b/win32/pod.mak @@ -66,19 +66,7 @@ POD = perl.pod \ perl5321delta.pod \ perl5340delta.pod \ perl5341delta.pod \ - perl5350delta.pod \ - perl53510delta.pod \ - perl53511delta.pod \ - perl53512delta.pod \ - perl5351delta.pod \ - perl5352delta.pod \ - perl5353delta.pod \ - perl5354delta.pod \ - perl5355delta.pod \ - perl5356delta.pod \ - perl5357delta.pod \ - perl5358delta.pod \ - perl5359delta.pod \ + perl5360delta.pod \ perl561delta.pod \ perl56delta.pod \ perl581delta.pod \ @@ -243,19 +231,7 @@ MAN = perl.man \ perl5321delta.man \ perl5340delta.man \ perl5341delta.man \ - perl5350delta.man \ - perl53510delta.man \ - perl53511delta.man \ - perl53512delta.man \ - perl5351delta.man \ - perl5352delta.man \ - perl5353delta.man \ - perl5354delta.man \ - perl5355delta.man \ - perl5356delta.man \ - perl5357delta.man \ - perl5358delta.man \ - perl5359delta.man \ + perl5360delta.man \ perl561delta.man \ perl56delta.man \ perl581delta.man \ @@ -420,19 +396,7 @@ HTML = perl.html \ perl5321delta.html \ perl5340delta.html \ perl5341delta.html \ - perl5350delta.html \ - perl53510delta.html \ - perl53511delta.html \ - perl53512delta.html \ - perl5351delta.html \ - perl5352delta.html \ - perl5353delta.html \ - perl5354delta.html \ - perl5355delta.html \ - perl5356delta.html \ - perl5357delta.html \ - perl5358delta.html \ - perl5359delta.html \ + perl5360delta.html \ perl561delta.html \ perl56delta.html \ perl581delta.html \ @@ -597,19 +561,7 @@ TEX = perl.tex \ perl5321delta.tex \ perl5340delta.tex \ perl5341delta.tex \ - perl5350delta.tex \ - perl53510delta.tex \ - perl53511delta.tex \ - perl53512delta.tex \ - perl5351delta.tex \ - perl5352delta.tex \ - perl5353delta.tex \ - perl5354delta.tex \ - perl5355delta.tex \ - perl5356delta.tex \ - perl5357delta.tex \ - perl5358delta.tex \ - perl5359delta.tex \ + perl5360delta.tex \ perl561delta.tex \ perl56delta.tex \ perl581delta.tex \ |