[ this is a template for a new perldelta file. Any text flagged as XXX needs
to be processed before release. ]
-perldelta - what is new for perl v5.25.7
+perldelta - what is new for perl v5.25.9
=head1 DESCRIPTION
-This document describes differences between the 5.25.6 release and the 5.25.7
+This document describes differences between the 5.25.8 release and the 5.25.9
release.
-If you are upgrading from an earlier release such as 5.25.5, first read
-L<perl5256delta>, which describes differences between 5.25.5 and 5.25.6.
+If you are upgrading from an earlier release such as 5.25.7, first read
+L<perl5258delta>, which describes differences between 5.25.7 and 5.25.8.
=head1 Notice
[ List each enhancement as a =head2 entry ]
-=head2 Indented Here-documents
-
-This adds a new modifier '~' to here-docs that tells the parser
-that it should look for /^\s*$DELIM\n/ as the closing delimiter.
-
-These syntaxes are all supported:
-
- <<~EOF;
- <<~\EOF;
- <<~'EOF';
- <<~"EOF";
- <<~`EOF`;
- <<~ 'EOF';
- <<~ "EOF";
- <<~ `EOF`;
-
-The '~' modifier will strip, from each line in the here-doc, the
-same whitespace that appears before the delimiter.
-
-Newlines will be copied as is, and lines that don't include the
-proper beginning whitespace will cause perl to croak.
-
-For example:
-
- if (1) {
- print <<~EOF;
- Hello there
- EOF
- }
-
-prints "Hello there\n" with no leading whitespace.
-
=head1 Security
XXX Any security-related notices go here. In particular, any security
=item *
-Array and hash assignment are now faster, e.g.
-
- (..., @a) = (...);
- (..., %h) = (...);
-
-especially when the RHS is empty.
+XXX
=back
L<XXX> has been upgraded from version A.xx to B.yy.
+=item *
+
+L<Module::CoreList> has been upgraded from version 5.20161220 to 5.20170120.
+
=back
=head2 Removed Modules and Pragmata
However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
section.
-=head3 L<perlobj>
+=head3 L<XXX>
=over 4
=item *
-Added a section on calling methods using their fully qualified names.
+XXX Description of the change here
=back
=item *
-XXX
+New versions of macros like C<isALPHA_utf8> have been added, each with the
+suffix C<_safe>, like C<isSPACE_utf8_safe>. These take an extra
+parameter, giving an upper limit of how far into the string it is safe
+to read. Using the old versions could cause attempts to read beyond the
+end of the input buffer if the UTF-8 is not well-formed. Details are at
+L<perlapi/Character classification>.
+
+=item *
+
+Calling macros like C<isALPHA_utf8> on malformed UTF-8 have issued a
+deprecation warning since Perl v5.18. They now die.
+
+=item *
+
+Calling the functions C<utf8n_to_uvchr> and its derivatives, while
+passing a string length of 0 is now asserted against in DEBUGGING
+builds, and otherwise returns the Unicode REPLACEMENT CHARACTER. If
+you have nothing to decode, you shouldn't call the decode function.
=back
=item *
-List assignment in list context where the LHS contained aggregates and
-where there were not enough RHS elements, used to skip scalar lvalues.
-Previously, C<(($a,$b,@c,$d) = (1))> in list context returned C<($a)>; now
-it returns C<($a,$b,$d)>. C<(($a,$b,$c) = (1))> is unchanged: it still
-returns <($a,$b,$c)>. This can be seen in the following:
-
- sub inc { $_++ for @_ }
- inc(($a,$b,@c,$d) = (10))
-
-Formerly, the values of C<($a,$b,$d)> would be left as C<(11,undef,undef)>;
-now they are C<(11,1,1)>.
+Under C<use utf8>, the entire Perl program is now checked that the UTF-8
+is wellformed. This resolves [perl #126310].
=back