diff options
author | Steve Hay <steve.m.hay@googlemail.com> | 2015-02-14 19:03:06 +0000 |
---|---|---|
committer | Steve Hay <steve.m.hay@googlemail.com> | 2015-02-14 19:03:06 +0000 |
commit | d8fb1650dba2e6ec20359fcc9c0c5adaf9b68a33 (patch) | |
tree | 6926869c7914543c44eb77ad81c37e7ba195a64a | |
parent | c05ce579b6dae0f955ff8922469d49f95f4bf6fd (diff) | |
download | perl-d8fb1650dba2e6ec20359fcc9c0c5adaf9b68a33.tar.gz |
Create new perldelta for 5.20.3
-rw-r--r-- | MANIFEST | 1 | ||||
-rwxr-xr-x | Makefile.SH | 8 | ||||
-rw-r--r-- | pod/.gitignore | 2 | ||||
-rw-r--r-- | pod/perl.pod | 1 | ||||
-rw-r--r-- | pod/perl5202delta.pod | 415 | ||||
-rw-r--r-- | pod/perldelta.pod | 415 | ||||
-rw-r--r-- | vms/descrip_mms.template | 2 | ||||
-rw-r--r-- | win32/Makefile | 4 | ||||
-rw-r--r-- | win32/makefile.mk | 4 | ||||
-rw-r--r-- | win32/pod.mak | 4 |
10 files changed, 639 insertions, 217 deletions
@@ -4602,6 +4602,7 @@ pod/perl5182delta.pod Perl changes in version 5.18.2 pod/perl5184delta.pod Perl changes in version 5.18.4 pod/perl5200delta.pod Perl changes in version 5.20.0 pod/perl5201delta.pod Perl changes in version 5.20.1 +pod/perl5202delta.pod Perl changes in version 5.20.2 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 a2e6034037..ee2517dbc5 100755 --- a/Makefile.SH +++ b/Makefile.SH @@ -491,7 +491,7 @@ mini_obj = $(minindt_obj) $(MINIDTRACE_O) ndt_obj = $(obj0) $(obj1) $(obj2) $(obj3) $(ARCHOBJS) obj = $(ndt_obj) $(DTRACE_O) -perltoc_pod_prereqs = extra.pods pod/perl5202delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod +perltoc_pod_prereqs = extra.pods pod/perl5203delta.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 @@ -1016,9 +1016,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/perl5202delta.pod: pod/perldelta.pod - $(RMS) pod/perl5202delta.pod - $(LNS) perldelta.pod pod/perl5202delta.pod +pod/perl5203delta.pod: pod/perldelta.pod + $(RMS) pod/perl5203delta.pod + $(LNS) perldelta.pod pod/perl5203delta.pod extra.pods: $(MINIPERL_EXE) -@test ! -f extra.pods || rm -f `cat extra.pods` diff --git a/pod/.gitignore b/pod/.gitignore index 38984941d9..3e14c5ba8d 100644 --- a/pod/.gitignore +++ b/pod/.gitignore @@ -59,7 +59,7 @@ /roffitall # generated -/perl5202delta.pod +/perl5203delta.pod /perlapi.pod /perlintern.pod *.html diff --git a/pod/perl.pod b/pod/perl.pod index 9473daffa1..5155344812 100644 --- a/pod/perl.pod +++ b/pod/perl.pod @@ -180,6 +180,7 @@ aux a2p c2ph h2ph h2xs perlbug pl2pm pod2html pod2man s2p splain xsubpp perlhist Perl history records perldelta Perl changes since previous version + perl5202delta Perl changes in version 5.20.2 perl5201delta Perl changes in version 5.20.1 perl5200delta Perl changes in version 5.20.0 perl5184delta Perl changes in version 5.18.4 diff --git a/pod/perl5202delta.pod b/pod/perl5202delta.pod new file mode 100644 index 0000000000..98707fde03 --- /dev/null +++ b/pod/perl5202delta.pod @@ -0,0 +1,415 @@ +=encoding utf8 + +=head1 NAME + +perl5202delta - what is new for perl v5.20.2 + +=head1 DESCRIPTION + +This document describes differences between the 5.20.1 release and the 5.20.2 +release. + +If you are upgrading from an earlier release such as 5.20.0, first read +L<perl5201delta>, which describes differences between 5.20.0 and 5.20.1. + +=head1 Incompatible Changes + +There are no changes intentionally incompatible with 5.20.1. 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<attributes> has been upgraded from version 0.22 to 0.23. + +The usage of C<memEQs> in the XS has been corrected. +L<[perl #122701]|https://rt.perl.org/Ticket/Display.html?id=122701> + +=item * + +L<Data::Dumper> has been upgraded from version 2.151 to 2.151_01. + +Fixes CVE-2014-4330 by adding a configuration variable/option to limit +recursion when dumping deep data structures. + +=item * + +L<Errno> has been upgraded from version 1.20_03 to 1.20_05. + +Warnings when building the XS on Windows with the Visual C++ compiler are now +avoided. + +=item * + +L<feature> has been upgraded from version 1.36 to 1.36_01. + +The C<postderef> feature has now been documented. This feature was actually +added in Perl 5.20.0 but was accidentally omitted from the feature +documentation until now. + +=item * + +L<IO::Socket> has been upgraded from version 1.37 to 1.38. + +Document the limitations of the connected() method. +L<[perl #123096]|https://rt.perl.org/Ticket/Display.html?id=123096> + +=item * + +L<Module::CoreList> has been upgraded from version 5.020001 to 5.20150214. + +The list of Perl versions covered has been updated. + +=item * + +PathTools has been upgraded from version 3.48 to 3.48_01. + +A warning from the B<gcc> compiler is now avoided when building the XS. + +=item * + +L<PerlIO::scalar> has been upgraded from version 0.18 to 0.18_01. + +Reading from a position well past the end of the scalar now correctly returns +end of file. +L<[perl #123443]|https://rt.perl.org/Ticket/Display.html?id=123443> + +Seeking to a negative position still fails, but no longer leaves the file +position set to a negation location. + +C<eof()> on a C<PerlIO::scalar> handle now properly returns true when the file +position is past the 2GB mark on 32-bit systems. + +=item * + +L<Storable> has been upgraded from version 2.49 to 2.49_01. + +Minor grammatical change to the documentation only. + +=item * + +L<VMS::DCLsym> has been upgraded from version 1.05 to 1.05_01. + +Minor formatting change to the documentation only. + +=item * + +L<VMS::Stdio> has been upgraded from version 2.4 to 2.41. + +Minor formatting change to the documentation only. + +=back + +=head1 Documentation + +=head2 New Documentation + +=head3 L<perlunicook> + +This document, by Tom Christiansen, provides examples of handling Unicode in +Perl. + +=head2 Changes to Existing Documentation + +=head3 L<perlexperiment> + +=over 4 + +=item * + +Added reference to subroutine signatures. This feature was actually added in +Perl 5.20.0 but was accidentally omitted from the experimental feature +documentation until now. + +=back + +=head3 L<perlpolicy> + +=over 4 + +=item * + +The process whereby features may graduate from experimental status has now been +formally documented. + +=back + +=head3 L<perlsyn> + +=over 4 + +=item * + +An ambiguity in the documentation of the ellipsis statement has been corrected. +L<[perl #122661]|https://rt.perl.org/Ticket/Display.html?id=122661> + +=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 * + +L<Bad symbol for scalar|perldiag/"Bad symbol for scalar"> is now documented. +This error is not new, but was not previously documented here. + +=item * + +L<Missing right brace on \N{}|perldiag/"Missing right brace on \N{}"> is now +documented. This error is not new, but was not previously documented here. + +=back + +=head1 Testing + +=over 4 + +=item * + +The test script F<re/rt122747.t> has been added to verify that +L<perl #122747|https://rt.perl.org/Ticket/Display.html?id=122747> remains +fixed. + +=back + +=head1 Platform Support + +=head2 Regained Platforms + +IRIX and Tru64 platforms are working again. (Some C<make test> failures +remain.) + +=head1 Selected Bug Fixes + +=over 4 + +=item * + +AIX now sets the length in C<< getsockopt >> correctly. +L<[perl #120835]|https://rt.perl.org/Ticket/Display.html?id=120835>, +L<[cpan #91183]|https://rt.cpan.org/Ticket/Display.html?id=91183>, +L<[cpan #85570]|https://rt.cpan.org/Ticket/Display.html?id=85570> + +=item * + +In Perl 5.20.0, C<$^N> accidentally had the internal UTF8 flag turned off if +accessed from a code block within a regular expression, effectively +UTF8-encoding the value. This has been fixed. +L<[perl #123135]|https://rt.perl.org/Ticket/Display.html?id=123135> + +=item * + +Various cases where the name of a sub is used (autoload, overloading, error +messages) used to crash for lexical subs, but have been fixed. + +=item * + +An assertion failure when parsing C<sort> with debugging enabled has been +fixed. +L<[perl #122771]|https://rt.perl.org/Ticket/Display.html?id=122771> + +=item * + +Loading UTF8 tables during a regular expression match could cause assertion +failures under debugging builds if the previous match used the very same +regular expression. +L<[perl #122747]|https://rt.perl.org/Ticket/Display.html?id=122747> + +=item * + +Due to a mistake in the string-copying logic, copying the value of a state +variable could instead steal the value and undefine the variable. This bug, +introduced in Perl 5.20, would happen mostly for long strings (1250 chars or +more), but could happen for any strings under builds with copy-on-write +disabled. +L<[perl #123029]|https://rt.perl.org/Ticket/Display.html?id=123029> + +=item * + +Fixed a bug that could cause perl to execute an infinite loop during +compilation. +L<[perl #122995]|https://rt.perl.org/Ticket/Display.html?id=122995> + +=item * + +On Win32, restoring in a child pseudo-process a variable that was C<local()>ed +in a parent pseudo-process before the C<fork> happened caused memory corruption +and a crash in the child pseudo-process (and therefore OS process). +L<[perl #40565]|https://rt.perl.org/Ticket/Display.html?id=40565> + +=item * + +Tainted constants evaluated at compile time no longer cause unrelated +statements to become tainted. +L<[perl #122669]|https://rt.perl.org/Ticket/Display.html?id=122669> + +=item * + +Calling C<write> on a format with a C<^**> field could produce a panic in +sv_chop() if there were insufficient arguments or if the variable used to fill +the field was empty. +L<[perl #123245]|https://rt.perl.org/Ticket/Display.html?id=123245> + +=item * + +In Perl 5.20.0, C<sort CORE::fake> where 'fake' is anything other than a +keyword started chopping of the last 6 characters and treating the result as a +sort sub name. The previous behaviour of treating "CORE::fake" as a sort sub +name has been restored. +L<[perl #123410]|https://rt.perl.org/Ticket/Display.html?id=123410> + +=item * + +A bug in regular expression patterns that could lead to segfaults and other +crashes has been fixed. This occurred only in patterns compiled with C<"/i">, +while taking into account the current POSIX locale (this usually means they +have to be compiled within the scope of C<S<"use locale">>), and there must be +a string of at least 128 consecutive bytes to match. +L<[perl #123539]|https://rt.perl.org/Ticket/Display.html?id=123539> + +=item * + +C<qr/@array(?{block})/> no longer dies with "Bizarre copy of ARRAY". +L<[perl #123344]|https://rt.perl.org/Ticket/Display.html?id=123344> + +=item * + +C<gmtime> no longer crashes with not-a-number values. +L<[perl #123495]|https://rt.perl.org/Ticket/Display.html?id=123495> + +=item * + +Certain syntax errors in substitutions, such as C<< s/${<>{})// >>, would +crash, and had done so since Perl 5.10. (In some cases the crash did not start +happening until Perl 5.16.) The crash has, of course, been fixed. +L<[perl #123542]|https://rt.perl.org/Ticket/Display.html?id=123542> + +=item * + +A memory leak in some regular expressions, introduced in Perl 5.20.1, has been +fixed. +L<[perl #123198]|https://rt.perl.org/Ticket/Display.html?id=123198> + +=item * + +C<< formline("@...", "a"); >> would crash. The C<FF_CHECKNL> case in +pp_formline() didn't set the pointer used to mark the chop position, which led +to the C<FF_MORE> case crashing with a segmentation fault. This has been +fixed. +L<[perl #123538]|https://rt.perl.org/Ticket/Display.html?id=123538> +L<[perl #123622]|https://rt.perl.org/Ticket/Display.html?id=123622> + +=item * + +A possible buffer overrun and crash when parsing a literal pattern during +regular expression compilation has been fixed. +L<[perl #123604]|https://rt.perl.org/Ticket/Display.html?id=123604> + +=back + +=head1 Known Problems + +=over 4 + +=item * + +It is a known bug that lexical subroutines cannot be used as the C<SUBNAME> +argument to C<sort>. This will be fixed in a future version of Perl. + +=back + +=head1 Errata From Previous Releases + +=over 4 + +=item * + +A regression has been fixed that was introduced in Perl 5.20.0 (fixed in Perl +5.20.1 as well as here) in which a UTF-8 encoded regular expression pattern +that contains a single ASCII lowercase letter does not match its uppercase +counterpart. +L<[perl #122655]|https://rt.perl.org/Ticket/Display.html?id=122655> + +=back + +=head1 Acknowledgements + +Perl 5.20.2 represents approximately 5 months of development since Perl 5.20.1 +and contains approximately 6,300 lines of changes across 170 files from 34 +authors. + +Excluding auto-generated files, documentation and release tools, there were +approximately 1,900 lines of changes to 80 .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.20.2: + +Aaron Crane, Abigail, Andreas Voegele, Andy Dougherty, Anthony Heading, +Aristotle Pagaltzis, Chris 'BinGOs' Williams, Craig A. Berry, Daniel Dragan, +Doug Bell, Ed J, Father Chrysostomos, Glenn D. Golden, H.Merijn Brand, Hugo van +der Sanden, James E Keenan, Jarkko Hietaniemi, Jim Cromie, Karen Etheridge, +Karl Williamson, kmx, Matthew Horsfall, Max Maischein, Peter Martini, Rafael +Garcia-Suarez, Ricardo Signes, Shlomi Fish, Slaven Rezic, Steffen Müller, +Steve Hay, Tadeusz Sośnierz, Tony Cook, Yves Orton, Æ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 a339f3d3bd..bc359bb54e 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -2,332 +2,359 @@ =head1 NAME -perldelta - what is new for perl v5.20.2 +[ 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.20.3 =head1 DESCRIPTION -This document describes differences between the 5.20.1 release and the 5.20.2 +This document describes differences between the 5.20.2 release and the 5.20.3 release. -If you are upgrading from an earlier release such as 5.20.0, first read -L<perl5201delta>, which describes differences between 5.20.0 and 5.20.1. +If you are upgrading from an earlier release such as 5.20.1, first read +L<perl5202delta>, which describes differences between 5.20.1 and 5.20.2. -=head1 Incompatible Changes +=head1 Notice -There are no changes intentionally incompatible with 5.20.1. If any exist, -they are bugs, and we request that you submit a report. See L</Reporting Bugs> -below. +XXX Any important notices here -=head1 Modules and Pragmata +=head1 Core Enhancements -=head2 Updated Modules and Pragmata +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. -=over 4 +[ List each enhancement as a =head2 entry ] -=item * +=head1 Security -L<attributes> has been upgraded from version 0.22 to 0.23. +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. -The usage of C<memEQs> in the XS has been corrected. -L<[perl #122701]|https://rt.perl.org/Ticket/Display.html?id=122701> +[ List each security issue as a =head2 entry ] -=item * +=head1 Incompatible Changes -L<Data::Dumper> has been upgraded from version 2.151 to 2.151_01. +XXX For a release on a stable branch, this section aspires to be: -Fixes CVE-2014-4330 by adding a configuration variable/option to limit -recursion when dumping deep data structures. + 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. -=item * +[ List each incompatible change as a =head2 entry ] -L<Errno> has been upgraded from version 1.20_03 to 1.20_05. +=head1 Deprecations -Warnings when building the XS on Windows with the Visual C++ compiler are now -avoided. +XXX Any deprecated features, syntax, modules etc. should be listed here. -=item * +=head2 Module removals -L<feature> has been upgraded from version 1.36 to 1.36_01. +XXX Remove this section if inapplicable. -The C<postderef> feature has now been documented. This feature was actually -added in Perl 5.20.0 but was accidentally omitted from the feature -documentation until now. +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. -=item * +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. -L<IO::Socket> has been upgraded from version 1.37 to 1.38. +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. -Document the limitations of the connected() method. -L<[perl #123096]|https://rt.perl.org/Ticket/Display.html?id=123096> +=over -=item * +=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. -L<Module::CoreList> has been upgraded from version 5.020001 to 5.20150214. +=back -The list of Perl versions covered has been updated. +[ List each other deprecation as a =head2 entry ] -=item * +=head1 Performance Enhancements -PathTools has been upgraded from version 3.48 to 3.48_01. +XXX Changes which enhance performance without changing behaviour go here. +There may well be none in a stable release. -A warning from the B<gcc> compiler is now avoided when building the XS. +[ List each enhancement as a =item entry ] + +=over 4 =item * -L<PerlIO::scalar> has been upgraded from version 0.18 to 0.18_01. +XXX -Reading from a position well past the end of the scalar now correctly returns -end of file. -L<[perl #123443]|https://rt.perl.org/Ticket/Display.html?id=123443> +=back -Seeking to a negative position still fails, but no longer leaves the file -position set to a negation location. +=head1 Modules and Pragmata -C<eof()> on a C<PerlIO::scalar> handle now properly returns true when the file -position is past the 2GB mark on 32-bit systems. +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. -=item * +[ Within each section, list entries as a =item entry ] -L<Storable> has been upgraded from version 2.49 to 2.49_01. +=head2 New Modules and Pragmata -Minor grammatical change to the documentation only. +=over 4 =item * -L<VMS::DCLsym> has been upgraded from version 1.05 to 1.05_01. +XXX + +=back + +=head2 Updated Modules and Pragmata -Minor formatting change to the documentation only. +=over 4 =item * -L<VMS::Stdio> has been upgraded from version 2.4 to 2.41. +L<XXX> has been upgraded from version A.xx to B.yy. -Minor formatting change to the documentation only. +=back + +=head2 Removed Modules and Pragmata + +=over 4 + +=item * + +XXX =back =head1 Documentation +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>. + =head2 New Documentation -=head3 L<perlunicook> +XXX Changes which create B<new> files in F<pod/> go here. + +=head3 L<XXX> -This document, by Tom Christiansen, provides examples of handling Unicode in -Perl. +XXX Description of the purpose of the new file here =head2 Changes to Existing Documentation -=head3 L<perlexperiment> +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. + +=head3 L<XXX> =over 4 =item * -Added reference to subroutine signatures. This feature was actually added in -Perl 5.20.0 but was accidentally omitted from the experimental feature -documentation until now. +XXX Description of the change here =back -=head3 L<perlpolicy> +=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>. + +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 * -The process whereby features may graduate from experimental status has now been -formally documented. +XXX L<message|perldiag/"message"> =back -=head3 L<perlsyn> +=head3 New Warnings =over 4 =item * -An ambiguity in the documentation of the ellipsis statement has been corrected. -L<[perl #122661]|https://rt.perl.org/Ticket/Display.html?id=122661> +XXX L<message|perldiag/"message"> =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 +XXX Changes (i.e. rewording) of diagnostic messages go here + =over 4 =item * -L<Bad symbol for scalar|perldiag/"Bad symbol for scalar"> is now documented. -This error is not new, but was not previously documented here. +XXX Describe change here + +=back + +=head1 Utility Changes + +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<Missing right brace on \N{}|perldiag/"Missing right brace on \N{}"> is now -documented. This error is not new, but was not previously documented here. +XXX =back -=head1 Testing +=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 * -The test script F<re/rt122747.t> has been added to verify that -L<perl #122747|https://rt.perl.org/Ticket/Display.html?id=122747> remains -fixed. +XXX =back -=head1 Platform Support - -=head2 Regained Platforms +=head1 Testing -IRIX and Tru64 platforms are working again. (Some C<make test> failures -remain.) +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. -=head1 Selected Bug Fixes +[ List each test improvement as a =item entry ] =over 4 =item * -AIX now sets the length in C<< getsockopt >> correctly. -L<[perl #120835]|https://rt.perl.org/Ticket/Display.html?id=120835>, -L<[cpan #91183]|https://rt.cpan.org/Ticket/Display.html?id=91183>, -L<[cpan #85570]|https://rt.cpan.org/Ticket/Display.html?id=85570> +XXX -=item * +=back -In Perl 5.20.0, C<$^N> accidentally had the internal UTF8 flag turned off if -accessed from a code block within a regular expression, effectively -UTF8-encoding the value. This has been fixed. -L<[perl #123135]|https://rt.perl.org/Ticket/Display.html?id=123135> +=head1 Platform Support -=item * +XXX Any changes to platform support should be listed in the sections below. -Various cases where the name of a sub is used (autoload, overloading, error -messages) used to crash for lexical subs, but have been fixed. +[ Within the sections, list each platform as a =item entry with specific +changes as paragraphs below it. ] -=item * +=head2 New Platforms -An assertion failure when parsing C<sort> with debugging enabled has been -fixed. -L<[perl #122771]|https://rt.perl.org/Ticket/Display.html?id=122771> +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. -=item * +=over 4 -Loading UTF8 tables during a regular expression match could cause assertion -failures under debugging builds if the previous match used the very same -regular expression. -L<[perl #122747]|https://rt.perl.org/Ticket/Display.html?id=122747> +=item XXX-some-platform -=item * +XXX -Due to a mistake in the string-copying logic, copying the value of a state -variable could instead steal the value and undefine the variable. This bug, -introduced in Perl 5.20, would happen mostly for long strings (1250 chars or -more), but could happen for any strings under builds with copy-on-write -disabled. -L<[perl #123029]|https://rt.perl.org/Ticket/Display.html?id=123029> +=back -=item * +=head2 Discontinued Platforms -Fixed a bug that could cause perl to execute an infinite loop during -compilation. -L<[perl #122995]|https://rt.perl.org/Ticket/Display.html?id=122995> +XXX List any platforms that this version of perl no longer compiles on. -=item * +=over 4 -On Win32, restoring in a child pseudo-process a variable that was C<local()>ed -in a parent pseudo-process before the C<fork> happened caused memory corruption -and a crash in the child pseudo-process (and therefore OS process). -L<[perl #40565]|https://rt.perl.org/Ticket/Display.html?id=40565> +=item XXX-some-platform -=item * +XXX -Tainted constants evaluated at compile time no longer cause unrelated -statements to become tainted. -L<[perl #122669]|https://rt.perl.org/Ticket/Display.html?id=122669> +=back -=item * +=head2 Platform-Specific Notes -Calling C<write> on a format with a C<^**> field could produce a panic in -sv_chop() if there were insufficient arguments or if the variable used to fill -the field was empty. -L<[perl #123245]|https://rt.perl.org/Ticket/Display.html?id=123245> +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. -=item * +=over 4 -In Perl 5.20.0, C<sort CORE::fake> where 'fake' is anything other than a -keyword started chopping of the last 6 characters and treating the result as a -sort sub name. The previous behaviour of treating "CORE::fake" as a sort sub -name has been restored. -L<[perl #123410]|https://rt.perl.org/Ticket/Display.html?id=123410> +=item XXX-some-platform -=item * +XXX -A bug in regular expression patterns that could lead to segfaults and other -crashes has been fixed. This occurred only in patterns compiled with C<"/i">, -while taking into account the current POSIX locale (this usually means they -have to be compiled within the scope of C<S<"use locale">>), and there must be -a string of at least 128 consecutive bytes to match. -L<[perl #123539]|https://rt.perl.org/Ticket/Display.html?id=123539> +=back -=item * +=head1 Internal Changes -C<qr/@array(?{block})/> no longer dies with "Bizarre copy of ARRAY". -L<[perl #123344]|https://rt.perl.org/Ticket/Display.html?id=123344> +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. -=item * +[ List each change as a =item entry ] -C<gmtime> no longer crashes with not-a-number values. -L<[perl #123495]|https://rt.perl.org/Ticket/Display.html?id=123495> +=over 4 =item * -Certain syntax errors in substitutions, such as C<< s/${<>{})// >>, would -crash, and had done so since Perl 5.10. (In some cases the crash did not start -happening until Perl 5.16.) The crash has, of course, been fixed. -L<[perl #123542]|https://rt.perl.org/Ticket/Display.html?id=123542> +XXX -=item * +=back -A memory leak in some regular expressions, introduced in Perl 5.20.1, has been -fixed. -L<[perl #123198]|https://rt.perl.org/Ticket/Display.html?id=123198> +=head1 Selected Bug Fixes -=item * +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>. -C<< formline("@...", "a"); >> would crash. The C<FF_CHECKNL> case in -pp_formline() didn't set the pointer used to mark the chop position, which led -to the C<FF_MORE> case crashing with a segmentation fault. This has been -fixed. -L<[perl #123538]|https://rt.perl.org/Ticket/Display.html?id=123538> -L<[perl #123622]|https://rt.perl.org/Ticket/Display.html?id=123622> +[ List each fix as a =item entry ] + +=over 4 =item * -A possible buffer overrun and crash when parsing a literal pattern during -regular expression compilation has been fixed. -L<[perl #123604]|https://rt.perl.org/Ticket/Display.html?id=123604> +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 * -It is a known bug that lexical subroutines cannot be used as the C<SUBNAME> -argument to C<sort>. This will be fixed in a future version of Perl. +XXX =back @@ -337,54 +364,28 @@ argument to C<sort>. This will be fixed in a future version of Perl. =item * -A regression has been fixed that was introduced in Perl 5.20.0 (fixed in Perl -5.20.1 as well as here) in which a UTF-8 encoded regular expression pattern -that contains a single ASCII lowercase letter does not match its uppercase -counterpart. -L<[perl #122655]|https://rt.perl.org/Ticket/Display.html?id=122655> +XXX Add anything here that we forgot to add, or were mistaken about, in +the perldelta of a previous release. =back -=head1 Acknowledgements - -Perl 5.20.2 represents approximately 5 months of development since Perl 5.20.1 -and contains approximately 6,300 lines of changes across 170 files from 34 -authors. +=head1 Obituary -Excluding auto-generated files, documentation and release tools, there were -approximately 1,900 lines of changes to 80 .pm, .t, .c and .h files. +XXX If any significant core contributor has died, we've added a short obituary +here. -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.20.2: - -Aaron Crane, Abigail, Andreas Voegele, Andy Dougherty, Anthony Heading, -Aristotle Pagaltzis, Chris 'BinGOs' Williams, Craig A. Berry, Daniel Dragan, -Doug Bell, Ed J, Father Chrysostomos, Glenn D. Golden, H.Merijn Brand, Hugo van -der Sanden, James E Keenan, Jarkko Hietaniemi, Jim Cromie, Karen Etheridge, -Karl Williamson, kmx, Matthew Horsfall, Max Maischein, Peter Martini, Rafael -Garcia-Suarez, Ricardo Signes, Shlomi Fish, Slaven Rezic, Steffen Müller, -Steve Hay, Tadeusz Sośnierz, Tony Cook, Yves Orton, Æ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. +=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.20.2..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 diff --git a/vms/descrip_mms.template b/vms/descrip_mms.template index 309ffab473..992d4ac9fd 100644 --- a/vms/descrip_mms.template +++ b/vms/descrip_mms.template @@ -319,7 +319,7 @@ x2p : [.x2p]$(DBG)a2p$(E) [.x2p]s2p.com [.x2p]find2perl.com extra.pods : miniperl @ @extra_pods.com -PERLDELTA_CURRENT = [.pod]perl5202delta.pod +PERLDELTA_CURRENT = [.pod]perl5203delta.pod $(PERLDELTA_CURRENT) : [.pod]perldelta.pod Copy/NoConfirm/Log $(MMS$SOURCE) $(PERLDELTA_CURRENT) diff --git a/win32/Makefile b/win32/Makefile index aa664ced92..f77576e903 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -1192,7 +1192,7 @@ utils: $(PERLEXE) $(X2P) ..\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\perl5202delta.pod + copy ..\pod\perldelta.pod ..\pod\perl5203delta.pod cd ..\win32 $(PERLEXE) $(PL2BAT) $(UTILS) $(MINIPERL) -I..\lib ..\autodoc.pl .. @@ -1290,7 +1290,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 \ - perl5202delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ + perl5203delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ perlapi.pod perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \ perldos.pod perlfreebsd.pod perlhaiku.pod perlhpux.pod \ perlhurd.pod perlintern.pod perlirix.pod perljp.pod perlko.pod \ diff --git a/win32/makefile.mk b/win32/makefile.mk index 02231a1565..b20dbe8876 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -1391,7 +1391,7 @@ utils: $(PERLEXE) $(X2P) ..\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\perl5202delta.pod + copy ..\pod\perldelta.pod ..\pod\perl5203delta.pod $(PERLEXE) $(PL2BAT) $(UTILS) $(MINIPERL) -I..\lib ..\autodoc.pl .. $(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q .. @@ -1488,7 +1488,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 \ - perl5202delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ + perl5203delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ perlapi.pod perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \ perldos.pod perlfreebsd.pod perlhaiku.pod perlhpux.pod \ perlhurd.pod perlintern.pod perlirix.pod perljp.pod perlko.pod \ diff --git a/win32/pod.mak b/win32/pod.mak index 1f9593a529..67ebbf40d2 100644 --- a/win32/pod.mak +++ b/win32/pod.mak @@ -39,6 +39,7 @@ POD = perl.pod \ perl5200delta.pod \ perl5201delta.pod \ perl5202delta.pod \ + perl5203delta.pod \ perl561delta.pod \ perl56delta.pod \ perl581delta.pod \ @@ -172,6 +173,7 @@ MAN = perl.man \ perl5200delta.man \ perl5201delta.man \ perl5202delta.man \ + perl5203delta.man \ perl561delta.man \ perl56delta.man \ perl581delta.man \ @@ -305,6 +307,7 @@ HTML = perl.html \ perl5200delta.html \ perl5201delta.html \ perl5202delta.html \ + perl5203delta.html \ perl561delta.html \ perl56delta.html \ perl581delta.html \ @@ -438,6 +441,7 @@ TEX = perl.tex \ perl5200delta.tex \ perl5201delta.tex \ perl5202delta.tex \ + perl5203delta.tex \ perl561delta.tex \ perl56delta.tex \ perl581delta.tex \ |