diff options
-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/perl51910delta.pod | 464 | ||||
-rw-r--r-- | pod/perldelta.pod | 432 | ||||
-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, 672 insertions, 250 deletions
@@ -4589,6 +4589,7 @@ pod/perl5163delta.pod Perl changes in version 5.16.3 pod/perl5180delta.pod Perl changes in version 5.18.0 pod/perl5181delta.pod Perl changes in version 5.18.1 pod/perl5190delta.pod Perl changes in version 5.19.0 +pod/perl51910delta.pod Perl changes in version 5.19.10 pod/perl5191delta.pod Perl changes in version 5.19.1 pod/perl5192delta.pod Perl changes in version 5.19.2 pod/perl5193delta.pod Perl changes in version 5.19.3 diff --git a/Makefile.SH b/Makefile.SH index 3b5d02315d..a0328636f4 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/perl51910delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod +perltoc_pod_prereqs = extra.pods pod/perl51911delta.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/perl51910delta.pod: pod/perldelta.pod - $(RMS) pod/perl51910delta.pod - $(LNS) perldelta.pod pod/perl51910delta.pod +pod/perl51911delta.pod: pod/perldelta.pod + $(RMS) pod/perl51911delta.pod + $(LNS) perldelta.pod pod/perl51911delta.pod extra.pods: $(MINIPERL_EXE) -@test ! -f extra.pods || rm -f `cat extra.pods` diff --git a/pod/.gitignore b/pod/.gitignore index 637ba92837..4a20a33f90 100644 --- a/pod/.gitignore +++ b/pod/.gitignore @@ -59,7 +59,7 @@ /roffitall # generated -/perl51910delta.pod +/perl51911delta.pod /perlapi.pod /perlintern.pod *.html diff --git a/pod/perl.pod b/pod/perl.pod index 0d1755bf9f..2111239653 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 + perl51910delta Perl changes in version 5.19.10 perl5199delta Perl changes in version 5.19.9 perl5198delta Perl changes in version 5.19.8 perl5197delta Perl changes in version 5.19.7 diff --git a/pod/perl51910delta.pod b/pod/perl51910delta.pod new file mode 100644 index 0000000000..530374ddba --- /dev/null +++ b/pod/perl51910delta.pod @@ -0,0 +1,464 @@ +=encoding utf8 + +=head1 NAME + +perl51910delta - what is new for perl v5.19.10 + +=head1 DESCRIPTION + +This document describes differences between the 5.19.9 release and the 5.19.10 +release. + +If you are upgrading from an earlier release such as 5.19.8, first read +L<perl5199delta>, which describes differences between 5.19.8 and 5.19.9. + +=head1 Deprecations + +=head2 Discouraged features + +=over 4 + +=item * + +The "interpreter-based threads" provided by Perl are not the fast, lightweight +system for multitasking that one might expect or hope for. Threads are +implemented in a way that make them easy to misuse. Few people know how to +use them correctly or will be able to provide help. + +The use of interpreter-based threads in perl is officially +L<discouraged|perlpolicy/discouraged>. + +=back + +=head1 Performance Enhancements + +=over 4 + +=item * + +When doing a global regex match on a string that came from the C<readline> +or C<E<lt>E<gt>> operator, the data is no longer copied unnecessarily. +[perl #121259] + +=item * + +Executing a regex that contains the C<^> anchor (or its variant under the +C</m> flag) has been made much faster in several situations. + +=item * + +It is now faster to create certain sorts of lists, including array and hash +slices. + +=item * + +The optimisation for arrays indexed with a small constant integer is now +applied for integers in the range -128..127, rather than 0..255. This should +speed up Perl code using expressions like C<$x[-1]>, at the expense of +(presumably much rarer) code using expressions like C<$x[200]>. + +=item * + +Dereferencing (as in C<$obj-E<gt>[0]> or C<$obj-E<gt>{k}>) is now faster +when C<$obj> is an instance of a class that has overloaded methods, but +doesn't overload any of the dereferencing methods C<@{}>, C<%{}>, and so on. + +=item * + +The first iteration over a large hash (using C<keys> or C<each>) is now +faster. This is achieved by preallocating the hash's internal iterator +state, rather than lazily creating it when the hash is first iterated. (For +small hashes, the iterator is still created only when first needed. The +assumption is that small hashes are more likely to be used as objects, and +therefore never allocated. For large hashes, that's less likely to be true, +and the cost of allocating the iterator is swamped by the cost of allocating +space for the hash itself.) + +=item * + +Perl's optimiser no longer skips optimising code that follows certain +C<eval {}> expressions (including those with an apparent infinite loop). + +=item * + +The implementation now does a better job of avoiding meaningless work at +runtime. Internal effect-free "null" operations (created as a side-effect of +parsing Perl programs) are normally deleted during compilation. That +deletion is now applied in some situations that weren't previously handled. + +=item * + +A few micro-optimisations have been applied to performance-sensitive parts +of the implementation, including subroutine invocation and scope exit. + +=item * + +Perl now does less disk I/O when dealing with Unicode properties that cover +up to three ranges of consecutive code points. + +=back + +=head1 Modules and Pragmata + +=head2 Updated Modules and Pragmata + +=over 4 + +=item * + +L<Attribute::Handlers> has been upgraded from version 0.95 to 0.96. + +=item * + +L<autouse> has been upgraded from version 1.07 to 1.08. + +=item * + +L<B::Deparse> has been upgraded from version 1.25 to 1.26. + +=item * + +L<base> has been upgraded from version 2.21 to 2.22. + +Co-exist more gracefully with C<CORE::GLOBAL::require> +overrides. [perl #121196] + +=item * + +L<Carp> has been upgraded from version 1.32 to 1.33. + +=item * + +L<charnames> has been upgraded from version 1.39 to 1.40. + +=item * + +L<CPAN> has been upgraded from version 2.03 to 2.04. + +Fixes a bug preventing "force install" from working. [cpan #91706] + +Fixes an infinite-loop bug when using the C<make> command in the CPAN +shell. [cpan #86915] + +=item * + +L<CPAN::Meta> has been upgraded from version 2.133380 to 2.140640. + +Added a C<load_string()> method that guesses whether the string is YAML or JSON. + +=item * + +L<CPAN::Meta::YAML> has been upgraded from version 0.011 to 0.012. + +=item * + +L<Data::Dumper> has been upgraded from version 2.150 to 2.151. + +=item * + +L<Devel::PPPort> has been upgraded from version 3.21 to 3.22. + +=item * + +L<Digest::SHA> has been upgraded from version 5.87 to 5.88. + +=item * + +L<ExtUtils::Install> has been upgraded from version 1.62 to 1.63. + +=item * + +L<ExtUtils::MakeMaker> has been upgraded from version 6.88 to 6.92. + +=item * + +L<ExtUtils::ParseXS> has been upgraded from version 3.23 to 3.24. + +=item * + +L<ExtUtils::Typemaps> has been upgraded from version 3.23 to 3.24. + +=item * + +L<feature> has been upgraded from version 1.35 to 1.36. + +=item * + +L<File::Find> has been upgraded from version 1.26 to 1.27. + +=item * + +L<Filter::Simple> has been upgraded from version 0.90 to 0.91. + +=item * + +L<Hash::Util::FieldHash> has been upgraded from version 1.14 to 1.15. + +=item * + +L<HTTP::Tiny> has been upgraded from version 0.042 to 0.043. + +No longer sends absolute request URI when tunneling SSL via proxy and fixes +regression in setting host name to verify SSL. + +=item * + +L<IO> has been upgraded from version 1.30 to 1.31. + +=item * + +L<IO::Socket::IP> has been upgraded from version 0.28 to 0.29. + +=item * + +L<Locale::Codes> has been upgraded from version 3.29 to 3.30. + +Fixed a problem that was preventing rename_* functions to work. [cpan #92680] + +=item * + +L<Module::CoreList> has been upgraded from version 3.06 to 3.09. + +=item * + +L<Module::Load> has been upgraded from version 0.30 to 0.32. + +Fix tests to support statically built perls. + +=item * + +L<mro> has been upgraded from version 1.15 to 1.16. + +=item * + +L<Parse::CPAN::Meta> has been upgraded from version 1.4413 to 1.4414. + +Added C<load_string>, which uses heuristics to guess YAML/JSON content. +C<load_file> will now attempt to detect YAML/JSON content if the suffix is not +.json, .yml or .yaml. + +=item * + +L<Pod::Perldoc> has been upgraded from version 3.21 to 3.23. + +=item * + +L<POSIX> has been upgraded from version 1.38_02 to 1.38_03. + +=item * + +L<Thread::Queue> has been upgraded from version 3.02 to 3.05. + +=item * + +L<threads> has been upgraded from version 1.92 to 1.93. + +=item * + +L<warnings> has been upgraded from version 1.22 to 1.23. + +=item * + +L<XS::Typemap> has been upgraded from version 0.12 to 0.13. + +=back + +=head1 Documentation + +=head2 Changes to Existing Documentation + +=over 4 + +=item * + +The L<perllexwarn> documentation used to describe the hierarchy of warning +categories understood by the L<warnings> pragma. That description has now +been moved to the L<warnings> documentation itself, leaving L<perllexwarn> +as a stub that points to it. This change consolidates all documentation for +lexical warnings in a single place. + +=back + +=head1 Diagnostics + +The following 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 * + +When C<use re "debug"> executes a regex containing a backreference, the +debugging output now shows what string is being matched. + +=back + +=head1 Configuration and Compilation + +=over 4 + +=item * + +Where possible, the build now avoids recursive invocations of F<make> when +building pure-Perl extensions, without removing any parallelism from the +build. Currently around 80 extensions can be processed directly by the +F<make_ext.pl> tool, meaning that 80 invocations of F<make> and 160 +invocations of F<miniperl> are no longer made. + +=item * + +The build system now works correctly when compiling under GCC or Clang with +link-time optimization enabled (the C<-flto> option). [perl #113022] + +=back + +=head1 Testing + +=over 4 + +=item * + +The test suite no longer fails when the user's interactive shell maintains a +C<$PWD> environment variable, but the F</bin/sh> used for running tests +doesn't. + +=item * + +The C<test.valgrind> make target now allows tests to be run in parallel. +This target allows Perl's test suite to be run under Valgrind, which detects +certain sorts of C programming errors, though at significant cost in running +time. On suitable hardware, allowing parallel execution claws back a lot of +that additional cost. [perl #121431] + +=back + +=head1 Platform Support + +=head2 Platform-Specific Notes + +=over 4 + +=item Linux + +The hints file now looks for C<libgdbm_compat> only if C<libgdbm> itself is +also wanted. The former is never useful without the latter, and in some +circumstances, including it could actually prevent building. + +=item Mac OS + +The build system now honours an C<ld> setting supplied by the user running +F<Configure>. + +=item Win32 + +Killing a process tree with L<perlfunc/kill> and a negative signal, was broken +starting in 5.18.0. In this bug, C<kill> always returned 0 for a negative +signal even for valid PIDs, and no processes were terminated. This has been +fixed [perl #121230]. + +=back + +=head1 Internal Changes + +=over 4 + +=item * + +The Perl core now consistently uses C<av_tindex()> ("the top index of an +array") as a more clearly-named synonym for C<av_len()>. + +=item * + +The obscure interpreter variable C<PL_timesbuf> is expected to be removed +early in the 5.21.x development series, so that Perl 5.22.0 will not provide +it to XS authors. While the variable still exists in 5.19.10 (and will +continue to exist in 5.20.0), we hope that this advance warning of the +deprecation will help anyone who is using that variable. + +=back + +=head1 Selected Bug Fixes + +=over 4 + +=item * + +Static builds, as configured with C<-Uusedl> now build +correctly. [perl #121291] + +=item * + +Regexes with backreferences nested inside subpattern references now behave +more consistently: match variables are dynamically scoped during the +execution of the subpattern call. [perl #121299] + +=back + +=head1 Acknowledgements + +Perl 5.19.10 represents approximately 4 weeks of development since Perl 5.19.9 +and contains approximately 13,000 lines of changes across 330 files from 20 +authors. + +Excluding auto-generated files, documentation and release tools, there were +approximately 8,800 lines of changes to 220 .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.10: + +Aaron Crane, Andy Dougherty, Aristotle Pagaltzis, Chris 'BinGOs' Williams, +Craig A. Berry, Daniel Dragan, David Mitchell, Father Chrysostomos, H.Merijn +Brand, Jerry D. Hedden, Karl Williamson, Matthew Horsfall, Nicholas Clark, Paul +Johnson, Peter Rabbitson, Ricardo Signes, Steffen Müller, Steve Hay, 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 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 c78073b1c3..5906e78b02 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -2,431 +2,383 @@ =head1 NAME -perldelta - what is new for perl v5.19.10 +[ 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.11 =head1 DESCRIPTION -This document describes differences between the 5.19.9 release and the 5.19.10 +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.8, first read -L<perl5199delta>, which describes differences between 5.19.8 and 5.19.9. +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 Deprecations +=head1 Notice -=head2 Discouraged features +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. -The "interpreter-based threads" provided by Perl are not the fast, lightweight -system for multitasking that one might expect or hope for. Threads are -implemented in a way that make them easy to misuse. Few people know how to -use them correctly or will be able to provide help. +[ List each enhancement as a =head2 entry ] -The use of interpreter-based threads in perl is officially -L<discouraged|perlpolicy/discouraged>. +=head1 Security -=back +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. -=head1 Performance Enhancements +[ List each security issue as a =head2 entry ] -=over 4 +=head1 Incompatible Changes -=item * +XXX For a release on a stable branch, this section aspires to be: -When doing a global regex match on a string that came from the C<readline> -or C<E<lt>E<gt>> operator, the data is no longer copied unnecessarily. -[perl #121259] + 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 ] -Executing a regex that contains the C<^> anchor (or its variant under the -C</m> flag) has been made much faster in several situations. +=head1 Deprecations -=item * +XXX Any deprecated features, syntax, modules etc. should be listed here. -It is now faster to create certain sorts of lists, including array and hash -slices. +=head2 Module removals -=item * +XXX Remove this section if inapplicable. -The optimisation for arrays indexed with a small constant integer is now -applied for integers in the range -128..127, rather than 0..255. This should -speed up Perl code using expressions like C<$x[-1]>, at the expense of -(presumably much rarer) code using expressions like C<$x[200]>. +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. -Dereferencing (as in C<$obj-E<gt>[0]> or C<$obj-E<gt>{k}>) is now faster -when C<$obj> is an instance of a class that has overloaded methods, but -doesn't overload any of the dereferencing methods C<@{}>, C<%{}>, and so on. +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. -=item * +=over -The first iteration over a large hash (using C<keys> or C<each>) is now -faster. This is achieved by preallocating the hash's internal iterator -state, rather than lazily creating it when the hash is first iterated. (For -small hashes, the iterator is still created only when first needed. The -assumption is that small hashes are more likely to be used as objects, and -therefore never allocated. For large hashes, that's less likely to be true, -and the cost of allocating the iterator is swamped by the cost of allocating -space for the hash itself.) +=item XXX -=item * +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 -Perl's optimiser no longer skips optimising code that follows certain -C<eval {}> expressions (including those with an apparent infinite loop). +[ List each other deprecation as a =head2 entry ] -=item * +=head1 Performance Enhancements -The implementation now does a better job of avoiding meaningless work at -runtime. Internal effect-free "null" operations (created as a side-effect of -parsing Perl programs) are normally deleted during compilation. That -deletion is now applied in some situations that weren't previously handled. +XXX Changes which enhance performance without changing behaviour go here. +There may well be none in a stable release. -=item * +[ List each enhancement as a =item entry ] -A few micro-optimisations have been applied to performance-sensitive parts -of the implementation, including subroutine invocation and scope exit. +=over 4 =item * -Perl now does less disk I/O when dealing with Unicode properties that cover -up to three ranges of consecutive code points. +XXX =back =head1 Modules and Pragmata -=head2 Updated Modules and Pragmata +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. -=over 4 +[ Within each section, list entries as a =item entry ] -=item * +=head2 New Modules and Pragmata -L<Attribute::Handlers> has been upgraded from version 0.95 to 0.96. +=over 4 =item * -L<autouse> has been upgraded from version 1.07 to 1.08. +XXX -=item * +=back + +=head2 Updated Modules and Pragmata -L<B::Deparse> has been upgraded from version 1.25 to 1.26. +=over 4 =item * -L<base> has been upgraded from version 2.21 to 2.22. +L<XXX> has been upgraded from version A.xx to B.yy. -Co-exist more gracefully with C<CORE::GLOBAL::require> -overrides. [perl #121196] +=back -=item * +=head2 Removed Modules and Pragmata -L<Carp> has been upgraded from version 1.32 to 1.33. +=over 4 =item * -L<charnames> has been upgraded from version 1.39 to 1.40. +XXX -=item * +=back -L<CPAN> has been upgraded from version 2.03 to 2.04. +=head1 Documentation -Fixes a bug preventing "force install" from working. [cpan #91706] +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>. -Fixes an infinite-loop bug when using the C<make> command in the CPAN -shell. [cpan #86915] +=head2 New Documentation -=item * +XXX Changes which create B<new> files in F<pod/> go here. -L<CPAN::Meta> has been upgraded from version 2.133380 to 2.140640. +=head3 L<XXX> -Added a C<load_string()> method that guesses whether the string is YAML or JSON. +XXX Description of the purpose of the new file here -=item * +=head2 Changes to Existing Documentation -L<CPAN::Meta::YAML> has been upgraded from version 0.011 to 0.012. +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. -=item * +=head3 L<XXX> -L<Data::Dumper> has been upgraded from version 2.150 to 2.151. +=over 4 =item * -L<Devel::PPPort> has been upgraded from version 3.21 to 3.22. +XXX Description of the change here -=item * +=back -L<Digest::SHA> has been upgraded from version 5.87 to 5.88. +=head1 Diagnostics -=item * +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>. -L<ExtUtils::Install> has been upgraded from version 1.62 to 1.63. +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. -=item * +=head2 New Diagnostics -L<ExtUtils::MakeMaker> has been upgraded from version 6.88 to 6.92. +XXX Newly added diagnostic messages go under here, separated into New Errors +and New Warnings -=item * +=head3 New Errors -L<ExtUtils::ParseXS> has been upgraded from version 3.23 to 3.24. +=over 4 =item * -L<ExtUtils::Typemaps> has been upgraded from version 3.23 to 3.24. - -=item * +XXX L<message|perldiag/"message"> -L<feature> has been upgraded from version 1.35 to 1.36. +=back -=item * +=head3 New Warnings -L<File::Find> has been upgraded from version 1.26 to 1.27. +=over 4 =item * -L<Filter::Simple> has been upgraded from version 0.90 to 0.91. - -=item * +XXX L<message|perldiag/"message"> -L<Hash::Util::FieldHash> has been upgraded from version 1.14 to 1.15. +=back -=item * +=head2 Changes to Existing Diagnostics -L<HTTP::Tiny> has been upgraded from version 0.042 to 0.043. +XXX Changes (i.e. rewording) of diagnostic messages go here -No longer sends absolute request URI when tunneling SSL via proxy and fixes -regression in setting host name to verify SSL. +=over 4 =item * -L<IO> has been upgraded from version 1.30 to 1.31. - -=item * +XXX Describe change here -L<IO::Socket::IP> has been upgraded from version 0.28 to 0.29. +=back -=item * +=head1 Utility Changes -L<Locale::Codes> has been upgraded from version 3.29 to 3.30. +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>. -Fixed a problem that was preventing rename_* functions to work. [cpan #92680] +[ List utility changes as a =head3 entry for each utility and =item +entries for each change +Use L<XXX> with program names to get proper documentation linking. ] -=item * +=head3 L<XXX> -L<Module::CoreList> has been upgraded from version 3.06 to 3.09. +=over 4 =item * -L<Module::Load> has been upgraded from version 0.30 to 0.32. - -Fix tests to support statically built perls. +XXX -=item * +=back -L<mro> has been upgraded from version 1.15 to 1.16. +=head1 Configuration and Compilation -=item * +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. -L<Parse::CPAN::Meta> has been upgraded from version 1.4413 to 1.4414. +[ List changes as a =item entry ]. -Added C<load_string>, which uses heuristics to guess YAML/JSON content. -C<load_file> will now attempt to detect YAML/JSON content if the suffix is not -.json, .yml or .yaml. +=over 4 =item * -L<Pod::Perldoc> has been upgraded from version 3.21 to 3.23. - -=item * +XXX -L<POSIX> has been upgraded from version 1.38_02 to 1.38_03. +=back -=item * +=head1 Testing -L<Thread::Queue> has been upgraded from version 3.02 to 3.05. +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. -=item * +[ List each test improvement as a =item entry ] -L<threads> has been upgraded from version 1.92 to 1.93. +=over 4 =item * -L<warnings> has been upgraded from version 1.22 to 1.23. +XXX -=item * +=back -L<XS::Typemap> has been upgraded from version 0.12 to 0.13. +=head1 Platform Support -=back +XXX Any changes to platform support should be listed in the sections below. -=head1 Documentation +[ Within the sections, list each platform as a =item entry with specific +changes as paragraphs below it. ] -=head2 Changes to Existing Documentation +=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 * +=item XXX-some-platform -The L<perllexwarn> documentation used to describe the hierarchy of warning -categories understood by the L<warnings> pragma. That description has now -been moved to the L<warnings> documentation itself, leaving L<perllexwarn> -as a stub that points to it. This change consolidates all documentation for -lexical warnings in a single place. +XXX =back -=head1 Diagnostics - -The following changes have been made to diagnostic output, -including warnings and fatal error messages. For the complete list of -diagnostic messages, see L<perldiag>. +=head2 Discontinued Platforms -=head2 Changes to Existing Diagnostics +XXX List any platforms that this version of perl no longer compiles on. =over 4 -=item * +=item XXX-some-platform -When C<use re "debug"> executes a regex containing a backreference, the -debugging output now shows what string is being matched. +XXX =back -=head1 Configuration and Compilation - -=over 4 +=head2 Platform-Specific Notes -=item * +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. -Where possible, the build now avoids recursive invocations of F<make> when -building pure-Perl extensions, without removing any parallelism from the -build. Currently around 80 extensions can be processed directly by the -F<make_ext.pl> tool, meaning that 80 invocations of F<make> and 160 -invocations of F<miniperl> are no longer made. +=over 4 -=item * +=item XXX-some-platform -The build system now works correctly when compiling under GCC or Clang with -link-time optimization enabled (the C<-flto> option). [perl #113022] +XXX =back -=head1 Testing +=head1 Internal Changes -=over 4 +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 ] -The test suite no longer fails when the user's interactive shell maintains a -C<$PWD> environment variable, but the F</bin/sh> used for running tests -doesn't. +=over 4 =item * -The C<test.valgrind> make target now allows tests to be run in parallel. -This target allows Perl's test suite to be run under Valgrind, which detects -certain sorts of C programming errors, though at significant cost in running -time. On suitable hardware, allowing parallel execution claws back a lot of -that additional cost. [perl #121431] +XXX =back -=head1 Platform Support - -=head2 Platform-Specific Notes - -=over 4 - -=item Linux +=head1 Selected Bug Fixes -The hints file now looks for C<libgdbm_compat> only if C<libgdbm> itself is -also wanted. The former is never useful without the latter, and in some -circumstances, including it could actually prevent building. +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>. -=item Mac OS +[ List each fix as a =item entry ] -The build system now honours an C<ld> setting supplied by the user running -F<Configure>. +=over 4 -=item Win32 +=item * -Killing a process tree with L<perlfunc/kill> and a negative signal, was broken -starting in 5.18.0. In this bug, C<kill> always returned 0 for a negative -signal even for valid PIDs, and no processes were terminated. This has been -fixed [perl #121230]. +XXX =back -=head1 Internal Changes +=head1 Known Problems -=over 4 +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. -=item * +[ List each fix as a =item entry ] -The Perl core now consistently uses C<av_tindex()> ("the top index of an -array") as a more clearly-named synonym for C<av_len()>. +=over 4 =item * -The obscure interpreter variable C<PL_timesbuf> is expected to be removed -early in the 5.21.x development series, so that Perl 5.22.0 will not provide -it to XS authors. While the variable still exists in 5.19.10 (and will -continue to exist in 5.20.0), we hope that this advance warning of the -deprecation will help anyone who is using that variable. +XXX =back -=head1 Selected Bug Fixes +=head1 Errata From Previous Releases =over 4 =item * -Static builds, as configured with C<-Uusedl> now build -correctly. [perl #121291] - -=item * - -Regexes with backreferences nested inside subpattern references now behave -more consistently: match variables are dynamically scoped during the -execution of the subpattern call. [perl #121299] +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.19.10 represents approximately 4 weeks of development since Perl 5.19.9 -and contains approximately 13,000 lines of changes across 330 files from 20 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 8,800 lines of changes to 220 .pm, .t, .c and .h files. +=head1 Obituary -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.10: +XXX If any significant core contributor has died, we've added a short obituary +here. -Aaron Crane, Andy Dougherty, Aristotle Pagaltzis, Chris 'BinGOs' Williams, -Craig A. Berry, Daniel Dragan, David Mitchell, Father Chrysostomos, H.Merijn -Brand, Jerry D. Hedden, Karl Williamson, Matthew Horsfall, Nicholas Clark, Paul -Johnson, Peter Rabbitson, Ricardo Signes, Steffen Müller, Steve Hay, 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. +=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.10..HEAD =head1 Reporting Bugs diff --git a/vms/descrip_mms.template b/vms/descrip_mms.template index 67029acd2b..c3c4cf9190 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]perl51910delta.pod +PERLDELTA_CURRENT = [.pod]perl51911delta.pod $(PERLDELTA_CURRENT) : [.pod]perldelta.pod Copy/NoConfirm/Log $(MMS$SOURCE) $(PERLDELTA_CURRENT) diff --git a/win32/Makefile b/win32/Makefile index 3321a5f5ea..ec0dd0ee59 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -1179,7 +1179,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\perl51910delta.pod + copy ..\pod\perldelta.pod ..\pod\perl51911delta.pod cd ..\win32 $(PERLEXE) $(PL2BAT) $(UTILS) $(MINIPERL) -I..\lib ..\autodoc.pl .. @@ -1277,7 +1277,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 \ - perl51910delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ + perl51911delta.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 23e8c12837..8b2002cf96 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -1363,7 +1363,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\perl51910delta.pod + copy ..\pod\perldelta.pod ..\pod\perl51911delta.pod $(PERLEXE) $(PL2BAT) $(UTILS) $(MINIPERL) -I..\lib ..\autodoc.pl .. $(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q .. @@ -1460,7 +1460,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 \ - perl51910delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ + perl51911delta.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 3bfc2873dd..e55408cc2e 100644 --- a/win32/pod.mak +++ b/win32/pod.mak @@ -36,6 +36,7 @@ POD = perl.pod \ perl5181delta.pod \ perl5190delta.pod \ perl51910delta.pod \ + perl51911delta.pod \ perl5191delta.pod \ perl5192delta.pod \ perl5193delta.pod \ @@ -174,6 +175,7 @@ MAN = perl.man \ perl5181delta.man \ perl5190delta.man \ perl51910delta.man \ + perl51911delta.man \ perl5191delta.man \ perl5192delta.man \ perl5193delta.man \ @@ -312,6 +314,7 @@ HTML = perl.html \ perl5181delta.html \ perl5190delta.html \ perl51910delta.html \ + perl51911delta.html \ perl5191delta.html \ perl5192delta.html \ perl5193delta.html \ @@ -450,6 +453,7 @@ TEX = perl.tex \ perl5181delta.tex \ perl5190delta.tex \ perl51910delta.tex \ + perl51911delta.tex \ perl5191delta.tex \ perl5192delta.tex \ perl5193delta.tex \ |