=encoding utf8
=for comment
-This has been completed up to 578895fb, except for:
-04777d295957ad270188e4debf51b523e07cc5b0
-c565ab54dc649bb62cd4d57149d7b2abb21df5f3
-1c8d11ca3d0ce8bc11562f159b94c2c7e62dea6c
-51698cb360d5bba06e12496ef9c7bf82e3352b71
-0c4d3b5ea916cf640ea163c5a6bcffefade55a1b
+This has been completed up to f869c5854, except for:
+249534c343ab758089ce40786709465e328c8b2d
I may have missed a few module version bumps.
=head1 NAME
detail in L<perlvar/"${^GLOBAL_PHASE}"> and
L<perlmod/"BEGIN, UNITCHECK, CHECK, INIT and END">.
+=head2 Unicode Version 6.0 is now supported (mostly)
+
+Perl comes with the Unicode 6.0 data base, with one exception noted
+below.
+See L<http://unicode.org/versions/Unicode6.0.0> for details on the new
+release. Perl does not support any Unicode provisional properties,
+including the new ones for this release, but their database files are
+packaged with Perl.
+
+Unicode 6.0 has chosen to use the name C<BELL> for the character at U+1F514,
+which is a symbol that looks like a bell, and used in Japanese cell
+phones. This conflicts with the long-standing Perl usage of having
+C<BELL> mean the ASCII C<BEL> character, U+0007. In Perl 5.14,
+C<\N{BELL}> will continue to mean U+0007, but its use will generate a
+deprecated warning message, unless such warnings are turned off. The
+new name for U+0007 in Perl will be C<ALERT>, which corresponds nicely
+with the existing shorthand sequence for it, C<"\a">. C<\N{BEL}> will
+mean U+0007, with no warning given. The character at U+1F514 will not
+have a name in 5.14, but can be referred to by C<\N{U+1F514}>. The plan
+is that in Perl 5.16, C<\N{BELL}> will refer to U+1F514, and so all code
+that uses C<\N{BELL}> should convert by then to using C<\N{ALERT}>,
+C<\N{BEL}>, or C<"\a"> instead.
+
+=head2 Improved support for custom OPs
+
+Custom ops can now be registered with the new C<custom_op_register> C
+function and the C<XOP> structure. This will make it easier to add new
+properties of custom ops in the future. Two new properties have been added
+already, C<xop_class> and C<xop_peep>.
+
+C<xop_class> is one of the OA_*OP constants, and allows L<B> and other
+introspection mechanisms to work with custom ops that aren't BASEOPs.
+C<xop_peep> is a pointer to a function that will be called for ops of this
+type from C<Perl_rpeep>.
+
+See L<perlguts/Custom Operators> and L<perlapi/Custom Operators> for more
+detail.
+
+The old C<PL_custom_op_names>/C<PL_custom_op_descs> interface is still
+supported but discouraged.
+
=head1 Security
XXX Any security-related notices go here. In particular, any security
glob is made an alias to C<*bar>. Then it is discarded. So the second
assignment has no effect.
+It also means that C<tie $handle> will now tie C<$handle> as a scalar, even
+if it has had a glob assigned to it.
+
The upside to this incompatible change is that bugs
L<[perl #77496]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77496>,
L<[perl #77502]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77502>,
See L<http://rt.perl.org/rt3/Public/Bug/Display.html?id=77810> for even
more detail.
+=head2 Clearing stashes
+
+Stash list assignment C<%foo:: = ()> used to make the stash anonymous
+temporarily while it was being emptied. Consequently, any of its
+subroutines referenced elsewhere would become anonymous (showing up as
+"(unknown)" in C<caller>). Now they retain their package names, such that
+C<caller> will return the original sub name if there is still a reference
+to its typeglob, or "foo::__ANON__" otherwise
+L<[perl #79208]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=79208>.
+
=head1 Deprecations
XXX Any deprecated features, syntax, modules etc. should be listed here.
[ List each deprecation as a =head2 entry ]
+=head2 C<\N{BELL}> is deprecated
+
+This is because Unicode is using that name for a different character.
+See L</Unicode Version 6.0 is now supported (mostly)> for more
+explanation.
+
=head1 Performance Enhancements
XXX Changes which enhance performance without changing behaviour go here. There
=item *
-XXX
+When an object has many weak references to it, freeing that object
+can under some some circumstances take O(N^2) time to free (where N is the
+number of references). The number of circumstances has been reduced.
+L<[perl #75254]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75254>.
=back
=item *
-C<B> has been upgraded from 1.24 to 1.25.
+C<Archive::Tar> has been upgraded from 1.68 to 1.72
+
+This adds the ptargrep utility for using regular expressions against
+the contents of files in a tar archive.
+
+=item *
+
+C<B> has been upgraded from 1.24 to 1.26.
It no longer crashes when taking apart a C<y///> containing characters
outside the octet range or compiled in a C<use utf8> scope.
+The size of the shared object has been reduced by about 40%, with no
+reduction in functionality.
+
=item *
C<B::Deparse> has been upgraded from 0.99 to 1.01.
C<ExtUtils::Constant> has been upgraded from 0.22 to 0.23.
+The C<AUTOLOAD> helper code generated by C<ExtUtils::Constant::ProxySubs>
+can now C<croak> for missing constants, or generate a complete C<AUTOLOAD>
+subroutine in XS, allowing simplification of many modules that use it.
+(C<Fcntl>, C<File::Glob>, C<GDBM_File>, C<I18N::Langinfo>, C<POSIX>, C<Socket>)
+
+C<ExtUtils::Constant::ProxySubs> can now optionally push the names of all
+constants onto the package's C{@EXPORT_OK}. This has been used to replace
+less space-efficient code in C<B>, helping considerably shrink the size of its
+shared object.
+
=item *
C<Fcntl> has been upgraded from 1.09 to 1.10.
=item *
-C<Math::BigInt> has been upgraded from 1.97 to 1.98.
-
-XXX Should the changes be listed here?
+C<Math::BigInt> has been upgraded from 1.97 to 1.99.
=item *
C<Math::BigInt::FastCalc> has been upgraded from 0.22 to 0.24.
-XXX Should the changes be listed here?
-
=item *
C<MIME::Base64> has been upgraded from 3.09 to 3.10
entries for each change
Use L<XXX> with program names to get proper documentation linking. ]
-=head3 L<XXX>
+=head3 L<ptargrep>
=over 4
=item *
-XXX
+L<ptargrep> is a utility to apply pattern matching to the contents of files
+in a tar archive. It comes with C<Archive::Tar>.
=back
=item *
+The new F<t/mro/isa_aliases.t> has been added, which tests that
+C<*Foo::ISA = *Bar::ISA> works properly.
+
+=item *
+
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
+=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>
5.13.6, child threads simply stopped inheriting directory handles. In
previous versions, threads would share handles, resulting in crashes.
+Support for building with Visual C++ 2010 is now underway, but is not yet
+complete. See F<README.win32> for more details.
+
+=item VMS
+
+Record-oriented files (record format variable or variable wih fixed control)
+opened for write by the perlio layer will now be line buffered to prevent the
+introduction of spurious line breaks whenever the perlio buffer fills up.
+
=back
=head1 Internal Changes
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>.
+caches.
+
+=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. It also
+taints C<$^A> now if its arguments are tainted
+L<[perl #79138]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=79138>.
+
+=item *
+
+A signal handler called within a signal handler could cause leaks or
+double-frees. Now fixed.
+L<[perl #76248]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=76248>.
=back