summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Signes <rjbs@cpan.org>2014-02-18 08:38:44 -0500
committerRicardo Signes <rjbs@cpan.org>2014-02-18 08:39:45 -0500
commit5a33c1159d9cfb778802024f1f7da507e22f8699 (patch)
treeb638ed4e44da160f21e046d0f7dd3187374aa2c7
parent67e5290591dd8971ce8427cb475b24cf69333c2f (diff)
downloadperl-5a33c1159d9cfb778802024f1f7da507e22f8699.tar.gz
re-import 5.19.8 delta form 5.19.8
-rw-r--r--[l---------]pod/perl5198delta.pod504
1 files changed, 503 insertions, 1 deletions
diff --git a/pod/perl5198delta.pod b/pod/perl5198delta.pod
index bb639d3f2b..6c6789d778 120000..100644
--- a/pod/perl5198delta.pod
+++ b/pod/perl5198delta.pod
@@ -1 +1,503 @@
-perldelta.pod \ No newline at end of file
+=encoding utf8
+
+=head1 NAME
+
+perl5198delta - what is new for perl v5.19.8
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.19.7 release and the 5.19.8
+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.
+
+=head1 Core Enhancements
+
+=head2 New C<\p{Unicode}> regular expression pattern property
+
+This is a synonym for C<\p{Any}> and matches the set of Unicode-defined
+code points 0 - 0x10FFFF.
+
+=head1 Incompatible Changes
+
+=head2 C<do> can no longer be used to call subroutines
+
+The C<do SUBROUTINE(LIST)> form has resulted in a deprecation warning
+since Perl v5.0.0, and is now a syntax error.
+
+=head2 C<\p{}>, C<\P{}> matching has changed for non-Unicode code
+points.
+
+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.
+
+Details are in L<perlunicode/Beyond Unicode code points>.
+
+=head2 C<\p{All}> has been expanded to match all possible code points
+
+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.
+
+=head1 Deprecations
+
+XXX Any deprecated features, syntax, modules etc. should be listed here.
+
+=head2 Module removals
+
+XXX Remove this section if inapplicable.
+
+The following modules will be removed from the core distribution in a
+future release, and will at that time need to be installed from CPAN.
+Distributions on CPAN which require these modules will need to list them as
+prerequisites.
+
+The core versions of these modules will now issue C<"deprecated">-category
+warnings to alert you to this fact. To silence these deprecation warnings,
+install the modules in question from CPAN.
+
+Note that these are (with rare exceptions) fine modules that you are encouraged
+to continue to use. Their disinclusion from core primarily hinges on their
+necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
+not usually on concerns over their design.
+
+=over
+
+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 *
+
+L<IO::Socket::IP> has been (tentatively) added to core at version 0.26.
+
+=back
+
+=head2 Updated Modules and Pragmata
+
+=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.
+
+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 *
+
+L<Errno> has been upgraded from version 1.20_01 to 1.20_02.
+
+=item *
+
+L<ExtUtils::CBuilder> has been upgraded from version 0.280212 to 0.280213.
+
+=item *
+
+L<ExtUtils::MakeMaker> has been upgraded from version 6.84 to 6.86.
+
+=item *
+
+L<File::Copy> has been upgraded from version 2.28 to 2.29.
+
+=item *
+
+L<Hash::Util::FieldHash> has been upgraded from version 1.13 to 1.14.
+
+=item *
+
+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.
+
+=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]
+
+=item *
+
+The libnet module collection has been upgraded from version 1.23 to 1.24.
+
+The handling of CRLF characters in L<Net::FTP> has been fixed.
+
+=item *
+
+L<List::Util> has been upgraded from version 1.35 to 1.36.
+
+=item *
+
+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.
+
+=item *
+
+L<Module::CoreList> has been upgraded from version 3.02 to 3.04.
+
+=item *
+
+L<Module::Load> has been upgraded from version 0.24 to 0.28.
+
+=item *
+
+L<Module::Load::Conditional> has been upgraded from version 0.58 to 0.60.
+
+=item *
+
+L<Perl::OSType> has been upgraded from version 1.006 to 1.007.
+
+=item *
+
+L<PerlIO::encoding> has been upgraded from version 0.17 to 0.18.
+
+=item *
+
+L<Pod::Perldoc> has been upgraded from version 3.20 to 3.21.
+
+=item *
+
+L<POSIX> has been upgraded from version 1.37 to 1.38_01.
+
+=item *
+
+L<Scalar::Util> has been upgraded from version 1.35 to 1.36.
+
+=item *
+
+L<threads::shared> has been upgraded from version 1.45 to 1.46.
+
+=item *
+
+L<Time::Piece> has been upgraded from version 1.24 to 1.27.
+
+=item *
+
+L<Unicode::UCD> has been upgraded from version 0.55 to 0.57.
+
+=item *
+
+L<version> has been upgraded from version 0.9904 to 0.9907.
+
+=item *
+
+L<warnings> has been upgraded from version 1.20 to 1.21.
+
+=item *
+
+L<XSLoader> has been upgraded from version 0.16 to 0.17.
+
+=back
+
+=head1 Documentation
+
+=head2 Changes to Existing Documentation
+
+=over 4
+
+=item *
+
+L<perlunicode> has been updated to reflect C<Bidi_Class> changes in Unicode
+6.3.
+
+=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>.
+
+=head3 New Warnings
+
+=over 4
+
+=item *
+
+%s on a reference is now experimental
+
+The "auto-deref" feature is now experimental.
+
+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.
+
+Warnings will now be issued at compile time when these operations are
+detected.
+
+ no if $] >= 5.01908, warnings => "experimental::autoderef";
+
+Consider, though, replacing the use of these features, as they may
+change behavior again before becoming stable.
+
+=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".
+
+=back
+
+=head1 Utility Changes
+
+=head3 L<perlbug>
+
+=over 4
+
+=item *
+
+F<perlbug> now has a C<-p> option for attaching patches with a bug report.
+
+=item *
+
+F<perlbug> now does input in the encoding of the current locale and
+output raw.
+
+=back
+
+=head1 Configuration and Compilation
+
+=over 4
+
+=item *
+
+Distinct library basenames with C<d_libname_unique>.
+
+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.
+
+=item *
+
+C<sysroot> option to indicate the logical root directory under gcc and clang.
+
+When building with this option set, both Configure and the compilers search
+for all headers and libraries under this new sysroot, instead of /.
+
+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.
+
+=back
+
+=head1 Platform Support
+
+=over 4
+
+=item *
+
+Code related to supporting C<sfio> has been removed.
+
+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.
+
+=back
+
+=head2 Platform-Specific Notes
+
+=over 4
+
+=item Cygwin
+
+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]
+
+=back
+
+=head1 Internal Changes
+
+=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.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+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.
+
+=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]
+
+=item *
+
+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.
+
+=item *
+
+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).
+
+=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]
+
+=item *
+
+In Perl v5.18 C<undef *_; goto &sub> and C<local *_; goto &sub> started
+crashing. This has been fixed. [perl #119949]
+
+=back
+
+=head1 Acknowledgements
+
+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.
+
+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.
+
+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