From: Father Chrysostomos Date: Tue, 21 Jun 2011 15:41:54 +0000 (-0700) Subject: Grrr! I always forget to add new files X-Git-Tag: v5.15.1~353 X-Git-Url: https://perl5.git.perl.org/perl5.git/commitdiff_plain/b6238bc7af5bdac6f6a7a7bfbb5d493f6db7a707?hp=5cd408a276e19848774860967c3ec06b67b863ee Grrr! I always forget to add new files --- diff --git a/pod/perl5150delta.pod b/pod/perl5150delta.pod new file mode 100644 index 0000000..c783b49 --- /dev/null +++ b/pod/perl5150delta.pod @@ -0,0 +1,1256 @@ +=encoding utf8 + +=head1 NAME + +perl5150delta - what is new for perl v5.15.0 + +=head1 DESCRIPTION + +This document describes differences between the 5.15.0 release and +the 5.14.0 release. + +If you are upgrading from an earlier release such as 5.12.0, first read +L, which describes differences between 5.12.0 and +5.14.0. + +Some of the changes have been included in Perl 5.14.1. These are +indicated with a "(5.14.1)" marker. + +=head1 Core Enhancements + +=head2 C works on all keywords + +The C prefix can now be used on keywords enabled by +L, even outside the scope of C. Relevant +documentation files L, L, L, L, and +L have been updated. + +=head2 C no longer requires the "switch" feature + +The C keyword has two meanings. It can introduce a C +block after a loop, or it can exit the current C block. Up till now, +the latter meaning was only valid with the "switch" feature enabled, and +was a syntax error otherwise. Since the main purpose of feature.pm is to +avoid conflicts with user-defined subroutines, there is no reason for +C to depend on it. + +=head2 C<$$> can be assigned to + +C<$$> was made read-only in Perl 5.8.0. But only sometimes: C +would make it writable again. Some CPAN modules were using C or +XS code to bypass the read-only check, so there is no reason to keep C<$$> +read-only. (This change also allowed a bug to be fixed while maintaining +backward compatibility.) + +=head2 Features inside the debugger + +The current Perl's feature bundle is now enabled for commands entered in +the interactive debugger. + +=head2 C<\N{...}> can now have Unicode loose name matching + +This is described in the C item in +L below. + +=head2 Breakpoints with file names + +The debugger's "b" command for setting breakpoints now allows a line number +to be prefixed with a file name. See +L. + +=head1 Security + +No changes since 5.14.0. + +=head1 Incompatible Changes + +=head2 Tying scalars that hold typeglobs + +Attempting to tie a scalar after a typeglob was assigned to it would +instead tie the handle in the typeglob's IO slot. This meant that it was +impossible to tie the scalar itself. Similar problems affected C and +C: C would return false on a tied scalar if the last +thing returned was a typeglob, and C on such a tied scalar +would do nothing. + +We fixed this problem before Perl 5.14.0, but it caused problems with some +CPAN modules, so we put in a deprecation cycle instead. + +Now the deprecation has been removed and this bug has been fixed. So +C will always tie the scalar, not the handle it holds. To tie +the handle, use C (with an explicit asterisk). The same +applies to C and C. + +=head2 IPC::Open3 no longer provides C, C +and C + +All three functions were private, undocumented and unexported. They do +not appear to be used by any code on CPAN. Two have been inlined and one +deleted entirely. + +=head2 C<$$> no longer caches PID + +Previously, if one embeds Perl or uses XS and calls fork(3) from C, Perls +notion of C<$$> could go out of sync with what getpid() returns. By always +fetching the value of C<$$> via getpid(), this potential bug is eliminated. +Code that depends on the caching behavior will break. As described in +L, C<$$> is now writable, but it will be reset during a +fork. + +=head1 Deprecations + +There have been no deprecations since 5.14.0. + +=head1 Performance Enhancements + +There are no benchmarked enhancements since 5.14.0. + +=head1 Modules and Pragmata + +=head2 New Modules and Pragmata + +None. + +=head2 Updated Modules and Pragmata + +=over 4 + +=item * + +L has been updated from version 1.18 to version 1.22 + +L can now be invoked with a new option, C<:loose>, +which is like the existing C<:full> option, but enables Unicode loose +name matching. Details are in L. + +=item * + +L has been updated from version 1.21 to 1.22. + +=item * + +L has been upgraded from version 0.48 to version 0.52 + +Includes a fix for FreeBSD to only use C if it is located in +C, as FreeBSD 9.0 will ship with a limited C in +C. + +=item * + +L updated from version 0.88 to 0.91 + +=item * + +L has been upgraded from version 1.29 to version 1.30. + +=item * + +L has been upgraded from version 1.03 to 1.05. (Perl 5.14.1 +had version 1.04.) + +It addresses two regressions in Perl 5.14.0: + +=over + +=item * + +Deparsing of the C operator and its diamond (C<< <> >>) form now +works again [perl #90898] (5.14.1). + +=item * + +The presence of subroutines named C<::::> or C<::::::> no longer causes +B::Deparse to hang (5.14.1). + +=back + +Plus a few other bugs: + +=over + +=item * + +Deparsing of handle C, C and C with a scalar argument +now works [perl #91008]. + +=item * + +C followed by a complex expression (as opposed to a simple scalar +variable) now works. + +=item * + +It now puts C in front of overridable core keywords if they +conflict with user-defined subroutines. + +=item * + +Deparsing assignment to an lvalue method specified as a variable +(C<< $obj->$method = ... >>) used not to work [perl #62498]. + +=back + +=item * + +L has been upgraded from version 3.52 to version 3.54 + +The DELETE HTTP verb is now supported. + +=item * + +L has been upgraded from version 2.033 to version 2.035 + +=item * + +L has been upgraded from version 2.033 to version 2.035 + +=item * + +L has been upgraded from version 2.033 to version 2.035 + +=item * + +L has been upgraded from version 2.110440 to version 2.110930 + +=item * + +L has been upgraded from version 0.9103 to version 0.9105 + +Now understands specifying modules to install in the format 'Module/Type.pm' + +=item * + +L has been upgraded from version 0.54 to version 0.56 + +=item * + +L has been upgraded from version 2.128 to 2.131. + +=item * + +L has been upgraded from version 1.821 to version 1.822 + +Warnings are now in sync with perl's + +=item * + +L has been upgraded from version 5.61 to version 5.62 + +No longer loads L as this was unnecessary. + +=item * + +L has been upgraded from version 1.07 to 1.08. + +Its C function no longer refuses to write to copy-on-write +scalars. + +=item * + +L has been upgraded from version 2.42 to version 2.43 + +Missing aliases added, a deep recursion error fixed and various +documentation updates. + +=item * + +L updated from version 0.280203 to 0.280204. + +The new version appends CFLAGS and LDFLAGS to their Config.pm +counterparts. + +=item * + +L has been upgraded from version 1.08 to version 1.39 + +C fixed to work with v5.14.0 + +=item * + +L updated from version 0.85 to 0.87 + +=item * + +L updated from version 1.50 to 1.51. + +It no longer returns a wrong result if a script of the same name as the +current one exists in the path and is executable. + +=item * + +L has been upgraded from version 2.27105 to version 2.27200 + +Fixed C decoding string more correctly. + +=item * + +L has been upgraded from version 0.35_01 to version 0.36. + +Fix broken URLs for RFCs. + +=item * + +L has been upgraded from version 1.10 to version 1.11. + +=over 4 + +=item * + +Fixes a bug which prevented use of C on Windows when C<*STDIN>, +C<*STDOUT> or C<*STDERR> had been localized. + +=item * + +Fixes a bug which prevented duplicating numeric file descriptors on Windows. + +=back + +=item * + +L has been upgraded from version 1.993 to 1.994. + +The C method has been corrected to return a normalised Perl number +(the result of C<0 + $thing>), instead of a string [rt.cpan.org #66732]. + +=item * + +L has been upgraded from version 1.994 to 1.995. + +It provides a new C method that complements the C method. + +It fixes the internal C function's handling of "foreign objects" +so they are converted to the appropriate class (Math::BigInt or +Math::BigFloat). + +=item * + +L has been upgraded from version 1.56 to version 1.57 +and L has been upgraded from version 1.20 to version 1.21. + +Fixes include: correct copy constructor usage; fix polarwise formatting with +numeric format specifier; and more stable C algorithm. + +=item * + +L has been upgraded from version 2.49 to 2.51. + +Updated for v5.12.4, v5.14.1 and v5.15.0 + +=item * + +L has been updated to remove two broken URLs in the documentation. + +=item * + +L has been upgraded from version 0.38 to version 0.42 + +Eliminated use of C on array elements which has been deprecated. + +=item * + +L has been upgraded from version 1.10 to version 1.11. + +The XS code is now compiled with C, which will aid +performance under ithreads. + +=item * + +L has been upgraded from version 0.14 to 0.15 + +=item * + +L has been upgraded from version 0.11 to 0.12. + +It fixes a problem with C<< open my $fh, ">", \$scalar >> not working if +C<$scalar> is a copy-on-write scalar. + +It also fixes a hang that occurs with C or C<< <$fh> >> if a +typeglob has been assigned to $scalar [perl #92258]. + +=item * + +L has been upgraded from version 3.15_03 to 3.15_05. + +It corrects the search paths on VMS [perl #90640]. (5.14.1) + +=item * + +L has been upgraded from version 2.27 to version 2.28. + +It no longer turns copy-on-write scalars into read-only scalars when +freezing and thawing. + +=item * + +L has been upgraded from version 0.27 to version 0.29 + +Large number of Request Tickets resolved. + +=item * + +L has been upgraded from version 1.9721_01 to version 1.9722. + +Portability fix, and avoiding some compiler warnings. + +=item * + +L has been upgraded from version 0.73 to version 0.76 + +Updated to CLDR 1.9.1 + +=item * + +L has been upgraded from version 1.10 to version 1.12 + +Fixes for the removal of F from core. + +=item * + +L has been upgraded from version 0.13 to version 0.15 + +=back + +=head2 Removed Modules and Pragmata + +As promised in Perl 5.14.0's release notes, the following modules have +been removed from the core distribution, and if needed should be installed +from CPAN instead. + +=over + +=item * + +C has been removed from the Perl core. Prior version was 20110228.00. + +=item * + +C has been removed from the Perl core. Prior version was 0.72_01. + +=back + +=head1 Documentation + +=head2 New Documentation + +None. + +=head2 Changes to Existing Documentation + +=head3 L + +=over + +=item * + +Added portability caveats related to using C on forked process. + +=back + +=head3 L + +=over + +=item * + +Documentation for C now includes a pointer to F (5.14.1) + +=item * + +C, C and C are now listed in L (5.14.1). + +=item * + +The examples for the C