diff options
author | Steve Hay <steve.m.hay@googlemail.com> | 2014-04-20 17:27:29 +0100 |
---|---|---|
committer | Steve Hay <steve.m.hay@googlemail.com> | 2014-04-20 17:27:29 +0100 |
commit | 7ef8b31d86b95dbbc3871d6fd7701de095114f6e (patch) | |
tree | 2d869dc2d04b50053bc2b04be1f5621e1280c7be /pod | |
parent | 09b22ff5e949c1b74e695a3ae0f8676cfb37be39 (diff) | |
download | perl-7ef8b31d86b95dbbc3871d6fd7701de095114f6e.tar.gz |
Create new perldelta for 5.19.12 (not that it's expected to exist...)
Diffstat (limited to 'pod')
-rw-r--r-- | pod/.gitignore | 2 | ||||
-rw-r--r-- | pod/perl.pod | 1 | ||||
-rw-r--r-- | pod/perl51911delta.pod | 353 | ||||
-rw-r--r-- | pod/perldelta.pod | 423 |
4 files changed, 598 insertions, 181 deletions
diff --git a/pod/.gitignore b/pod/.gitignore index 4a20a33f90..dc7d883128 100644 --- a/pod/.gitignore +++ b/pod/.gitignore @@ -59,7 +59,7 @@ /roffitall # generated -/perl51911delta.pod +/perl51912delta.pod /perlapi.pod /perlintern.pod *.html diff --git a/pod/perl.pod b/pod/perl.pod index 0fedbd1b23..60be7941f9 100644 --- a/pod/perl.pod +++ b/pod/perl.pod @@ -179,6 +179,7 @@ aux a2p c2ph h2ph h2xs perlbug pl2pm pod2html pod2man s2p splain xsubpp perlhist Perl history records perldelta Perl changes since previous version + perl51911delta Perl changes in version 5.19.11 perl51910delta Perl changes in version 5.19.10 perl5199delta Perl changes in version 5.19.9 perl5198delta Perl changes in version 5.19.8 diff --git a/pod/perl51911delta.pod b/pod/perl51911delta.pod new file mode 100644 index 0000000000..e8db50286f --- /dev/null +++ b/pod/perl51911delta.pod @@ -0,0 +1,353 @@ + +=encoding utf8 + +=head1 NAME + +perl51911delta - what is new for perl v5.19.11 + +=head1 DESCRIPTION + +This document describes differences between the 5.19.10 release and the 5.19.11 +release. + +If you are upgrading from an earlier release such as 5.19.9, first read +L<perl51910delta>, which describes differences between 5.19.9 and 5.19.10. + +=head1 Modules and Pragmata + +=head2 New Modules and Pragmata + +=over 4 + +=item * + +L<experimental> version 0.007 has been added. + +This pragma provides an easy and convenient way to enable or disable +experimental features. + +=back + +=head2 Updated Modules and Pragmata + +=over 4 + +=item * + +L<Carp> has been upgraded from version 1.33 to 1.3301. + +No changes have been made to the installed code other than the version bump to +keep in sync with the latest CPAN release. + +=item * + +L<CPAN> has been upgraded from version 2.04-TRIAL to 2.05. + +This fixes L<local::lib> shell variable string output and prevents an endless +loop when running "notest test Module" for some Module having dependencies. + +=item * + +L<DB> has been upgraded from version 1.43 to 1.44. + +The debugger now correctly restores its input and output filehandles after +using the pager command. +[L<perl #121456|https://rt.perl.org/Public/Bug/Display.html?id=121456>] + +=item * + +L<ExtUtils::Install> has been upgraded from version 1.63 to 1.67. + +When upgrading an already-installed file, L<ExtUtils::Install> could mess up +the permissions of files if the old versions of files were hard or symbolic +links. This has now been fixed. +[L<perl #72028|https://rt.perl.org/Public/Bug/Display.html?id=72028>] + +The MM_TEST_ROOT feature has been removed from the tests. + +=item * + +L<ExtUtils::MakeMaker> has been upgraded from version 6.92 to 6.94. + +A regression in MM_Unix.pm has been resolved. +[L<Issue #96|https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/issues/96>] + +=item * + +L<Module::CoreList> has been upgraded from version 3.09 to 3.10. + +The list of Perl versions covered has been updated. + +=item * + +L<PerlIO> has been upgraded from version 1.08 to 1.09. + +The warning about the use of the C<:utf8> layer has been made more prominent. + +=item * + +L<Storable> has been upgraded from version 2.48 to 2.49. + +Recognition of tied SVs has been tightened up. + +=item * + +L<Win32> has been upgraded from version 0.48 to 0.49. + +This fixes a problem when building with B<gcc> version 4.8.1 from +L<http://www.mingw.org>. +[L<cpan #94730|https://rt.cpan.org/Public/Bug/Display.html?id=94730>] + +=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 Changes to Existing Diagnostics + +=over 4 + +=item * + +The now fatal error message C<Character following "\c" must be ASCII> has been +reworded as C<Character following "\c" must be printable ASCII> to emphasize +that in C<\cI<X>>, I<X> must be a I<printable (non-control)> ASCII character. + +=back + +=head1 Utility Changes + +=head2 L<perlbug> + +=over 4 + +=item * + +L<perlbug> has been modified to supply the report template with CRLF line +endings on Windows. +[L<perl #121277|https://rt.perl.org/Public/Bug/Display.html?id=121277>] + +=item * + +L<perlbug> now makes as few assumptions as possible about the encoding of the +report. This will likely change in the future to assume UTF-8 by default but +allow a user override. + +=back + +=head1 Configuration and Compilation + +=over 4 + +=item * + +By default, B<gcc> 4.9 does some optimizations that break perl. The B<-fwrapv> +option disables those optimizations (and probably others), so for B<gcc> 4.9 +(and later, since the optimizations probably won't go away), F<Configure> now +adds B<-fwrapv> unless the user requests B<-fno-wrapv>, which disables +B<-fwrapv>, or B<-fsanitize=undefined>, which turns the overflows B<-fwrapv> +ignores into runtime errors. (This is not done prior to B<gcc> 4.3, since +B<-fwrapv> was broken then.) +[L<perl #121505|https://rt.perl.org/Public/Bug/Display.html?id=121505>] + +=back + +=head1 Platform Support + +=head2 Platform-Specific Notes + +=over 4 + +=item VMS + +On VMS only, a check for glob metacharacters in a path returned by the +L<C<glob()>|perlfunc/glob> operator has been replaced with a check for VMS +wildcard characters. This saves a significant number of unnecessary +L<C<lstat()>|perlfunc/lstat> calls such that some simple glob operations become +60-80% faster. + +=item Win32 + +The time taken to build perl on Windows has been reduced quite significantly +(time savings in the region of 30-40% are typically seen) by reducing the +number of, usually failing, I/O calls for each L<C<require()>|perlfunc/require> +(for B<miniperl.exe> only). +[L<perl #121119|https://rt.perl.org/Public/Bug/Display.html?id=121119>] + +About 15 minutes of idle sleeping was removed from running C<make test> due to +a bug in which the timeout monitor used for tests could not be cancelled once +the test completes, and the full timeout period elapsed before running the next +test file. +[L<perl #121395|https://rt.perl.org/Public/Bug/Display.html?id=121395>] + +On a perl built without pseudo-fork (pseudo-fork builds were not affected by +this bug), killing a process tree with L<C<kill()>|perlfunc/kill> and a negative +signal resulted in C<kill()> inverting the returned value. For example, if +C<kill()> killed 1 process tree PID then it returned 0 instead of 1, and if +C<kill()> was passed 2 invalid PIDs then it returned 2 instead of 0. This has +probably been the case since the process tree kill feature was implemented on +Win32. It has now been corrected to follow the documented behaviour. +[L<perl #121230|https://rt.perl.org/Public/Bug/Display.html?id=121230>] + +When building a 64-bit perl, an uninitialized memory read in B<miniperl.exe>, +used during the build process, could lead to a 4GB B<wperl.exe> being created. +This has now been fixed. (Note that B<perl.exe> itself was unaffected, but +obviously B<wperl.exe> would have been completely broken.) +[L<perl #121471|https://rt.perl.org/Public/Bug/Display.html?id=121471>] + +Perl can now be built with B<gcc> version 4.8.1 from L<http://www.mingw.org>. +This was previously broken due to an incorrect definition of DllMain() in one +of perl's source files. Earlier B<gcc> versions were also affected when using +version 4 of the w32api package. Versions of B<gcc> available from +L<http://mingw-w64.sourceforge.net/> were not affected. +[L<perl #121643|https://rt.perl.org/Public/Bug/Display.html?id=121643>] + +The test harness now has no failures when perl is built on a FAT drive with the +Windows OS on an NTFS drive. +[L<perl #21442|https://rt.perl.org/Public/Bug/Display.html?id=21442>] + +=back + +=head1 Internal Changes + +=over 4 + +=item * + +C<LC_NUMERIC> is now initialized to the C locale. This affects only XS +modules, as the Perl core usages always make sure this locale category is +correctly set for their purposes. XS code remains vulnerable to other code +changing this category's locale. Further fixes are planned in Perl 5.22 to +reduce these long-standing vulnerabilities. +[L<perl #121317|https://rt.perl.org/Public/Bug/Display.html?id=121317>] + +=back + +=head1 Selected Bug Fixes + +=over 4 + +=item * + +A regression involving the string value of L<C<$!>|perlvar/$!> introduced in +Perl 5.19.2 has been reverted for Perl 5.20. +[L<perl #119499|https://rt.perl.org/Public/Bug/Display.html?id=119499>] + +This re-breaks the bugs it fixed, +L<perl #112208|https://rt.perl.org/Public/Bug/Display.html?id=112208>, so an +alternative fix is planned for Perl 5.22 + +=item * + +A regression was introduced in Perl 5.19.10 that under some circumstances +caused C<//m> matches to falsely fail. Now fixed. +[L<perl #121484|https://rt.perl.org/Public/Bug/Display.html?id=121484>] + +=item * + +A regression was introduced in the fix for +L<perl #116192|https://rt.perl.org/Public/Bug/Display.html?id=116192> that +prevented C<perl -I /somedir/> (with a trailing slash) from finding .pmc files. +This has been fixed. +[L<perl #121512|https://rt.perl.org/Public/Bug/Display.html?id=121512>]. + +=item * + +Fixed a bug detected by valgrind where sv_pvn_force_flags() would check SvPVX() +even when the SV hadn't been upgraded to a SVt_PV. SvPVX() is only initialized +when the SV is upgraded to a SVt_PV or higher. +[L<perl #121366|https://rt.perl.org/Public/Bug/Display.html?id=121366>] + +=item * + +Fixed a bug in L<C<caller()>|perlfunc/caller> introduced in Perl 5.18.0. In +some circumstances when C<caller()> was called on an C<eval STRING> stack frame +it would attempt to allocate the limit of the address space minus one, which +would croak with an out of memory error, which would be caught by the eval. A +change in Perl 5.19.1 which increased allocation sizes to allow COW to operate +more often rounded that allocation size up and wrapped to a zero allocation +size, resulting in a crash when the source string was copied over. +[L<perl #120998|https://rt.perl.org/Public/Bug/Display.html?id=120998>]. + +=back + +=head1 Known Problems + +=over 4 + +=item * + +One test in F<ext/POSIX/t/time.t> is known to fail on Windows when building +with certain versions of B<gcc> from L<http://www.mingw.org> due to a known bug +in the MinGW build, which is logged here: +L<http://sourceforge.net/p/mingw/bugs/2152/>. + +=back + +=head1 Acknowledgements + +Perl 5.19.11 represents approximately 4 weeks of development since Perl 5.19.10 +and contains approximately 3,600 lines of changes across 140 files from 18 +authors. + +Excluding auto-generated files, documentation and release tools, there were +approximately 850 lines of changes to 72 .pm, .t, .c and .h files. + +Perl continues to flourish into its third decade thanks to a vibrant community +of users and developers. The following people are known to have contributed +the improvements that became Perl 5.19.11: + +Aaron Crane, Chris 'BinGOs' Williams, Craig A. Berry, Daniel Dragan, David +Golden, David Mitchell, H.Merijn Brand, Hiroo Hayashi, Karl Williamson, Matthew +Horsfall, Ricardo Signes, Shirakata Kentaro, Smylers, Steve Hay, Thomas Sibley, +Tony Cook, Zefram, Ævar Arnfjörð Bjarmason. + +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 articles recently +posted to the comp.lang.perl.misc newsgroup and the perl bug database at +https://rt.perl.org/ . There may also be information at http://www.perl.org/ , +the Perl Home Page. + +If you believe you have an unreported bug, please run the L<perlbug> program +included with your release. Be sure to trim your bug down to a tiny but +sufficient test case. Your bug report, along with the output of C<perl -V>, +will be sent off to perlbug@perl.org to be analysed by the Perl porting team. + +If the bug you are reporting has security implications, which make it +inappropriate to send to a publicly archived mailing list, then please send it +to perl5-security-report@perl.org. This points to a closed subscription +unarchived mailing list, which includes all the core committers, who will be +able to help assess the impact of issues, figure out a resolution, and help +co-ordinate the release of patches to mitigate or fix the problem across all +platforms on which Perl is supported. Please only use this address for +security issues in the Perl core, not for modules independently distributed on +CPAN. + +=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/perldelta.pod b/pod/perldelta.pod index 2ac78eda52..5242261f01 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -1,102 +1,164 @@ - =encoding utf8 =head1 NAME -perldelta - what is new for perl v5.19.11 +[ this is a template for a new perldelta file. Any text flagged as XXX needs +to be processed before release. ] + +perldelta - what is new for perl v5.19.12 =head1 DESCRIPTION -This document describes differences between the 5.19.10 release and the 5.19.11 +This document describes differences between the 5.19.11 release and the 5.19.12 release. -If you are upgrading from an earlier release such as 5.19.9, first read -L<perl51910delta>, which describes differences between 5.19.9 and 5.19.10. +If you are upgrading from an earlier release such as 5.19.10, first read +L<perl51911delta>, which describes differences between 5.19.10 and 5.19.11. -=head1 Modules and Pragmata +=head1 Notice -=head2 New Modules and Pragmata +XXX Any important notices here -=over 4 +=head1 Core Enhancements -=item * +XXX New core language features go here. Summarize user-visible core language +enhancements. Particularly prominent performance optimisations could go +here, but most should go in the L</Performance Enhancements> section. + +[ List each enhancement as a =head2 entry ] + +=head1 Security + +XXX Any security-related notices go here. In particular, any security +vulnerabilities closed should be noted here rather than in the +L</Selected Bug Fixes> section. + +[ List each security issue as a =head2 entry ] + +=head1 Incompatible Changes + +XXX For a release on a stable branch, this section aspires to be: + + There are no changes intentionally incompatible with 5.XXX.XXX + If any exist, they are bugs, and we request that you submit a + report. See L</Reporting Bugs> below. + +[ List each incompatible change as a =head2 entry ] + +=head1 Deprecations -L<experimental> version 0.007 has been added. +XXX Any deprecated features, syntax, modules etc. should be listed here. -This pragma provides an easy and convenient way to enable or disable -experimental features. +=head2 Module removals + +XXX Remove this section if inapplicable. + +The following modules will be removed from the core distribution in a +future release, and will at that time need to be installed from CPAN. +Distributions on CPAN which require these modules will need to list them as +prerequisites. + +The core versions of these modules will now issue C<"deprecated">-category +warnings to alert you to this fact. To silence these deprecation warnings, +install the modules in question from CPAN. + +Note that these are (with rare exceptions) fine modules that you are encouraged +to continue to use. Their disinclusion from core primarily hinges on their +necessity to bootstrapping a fully functional, CPAN-capable Perl installation, +not usually on concerns over their design. + +=over + +=item XXX + +XXX Note that deprecated modules should be listed here even if they are listed +as an updated module in the L</Modules and Pragmata> section. =back -=head2 Updated Modules and Pragmata +[ List each other deprecation as a =head2 entry ] + +=head1 Performance Enhancements + +XXX Changes which enhance performance without changing behaviour go here. +There may well be none in a stable release. + +[ List each enhancement as a =item entry ] =over 4 =item * -L<Carp> has been upgraded from version 1.33 to 1.3301. +XXX -No changes have been made to the installed code other than the version bump to -keep in sync with the latest CPAN release. +=back -=item * +=head1 Modules and Pragmata -L<CPAN> has been upgraded from version 2.04-TRIAL to 2.05. +XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/> +go here. If Module::CoreList is updated, generate an initial draft of the +following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary +for important changes should then be added by hand. In an ideal world, +dual-life modules would have a F<Changes> file that could be cribbed. -This fixes L<local::lib> shell variable string output and prevents an endless -loop when running "notest test Module" for some Module having dependencies. +[ Within each section, list entries as a =item entry ] + +=head2 New Modules and Pragmata + +=over 4 =item * -L<DB> has been upgraded from version 1.43 to 1.44. +XXX -The debugger now correctly restores its input and output filehandles after -using the pager command. -[L<perl #121456|https://rt.perl.org/Public/Bug/Display.html?id=121456>] +=back + +=head2 Updated Modules and Pragmata + +=over 4 =item * -L<ExtUtils::Install> has been upgraded from version 1.63 to 1.67. +L<XXX> has been upgraded from version A.xx to B.yy. + +=back -When upgrading an already-installed file, L<ExtUtils::Install> could mess up -the permissions of files if the old versions of files were hard or symbolic -links. This has now been fixed. -[L<perl #72028|https://rt.perl.org/Public/Bug/Display.html?id=72028>] +=head2 Removed Modules and Pragmata -The MM_TEST_ROOT feature has been removed from the tests. +=over 4 =item * -L<ExtUtils::MakeMaker> has been upgraded from version 6.92 to 6.94. +XXX -A regression in MM_Unix.pm has been resolved. -[L<Issue #96|https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/issues/96>] +=back -=item * +=head1 Documentation -L<Module::CoreList> has been upgraded from version 3.09 to 3.10. +XXX Changes to files in F<pod/> go here. Consider grouping entries by +file and be sure to link to the appropriate page, e.g. L<perlfunc>. -The list of Perl versions covered has been updated. +=head2 New Documentation -=item * +XXX Changes which create B<new> files in F<pod/> go here. -L<PerlIO> has been upgraded from version 1.08 to 1.09. +=head3 L<XXX> -The warning about the use of the C<:utf8> layer has been made more prominent. +XXX Description of the purpose of the new file here -=item * +=head2 Changes to Existing Documentation -L<Storable> has been upgraded from version 2.48 to 2.49. +XXX Changes which significantly change existing files in F<pod/> go here. +However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics> +section. -Recognition of tied SVs has been tightened up. +=head3 L<XXX> -=item * +=over 4 -L<Win32> has been upgraded from version 0.48 to 0.49. +=item * -This fixes a problem when building with B<gcc> version 4.8.1 from -L<http://www.mingw.org>. -[L<cpan #94730|https://rt.cpan.org/Public/Bug/Display.html?id=94730>] +XXX Description of the change here =back @@ -106,223 +168,224 @@ The following additions or changes have been made to diagnostic output, including warnings and fatal error messages. For the complete list of diagnostic messages, see L<perldiag>. +XXX New or changed warnings emitted by the core's C<C> code go here. Also +include any changes in L<perldiag> that reconcile it to the C<C> code. + +=head2 New Diagnostics + +XXX Newly added diagnostic messages go under here, separated into New Errors +and New Warnings + +=head3 New Errors + +=over 4 + +=item * + +XXX L<message|perldiag/"message"> + +=back + +=head3 New Warnings + +=over 4 + +=item * + +XXX L<message|perldiag/"message"> + +=back + =head2 Changes to Existing Diagnostics +XXX Changes (i.e. rewording) of diagnostic messages go here + =over 4 =item * -The now fatal error message C<Character following "\c" must be ASCII> has been -reworded as C<Character following "\c" must be printable ASCII> to emphasize -that in C<\cI<X>>, I<X> must be a I<printable (non-control)> ASCII character. +XXX Describe change here =back =head1 Utility Changes -=head2 L<perlbug> +XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here. +Most of these are built within the directories F<utils> and F<x2p>. + +[ List utility changes as a =head2 entry for each utility and =item +entries for each change +Use L<XXX> with program names to get proper documentation linking. ] + +=head2 L<XXX> =over 4 =item * -L<perlbug> has been modified to supply the report template with CRLF line -endings on Windows. -[L<perl #121277|https://rt.perl.org/Public/Bug/Display.html?id=121277>] +XXX + +=back + +=head1 Configuration and Compilation + +XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools +go here. Any other changes to the Perl build process should be listed here. +However, any platform-specific changes should be listed in the +L</Platform Support> section, instead. + +[ List changes as a =item entry ]. + +=over 4 =item * -L<perlbug> now makes as few assumptions as possible about the encoding of the -report. This will likely change in the future to assume UTF-8 by default but -allow a user override. +XXX =back -=head1 Configuration and Compilation +=head1 Testing + +XXX Any significant changes to the testing of a freshly built perl should be +listed here. Changes which create B<new> files in F<t/> go here as do any +large changes to the testing harness (e.g. when parallel testing was added). +Changes to existing files in F<t/> aren't worth summarizing, although the bugs +that they represent may be covered elsewhere. + +[ List each test improvement as a =item entry ] =over 4 =item * -By default, B<gcc> 4.9 does some optimizations that break perl. The B<-fwrapv> -option disables those optimizations (and probably others), so for B<gcc> 4.9 -(and later, since the optimizations probably won't go away), F<Configure> now -adds B<-fwrapv> unless the user requests B<-fno-wrapv>, which disables -B<-fwrapv>, or B<-fsanitize=undefined>, which turns the overflows B<-fwrapv> -ignores into runtime errors. (This is not done prior to B<gcc> 4.3, since -B<-fwrapv> was broken then.) -[L<perl #121505|https://rt.perl.org/Public/Bug/Display.html?id=121505>] +XXX =back =head1 Platform Support -=head2 Platform-Specific Notes +XXX Any changes to platform support should be listed in the sections below. + +[ Within the sections, list each platform as a =item entry with specific +changes as paragraphs below it. ] + +=head2 New Platforms + +XXX List any platforms that this version of perl compiles on, that previous +versions did not. These will either be enabled by new files in the F<hints/> +directories, or new subdirectories and F<README> files at the top level of the +source tree. =over 4 -=item VMS - -On VMS only, a check for glob metacharacters in a path returned by the -L<C<glob()>|perlfunc/glob> operator has been replaced with a check for VMS -wildcard characters. This saves a significant number of unnecessary -L<C<lstat()>|perlfunc/lstat> calls such that some simple glob operations become -60-80% faster. - -=item Win32 - -The time taken to build perl on Windows has been reduced quite significantly -(time savings in the region of 30-40% are typically seen) by reducing the -number of, usually failing, I/O calls for each L<C<require()>|perlfunc/require> -(for B<miniperl.exe> only). -[L<perl #121119|https://rt.perl.org/Public/Bug/Display.html?id=121119>] - -About 15 minutes of idle sleeping was removed from running C<make test> due to -a bug in which the timeout monitor used for tests could not be cancelled once -the test completes, and the full timeout period elapsed before running the next -test file. -[L<perl #121395|https://rt.perl.org/Public/Bug/Display.html?id=121395>] - -On a perl built without pseudo-fork (pseudo-fork builds were not affected by -this bug), killing a process tree with L<C<kill()>|perlfunc/kill> and a negative -signal resulted in C<kill()> inverting the returned value. For example, if -C<kill()> killed 1 process tree PID then it returned 0 instead of 1, and if -C<kill()> was passed 2 invalid PIDs then it returned 2 instead of 0. This has -probably been the case since the process tree kill feature was implemented on -Win32. It has now been corrected to follow the documented behaviour. -[L<perl #121230|https://rt.perl.org/Public/Bug/Display.html?id=121230>] - -When building a 64-bit perl, an uninitialized memory read in B<miniperl.exe>, -used during the build process, could lead to a 4GB B<wperl.exe> being created. -This has now been fixed. (Note that B<perl.exe> itself was unaffected, but -obviously B<wperl.exe> would have been completely broken.) -[L<perl #121471|https://rt.perl.org/Public/Bug/Display.html?id=121471>] - -Perl can now be built with B<gcc> version 4.8.1 from L<http://www.mingw.org>. -This was previously broken due to an incorrect definition of DllMain() in one -of perl's source files. Earlier B<gcc> versions were also affected when using -version 4 of the w32api package. Versions of B<gcc> available from -L<http://mingw-w64.sourceforge.net/> were not affected. -[L<perl #121643|https://rt.perl.org/Public/Bug/Display.html?id=121643>] - -The test harness now has no failures when perl is built on a FAT drive with the -Windows OS on an NTFS drive. -[L<perl #21442|https://rt.perl.org/Public/Bug/Display.html?id=21442>] +=item XXX-some-platform + +XXX =back -=head1 Internal Changes +=head2 Discontinued Platforms + +XXX List any platforms that this version of perl no longer compiles on. =over 4 -=item * +=item XXX-some-platform -C<LC_NUMERIC> is now initialized to the C locale. This affects only XS -modules, as the Perl core usages always make sure this locale category is -correctly set for their purposes. XS code remains vulnerable to other code -changing this category's locale. Further fixes are planned in Perl 5.22 to -reduce these long-standing vulnerabilities. -[L<perl #121317|https://rt.perl.org/Public/Bug/Display.html?id=121317>] +XXX =back -=head1 Selected Bug Fixes +=head2 Platform-Specific Notes + +XXX List any changes for specific platforms. This could include configuration +and compilation changes or changes in portability/compatibility. However, +changes within modules for platforms should generally be listed in the +L</Modules and Pragmata> section. =over 4 -=item * +=item XXX-some-platform + +XXX -A regression involving the string value of L<C<$!>|perlvar/$!> introduced in -Perl 5.19.2 has been reverted for Perl 5.20. -[L<perl #119499|https://rt.perl.org/Public/Bug/Display.html?id=119499>] +=back -This re-breaks the bugs it fixed, -L<perl #112208|https://rt.perl.org/Public/Bug/Display.html?id=112208>, so an -alternative fix is planned for Perl 5.22 +=head1 Internal Changes -=item * +XXX Changes which affect the interface available to C<XS> code go here. Other +significant internal changes for future core maintainers should be noted as +well. -A regression was introduced in Perl 5.19.10 that under some circumstances -caused C<//m> matches to falsely fail. Now fixed. -[L<perl #121484|https://rt.perl.org/Public/Bug/Display.html?id=121484>] +[ List each change as a =item entry ] + +=over 4 =item * -A regression was introduced in the fix for -L<perl #116192|https://rt.perl.org/Public/Bug/Display.html?id=116192> that -prevented C<perl -I /somedir/> (with a trailing slash) from finding .pmc files. -This has been fixed. -[L<perl #121512|https://rt.perl.org/Public/Bug/Display.html?id=121512>]. +XXX -=item * +=back -Fixed a bug detected by valgrind where sv_pvn_force_flags() would check SvPVX() -even when the SV hadn't been upgraded to a SVt_PV. SvPVX() is only initialized -when the SV is upgraded to a SVt_PV or higher. -[L<perl #121366|https://rt.perl.org/Public/Bug/Display.html?id=121366>] +=head1 Selected Bug Fixes + +XXX Important bug fixes in the core language are summarized here. Bug fixes in +files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>. + +[ List each fix as a =item entry ] + +=over 4 =item * -Fixed a bug in L<C<caller()>|perlfunc/caller> introduced in Perl 5.18.0. In -some circumstances when C<caller()> was called on an C<eval STRING> stack frame -it would attempt to allocate the limit of the address space minus one, which -would croak with an out of memory error, which would be caught by the eval. A -change in Perl 5.19.1 which increased allocation sizes to allow COW to operate -more often rounded that allocation size up and wrapped to a zero allocation -size, resulting in a crash when the source string was copied over. -[L<perl #120998|https://rt.perl.org/Public/Bug/Display.html?id=120998>]. +XXX =back =head1 Known Problems +XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any +tests that had to be C<TODO>ed for the release would be noted here. Unfixed +platform specific bugs also go here. + +[ List each fix as a =item entry ] + =over 4 =item * -One test in F<ext/POSIX/t/time.t> is known to fail on Windows when building -with certain versions of B<gcc> from L<http://www.mingw.org> due to a known bug -in the MinGW build, which is logged here: -L<http://sourceforge.net/p/mingw/bugs/2152/>. +XXX =back -=head1 Acknowledgements +=head1 Errata From Previous Releases -Perl 5.19.11 represents approximately 4 weeks of development since Perl 5.19.10 -and contains approximately 3,600 lines of changes across 140 files from 18 -authors. +=over 4 -Excluding auto-generated files, documentation and release tools, there were -approximately 850 lines of changes to 72 .pm, .t, .c and .h files. +=item * -Perl continues to flourish into its third decade thanks to a vibrant community -of users and developers. The following people are known to have contributed -the improvements that became Perl 5.19.11: +XXX Add anything here that we forgot to add, or were mistaken about, in +the perldelta of a previous release. -Aaron Crane, Chris 'BinGOs' Williams, Craig A. Berry, Daniel Dragan, David -Golden, David Mitchell, H.Merijn Brand, Hiroo Hayashi, Karl Williamson, Matthew -Horsfall, Ricardo Signes, Shirakata Kentaro, Smylers, Steve Hay, Thomas Sibley, -Tony Cook, Zefram, Ævar Arnfjörð Bjarmason. +=back -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. +=head1 Obituary + +XXX If any significant core contributor has died, we've added a short obituary +here. + +=head1 Acknowledgements -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. +XXX Generate this with: -For a more complete list of all of Perl's historical contributors, please see -the F<AUTHORS> file in the Perl source distribution. + perl Porting/acknowledgements.pl v5.19.11..HEAD =head1 Reporting Bugs If you find what you think is a bug, you might check the articles recently posted to the comp.lang.perl.misc newsgroup and the perl bug database at -https://rt.perl.org/ . There may also be information at http://www.perl.org/ , -the Perl Home Page. +https://rt.perl.org/ . There may also be information at +http://www.perl.org/ , the Perl Home Page. If you believe you have an unreported bug, please run the L<perlbug> program included with your release. Be sure to trim your bug down to a tiny but |