diff options
author | Ricardo Signes <rjbs@cpan.org> | 2014-01-20 17:36:17 -0500 |
---|---|---|
committer | Ricardo Signes <rjbs@cpan.org> | 2014-01-20 17:36:17 -0500 |
commit | ce5b6630ce873ba04f427bf60c93537250d86eb8 (patch) | |
tree | d3aeabfd60a4c9c2f8d7df499ed24366a98f6dca /pod | |
parent | d897adffd8a5538d1aa250517beea9341245bf78 (diff) | |
download | perl-ce5b6630ce873ba04f427bf60c93537250d86eb8.tar.gz |
create new perldelta for 5.19.9
Diffstat (limited to 'pod')
-rw-r--r-- | pod/.gitignore | 2 | ||||
-rw-r--r-- | pod/perl.pod | 1 | ||||
l--------- | pod/perl5198delta.pod | 1 | ||||
-rw-r--r-- | pod/perldelta.pod | 432 |
4 files changed, 170 insertions, 266 deletions
diff --git a/pod/.gitignore b/pod/.gitignore index fe95321c56..3e862d7d6c 100644 --- a/pod/.gitignore +++ b/pod/.gitignore @@ -58,7 +58,7 @@ /roffitall # generated -/perl5198delta.pod +/perl5199delta.pod /perlapi.pod /perlintern.pod *.html diff --git a/pod/perl.pod b/pod/perl.pod index a8980fd16f..4abe433ffa 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 + perl5198delta Perl changes in version 5.19.8 perl5197delta Perl changes in version 5.19.7 perl5196delta Perl changes in version 5.19.6 perl5195delta Perl changes in version 5.19.5 diff --git a/pod/perl5198delta.pod b/pod/perl5198delta.pod new file mode 120000 index 0000000000..bb639d3f2b --- /dev/null +++ b/pod/perl5198delta.pod @@ -0,0 +1 @@ +perldelta.pod
\ No newline at end of file diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 1ecc88f1f8..28338af3eb 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -2,58 +2,48 @@ =head1 NAME -perldelta - what is new for perl v5.19.8 +[ 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.9 =head1 DESCRIPTION -This document describes differences between the 5.19.7 release and the 5.19.8 +This document describes differences between the 5.19.8 release and the 5.19.9 release. -If you are upgrading from an earlier release such as 5.19.6, first read -L<perl5197delta>, which describes differences between 5.19.6 and 5.19.7. +If you are upgrading from an earlier release such as 5.19.7, first read +L<perl5198delta>, which describes differences between 5.19.7 and 5.19.8. -=head1 Core Enhancements +=head1 Notice -=head2 New C<\p{Unicode}> regular expression pattern property +XXX Any important notices here -This is a synonym for C<\p{Any}> and matches the set of Unicode-defined -code points 0 - 0x10FFFF. +=head1 Core Enhancements -=head1 Incompatible Changes +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. -=head2 C<do> can no longer be used to call subroutines +[ List each enhancement as a =head2 entry ] -The C<do SUBROUTINE(LIST)> form has resulted in a deprecation warning -since Perl v5.0.0, and is now a syntax error. +=head1 Security -=head2 C<\p{}>, C<\P{}> matching has changed for non-Unicode code -points. +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. -C<\p{}> and C<\P{}> are defined by Unicode only on Unicode-defined code -points (C<U+0000> through C<U+10FFFF>). Their behavior on matching -these legal Unicode code points is unchanged, but there are changes for -code points C<0x110000> and above. Previously, Perl treated the result -of matching C<\p{}> and C<\P{}> against these as C<undef>, which -translates into "false". For C<\P{}>, this was then complemented into -"true". A warning was supposed to be raised when this happened. -However, various optimizations could prevent the warning, and the -results were often counter-intuitive, with both a match and its seeming -complement being false. Now all non-Unicode code points are treated as -typical unassigned Unicode code points. This generally is more -Do-What-I-Mean. A warning is raised only if the results are arguably -different from a strict Unicode approach, and from what Perl used to do. -Code that needs to be strictly Unicode compliant can make this warning -fatal, and then Perl always raises the warning. +[ List each security issue as a =head2 entry ] -Details are in L<perlunicode/Beyond Unicode code points>. +=head1 Incompatible Changes + +XXX For a release on a stable branch, this section aspires to be: -=head2 C<\p{All}> has been expanded to match all possible code points + 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. -The Perl-defined regular expression pattern element C<\p{All}>, unused -on CPAN, used to match just the Unicode code points; now it matches all -possible code points; that is, it is equivalent to C<qr/./s>. Thus -C<\p{All}> is no longer synonymous with C<\p{Any}>, which continues to -match just the Unicode code points, as Unicode says it should. +[ List each incompatible change as a =head2 entry ] =head1 Deprecations @@ -79,393 +69,305 @@ 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 -=head1 Modules and Pragmata - -=head2 New Modules and Pragmata - -=over 4 - -=item * +[ List each other deprecation as a =head2 entry ] -L<IO::Socket::IP> has been (tentatively) added to core at version 0.26. +=head1 Performance Enhancements -=back +XXX Changes which enhance performance without changing behaviour go here. +There may well be none in a stable release. -=head2 Updated Modules and Pragmata +[ List each enhancement as a =item entry ] =over 4 =item * -L<perl5db.pl> has been upgraded from version 1.42 to 1.43 - -Fix a crash in tab completion, where available. [perl #120827] - -The debugger tests no longer open two handles to the same output file, -making them more robust. [perl #118817] - -=item * - -L<base> has been upgraded from version 2.20 to 2.21. - -The stricter load failure tests added in 2.20 now allow for -C<${^LAST_FH}> being set. - -=item * - -L<constant> has been upgraded from version 1.30 to 1.31. - -=item * - -L<DynaLoader> has been upgraded from version 1.22 to 1.24. - -=item * - -L<Encode> has been upgraded from version 2.55 to 2.57. +XXX -UTF-8 is no longer used in the C source (which some compilers didn't like), and -some POD errors have been fixed in the documentation. - -=item * +=back -L<Errno> has been upgraded from version 1.20_01 to 1.20_02. +=head1 Modules and Pragmata -=item * +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. -L<ExtUtils::CBuilder> has been upgraded from version 0.280212 to 0.280213. +[ Within each section, list entries as a =item entry ] -=item * +=head2 New Modules and Pragmata -L<ExtUtils::MakeMaker> has been upgraded from version 6.84 to 6.86. +=over 4 =item * -L<File::Copy> has been upgraded from version 2.28 to 2.29. +XXX -=item * - -L<Hash::Util::FieldHash> has been upgraded from version 1.13 to 1.14. +=back -=item * +=head2 Updated Modules and Pragmata -L<inc::latest> has been upgraded from version 0.4203 to 0.4204. -NOTE: L<inc::latest> is deprecated and may be removed from a future version of -Perl. +=over 4 =item * -L<IO::Socket::UNIX> has been upgraded from version 1.25 to 1.26. - -Removed a warning about an ancient behaviour change and filled out the -SYNOPSIS. [perl #120981] +L<XXX> has been upgraded from version A.xx to B.yy. -=item * +=back -The libnet module collection has been upgraded from version 1.23 to 1.24. +=head2 Removed Modules and Pragmata -The handling of CRLF characters in L<Net::FTP> has been fixed. +=over 4 =item * -L<List::Util> has been upgraded from version 1.35 to 1.36. +XXX -=item * +=back -L<Module::Build> has been upgraded from version 0.4203 to 0.4204. -NOTE: L<Module::Build> is deprecated and may be removed from a future version -of Perl. +=head1 Documentation -=item * +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>. -L<Module::CoreList> has been upgraded from version 3.02 to 3.04. +=head2 New Documentation -=item * +XXX Changes which create B<new> files in F<pod/> go here. -L<Module::Load> has been upgraded from version 0.24 to 0.28. +=head3 L<XXX> -=item * +XXX Description of the purpose of the new file here -L<Module::Load::Conditional> has been upgraded from version 0.58 to 0.60. +=head2 Changes to Existing Documentation -=item * +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. -L<Perl::OSType> has been upgraded from version 1.006 to 1.007. +=head3 L<XXX> -=item * - -L<PerlIO::encoding> has been upgraded from version 0.17 to 0.18. +=over 4 =item * -L<Pod::Perldoc> has been upgraded from version 3.20 to 3.21. +XXX Description of the change here -=item * +=back -L<POSIX> has been upgraded from version 1.37 to 1.38_01. +=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<Scalar::Util> has been upgraded from version 1.35 to 1.36. +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<threads::shared> has been upgraded from version 1.45 to 1.46. +XXX Newly added diagnostic messages go under here, separated into New Errors +and New Warnings -=item * +=head3 New Errors -L<Time::Piece> has been upgraded from version 1.24 to 1.27. +=over 4 =item * -L<Unicode::UCD> has been upgraded from version 0.55 to 0.57. - -=item * +XXX L<message|perldiag/"message"> -L<version> has been upgraded from version 0.9904 to 0.9907. +=back -=item * +=head3 New Warnings -L<warnings> has been upgraded from version 1.20 to 1.21. +=over 4 =item * -L<XSLoader> has been upgraded from version 0.16 to 0.17. +XXX L<message|perldiag/"message"> =back -=head1 Documentation +=head2 Changes to Existing Diagnostics -=head2 Changes to Existing Documentation +XXX Changes (i.e. rewording) of diagnostic messages go here =over 4 =item * -L<perlunicode> has been updated to reflect C<Bidi_Class> changes in Unicode -6.3. +XXX Describe change here =back -=head1 Diagnostics +=head1 Utility Changes -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 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>. -=head3 New Warnings +[ 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. ] + +=head3 L<XXX> =over 4 =item * -%s on a reference is now experimental +XXX -The "auto-deref" feature is now experimental. +=back -Starting in v5.14.0, it was possible to use push, pop, keys, and other -built-in functions not only on aggregate types, but on references to -them. The feature was not deployed to its original intended -specification, and now may become redundant to postfix dereferencing. -It has always been categorized as an experimental feature, and in -v5.20.0 is carries a warning as such. +=head1 Configuration and Compilation -Warnings will now be issued at compile time when these operations are -detected. +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. - no if $] >= 5.01908, warnings => "experimental::autoderef"; +[ List changes as a =item entry ]. -Consider, though, replacing the use of these features, as they may -change behavior again before becoming stable. +=over 4 =item * -L<Matched non-Unicode code point 0x%X against Unicode property; may not be portable|perldiag/"Matched non-Unicode code point 0x%X against Unicode property; may not be portable">. -This replaces the message "Code point 0x%X is not Unicode, all \p{} -matches fail; all \P{} matches succeed". +XXX =back -=head1 Utility Changes +=head1 Testing -=head3 L<perlbug> +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. -=over 4 - -=item * +[ List each test improvement as a =item entry ] -F<perlbug> now has a C<-p> option for attaching patches with a bug report. +=over 4 =item * -F<perlbug> now does input in the encoding of the current locale and -output raw. +XXX =back -=head1 Configuration and Compilation - -=over 4 +=head1 Platform Support -=item * +XXX Any changes to platform support should be listed in the sections below. -Distinct library basenames with C<d_libname_unique>. +[ Within the sections, list each platform as a =item entry with specific +changes as paragraphs below it. ] -When compiling perl with this option, the library files for XS modules are -named something "unique" -- for example, Hash/Util/Util.so becomes -Hash/Util/PL_Hash__Util.so. This behavior is similar to what currently -happens on VMS, and serves as groundwork for the Android port. +=head2 New Platforms -=item * +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. -C<sysroot> option to indicate the logical root directory under gcc and clang. +=over 4 -When building with this option set, both Configure and the compilers search -for all headers and libraries under this new sysroot, instead of /. +=item XXX-some-platform -This is a huge time saver if cross-compiling, but can also help -on native builds if your toolchain's files have non-standard locations. +XXX =back -=head1 Platform Support +=head2 Discontinued Platforms -=over 4 +XXX List any platforms that this version of perl no longer compiles on. -=item * +=over 4 -Code related to supporting C<sfio> has been removed. +=item XXX-some-platform -Perl 5.004 added support to use the native API of C<sfio>, AT&T's Safe/Fast -I/O library. This code still built with v5.8.0, albeit with many regression -tests failing, but was inadvertently broken before the v5.8.1 release, -meaning that it has not worked on any version of Perl released since then. -In over a decade we have received no bug reports about this, hence it is clear -that no-one is using this functionality on any version of Perl that is still -supported to any degree. +XXX =back =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 Cygwin +=item XXX-some-platform -recv() on a connected handle would populate the returned sender -address with whatever happened to be in the working buffer. recv() -now uses a workaround similar to the Win32 recv() wrapper and returns -an empty string when recvfrom(2) doesn't modify the supplied address -length. [perl #118843] +XXX =back =head1 Internal Changes +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. + +[ List each change as a =item entry ] + =over 4 -=item newATTRSUB is now a macro - -The public API newATTRSUB was previously a macro to the private -function Perl_newATTRSUB. Function Perl_newATTRSUB has been removed. newATTRSUB -is now macro to a different internal function. - -=item Changes in warnings raised by C<utf8n_to_uvchr()> - -This bottom level function decodes the first character of a UTF-8 string -into a code point. It is accessible to C<XS> level code, but it's -discouraged from using it directly. There are higher level functions -that call this that should be used instead, such as -L<perlapi/utf8_to_uvchr_buf>. For completeness though, this documents -some changes to it. Now, tests for malformations are done before any -tests for other potential issues. One of those issues involves code -points so large that they have never appeared in any official standard -(the current standard has scaled back the highest acceptable code point -from earlier versions). It is possible (though not done in CPAN) to -warn and/or forbid these code points, while accepting smaller code -points that are still above the legal Unicode maximum. The warning -message for this now includes the code point if representable on the -machine. Previously it always displayed raw bytes, which is what it -still does for non-representable code points. +=item * + +XXX =back =head1 Selected Bug Fixes -=over 4 +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 * +[ List each fix as a =item entry ] -In v5.19.6, C<do CORE()> was inadvertently changed from being interpreted -as do-file (i.e., C<do +CORE()>) to do-sub (i.e., C<&CORE()>). It has now -been changed back. +=over 4 =item * -v5.19.7 inadvertently caused freed scalars to be passed to subroutines in -@INC if it contained multiple subs. This has been fixed. [perl #120657] +XXX -=item * +=back -Individually-tied elements of @INC (as in C<tie $INC[0]...>) are now -handled correctly. Formerly, whether a sub returned by such a tied element -would be treated as a sub depended on whether a FETCH had occurred -previously. +=head1 Known Problems -=item * +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. -C<getc> on a byte-sized handle after the same C<getc> operator had been -used on a utf8 handle used to treat the bytes as utf8, resulting in erratic -behavior (e.g., malformed UTF-8 warnings). +[ List each fix as a =item entry ] -=item * - -An initial C<{> at the beginning of a format argument line was always -interpreted as the beginning of a block prior to v5.18. In Perl v5.18, it -started being treated as an ambiguous token. The parser would guess -whether it was supposed to be an anonymous hash constructor or a block -based on the contents. Now the previous behavious has been restored. -[perl #119973] +=over 4 =item * -In Perl v5.18 C<undef *_; goto &sub> and C<local *_; goto &sub> started -crashing. This has been fixed. [perl #119949] +XXX =back -=head1 Acknowledgements +=head1 Obituary -Perl 5.19.8 represents approximately 4 weeks of development since Perl 5.19.7 -and contains approximately 38,000 lines of changes across 420 files from 26 -authors. +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.19.8: - -Abigail, Alan Hourihane, Brian Fraser, Brian Gottreu, Chris 'BinGOs' Williams, -Christian Millour, Craig A. Berry, Dagfinn Ilmari Mannsåker, Daniel Dragan, -David Mitchell, Dominic Hargreaves, Father Chrysostomos, H.Merijn Brand, James -E Keenan, Jess Robinson, John Peacock, Karl Williamson, Martin McGrath, Matthew -Horsfall, Nicholas Clark, Ricardo Signes, Shlomi Fish, Steve Hay, Tobias Leich, -Tony Cook, Æ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.19.9..HEAD =head1 Reporting Bugs |