=encoding utf8
=for comment
-This has been completed up to 7fd683ff3c3, except for:
+This has been completed up to 518a985, except for:
04777d295957ad270188e4debf51b523e07cc5b0
c565ab54dc649bb62cd4d57149d7b2abb21df5f3
1c8d11ca3d0ce8bc11562f159b94c2c7e62dea6c
51698cb360d5bba06e12496ef9c7bf82e3352b71
0c4d3b5ea916cf640ea163c5a6bcffefade55a1b
+1830b3d9c87f8b1473b0a80759846f7a5dccae5a
+I may have missed a few module version bumps.
=head1 NAME
(b) If %{} overloading exists on a blessed arrayref, %{} is used
(c) If @{} overloading exists on a blessed hashref, @{} is used
+=head2 y///r
+
+The C</r> flag, which was added to C<s///> in 5.13.2, has been extended to
+the C<y///> operator.
+
+It causes it to perform the substitution on a I<copy> of its operand,
+returning that copy instead of a character count.
+
+=head2 New global variable C<${^GLOBAL_PHASE}>
+
+A new global variable, C<${^GLOBAL_PHASE}>, has been added to allow
+introspection of the current phase of the perl interpreter. It's explained in
+detail in L<perlvar/"${^GLOBAL_PHASE}"> and
+L<perlmod/"BEGIN, UNITCHECK, CHECK, INIT and END">.
+
=head1 Security
XXX Any security-related notices go here. In particular, any security
*$glob = *bar;
The C<*$glob> on the second line returns a new immutable glob. That new
-glob is made an alias to C<*bar>. Then it is discarded.
+glob is made an alias to C<*bar>. Then it is discarded. So the second
+assignment has no effect.
The upside to this incompatible change is that bugs
L<[perl #77496]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77496>,
=item *
The following modules were added by the C<Unicode::Collate>
-upgrade from 0.63 to 0.65. See below for details.
+upgrade from 0.63 to 0.67. See below for details.
C<Unicode::Collate::CJK::Big5>
C<B> has been upgraded from 1.24 to 1.25.
+It no longer crashes when taking apart a C<y///> containing characters
+outside the octet range or compiled in a C<use utf8> scope.
+
=item *
C<B::Deparse> has been upgraded from 0.99 to 1.01.
=item *
+C<Data::Dumper> has been upgraded from 2.129 to 2.130.
+
+=item *
+
C<DynaLoader> has been upgraded from 1.10 to 1.11.
It fixes a buffer overflow when passed a very long file name.
=item *
+C<File::stat> has been upgraded from 1.03 to 1.04.
+
+The C<-x> and C<-X> file test operators now work correctly under the root
+user.
+
+=item *
+
C<GDBM_File> has been upgraded from 1.11 to 1.12.
This fixes a memory leak when DBM filters are used.
=item *
-C<Math::BigInt> has been upgraded from 1.97 to 1.98.
+C<Math::BigInt> has been upgraded from 1.97 to 1.99.
=item *
=item *
+C<MIME::Base64> has been upgraded from 3.09 to 3.10
+
+Includes new functions to calculate the length of encoded and decoded
+base64 strings.
+
+=item *
+
C<mro> has been upgraded from 1.04 to 1.05.
=item *
=item *
+C<Opcode> has been upgraded from 1.16 to 1.17.
+
+=item *
+
C<parent> has been upgraded from 0.223 to 0.224
=item *
+C<Pod::Simple> has been upgraded from 3.14 to 3.15
+
+Includes various fixes to C<HTML> and C<XHTML> handling.
+
+=item *
+
C<POSIX> has been upgraded from 1.21 to 1.22.
=item *
=item *
+C<Storable> has been upgraded from 2.22 to 2.24
+
+Includes performance improvement for overloaded classes.
+
+=item *
+
C<Sys::Hostname> has been upgraded from 1.13 to 1.14.
=item *
-C<Unicode::Collate> has been upgraded from 0.63 to 0.66
+C<Unicode::Collate> has been upgraded from 0.63 to 0.67
This release newly adds locales C<ja> C<ko> and C<zh> and its variants
( C<zh__big5han>, C<zh__gb2312han>, C<zh__pinyin>, C<zh__stroke> ).
+Supported UCA_Version 22 for Unicode 6.0.0.
+
The following modules have been added:
C<Unicode::Collate::CJK::Big5> for C<zh__big5han> which makes
=item *
-XXX
+"Using !~ with %s doesn't make sense": This message was actually added in
+5.13.2, but was omitted from perldelta. It now applies also to the C<y///>
+operator, and has been documented.
=back
=item *
-XXX
+F<t/mro/isarev.t> has been added, which tests that C<PL_isarev> (accessible
+at the Perl level via C<mro::get_isarev>) is updated properly.
+
+=item
+
+F<t/run/switchd-78586.t> has been added, which tests that
+L<[perl #78586]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78586>
+has been fixed (related to line numbers in the debbuger).
=back
=item *
A new C<parse_label()> function has been added, that parses a statement
-labels, separate from statements.
+label, separate from statements.
=item *
=item *
-Typeglob assignments would crash if the glob's stash no longer existed, if
-the glob assigned to was named 'ISA' or the glob on either side of the
-assignment contained a subroutine.
+Typeglob assignments would crash if the glob's stash no longer existed, so
+long as the glob assigned to was named 'ISA' or the glob on either side of
+the assignment contained a subroutine.
=item *
This bug was introduced in 5.13.2 and did not affect earlier perl versions.
+=item *
+
+Matching a Unicode character against an alternation containing characters
+that happened to match continuation bytes in the former's UTF8
+representation (C<qq{\x{30ab}} =~ /\xab|\xa9/>) would cause erroneous
+warnings
+L<[perl #70998]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=70998>.
+
+=item *
+
+C<s///r> (added in 5.13.2) no longer leaks.
+
+=item *
+
+The trie optimisation was not taking empty groups into account, preventing
+'foo' from matching C</\A(?:(?:)foo|bar|zot)\z/>
+L<[perl #78356]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78356>.
+
+=item *
+
+A pattern containing a C<+> inside a lookahead would sometimes cause an
+incorrect match failure in a global match (e.g., C</(?=(\S+))/g>)
+L<[perl #68564]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68564>.
+
+=item *
+
+Iterating with C<foreach> over an array returned by an lvalue sub now works
+L<[perl #23790]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=23790>.
+
+=item *
+
+C<$@> is now localised during calls to C<binmode> to prevent action at a
+distance
+L<[perl #78844]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78844>.
+
+=item *
+
+C<PL_isarev>, which is accessible to Perl via C<mro::get_isarev> is now
+updated properly when packages are deleted or removed from the C<@ISA> of
+other classes. This allows many packages to be created and deleted without
+causing a memory leak
+L<[perl #75176]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75176>.
+
+=item *
+
+C<undef *Foo::> and C<undef *Foo::ISA> and C<delete $package::{ISA}>
+used not to update the internal isa caches if the
+stash or C<@ISA> array had a reference elsewhere. In
+fact, C<undef *Foo::ISA> would stop a new C<@Foo::ISA> array from updating
+caches
+L<[perl #79024]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=79024>.
+
+=item *
+
+C<@ISA> arrays can now be shared between classes via
+C<*Foo::ISA = \@Bar::ISA> or C<*Foo::ISA = *Bar::ISA>
+L<[perl #77238]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77238>.
+
+=item *
+
+The parser no longer hangs when encountering certain Unicode characters,
+such as U+387
+L<[perl #74022]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=74022>.
+
+=item *
+
+C<formline> no longer crashes when passed a tainted format picture
+L<[perl #79138]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=79138>.
+
=back
=head1 Known Problems