The C<_> character in subroutine prototypes is now allowed before C<@> or
C<%>.
-=head1 Supports (I<almost>) Unicode 6.1
+=head2 Supports (I<almost>) Unicode 6.1
Besides the addition of whole new scripts, and new characters in
existing scripts, this new version of Unicode, as always, makes some
More details on this version of Unicode are provided in
L<http://www.unicode.org/versions/Unicode6.1.0/>.
+=head2 Added C<is_utf8_char_buf()>
+
+This function is designed to replace the deprecated L</is_utf8_char()>
+function. It includes an extra parameter to make sure it doesn't read
+past the end of the input buffer.
+
=head1 Security
XXX Any security-related notices go here. In particular, any security
[ List each security issue as a =head2 entry ]
+=head2 Use C<is_utf8_char_buf()> and not C<is_utf8_char()>
+
+The latter function is now deprecated because its API is insufficient to
+guarantee that it doesn't read (up to 12 bytes in the worst case) beyond
+the end of its input string. See
+L<is_utf8_char_buf()|/Added is_utf8_char_buf()>.
+
=head1 Incompatible Changes
XXX For a release on a stable branch, this section aspires to be:
These are detailed in L</Supports (almost) Unicode 6.1> above.
+=head2 Changed returns for some properties in C<Unicode::UCD::prop_invmap()>
+
+The return values for C<prop_invmap> have been changed for some
+properties to make the returned lists significantly smaller. This
+allows those lists to be searched faster.
+
+This function was introduced earlier in the v5.15 series of releases,
+and the API will not be considered stable until v5.16.
+
+See L<Unicode::UCD/prop_invmap()> for details on the new interface.
+
=head1 Deprecations
XXX Any deprecated features, syntax, modules etc. should be listed here.
[ List each deprecation as a =head2 entry ]
+=head2 C<is_utf8_char()>
+
+This function is deprecated because it could read beyond the end of the
+input string. Use the new L<is_utf8_char_buf()|/Added is_utf8_char_buf()>
+instead.
+
=head1 Performance Enhancements
XXX Changes which enhance performance without changing behaviour go here. There
=item *
+L<CPAN::Meta::YAML> has been upgraded from version 0.005 to version 0.007.
+
+=item *
+
L<DB_File> has been upgraded from version 1.824 to version 1.826.
=item *
=item *
+L<Module::Metadata> has been upgraded from version 1.000007 to version 1.000009.
+
+Adds C<provides> method to generate a CPAN META provides data structure
+correctly; use of C<package_versions_from_directory> is discouraged.
+
+=item *
+
+L<Parse::CPAN::Meta> has been upgraded from version 1.4401 to version 1.4402.
+
+=item *
+
L<Pod::Parser> has been upgraded from version 1.37 to version 1.51.
=item *
L<Version::Requirements> has been upgraded from version 0.101021 to version 0.101022.
+=item *
+
+L<POSIX> has been upgraded from version 1.28 to version 1.29..
+
+It now has a wrapper for the C<strptime(3)> function, it's not
+exported on C<use POSIX;> due to backwards compatibility concerns, it
+has to be explicitly requested with C<use POSIX qw(strptime)>.
+
=back
=head2 Removed Modules and Pragmata
=item *
+C<m/[[:ascii:]]/i> and C</\p{ASCII}/i> now match identically (when not
+under a differing locale). This fixes a regression introduced in 5.14
+in which the first expression could match characters outside of ASCII,
+such as the KELVIN SIGN.
+
+=item *
+
Method calls whose arguments were all surrounded with C<my()> or C<our()>
(as in C<<$object->method(my($a,$b)) >>) used to force lvalue context on
the subroutine. This would prevent lvalue methods from returning certain
C<SvPVbyte> now works properly non-PVs.
+=item *
+
+C</[[:ascii:]]/> and C</[[:blank:]]/> now use locale rules under
+C<use locale> when the platform supports that. Previously, they used
+the platform's native character set.
+
=back
=head1 Known Problems