[ 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.8
=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.7 release and the 5.25.8
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.6, first read
+L<perl5257delta>, which describes differences between 5.25.6 and 5.25.7.
=head1 Notice
[ List each enhancement as a =head2 entry ]
+=head2 New Hash Function For 64-bit Builds
+
+We have switched to a hybrid hash function to better balance
+performance for short and long keys.
+
+For short keys, 16 bytes and under, we use an optimised variant of
+One At A Time Hard, and for longer keys we use Siphash 1-3. For very
+long keys this is a big improvement in performance. For shorter keys
+there is a modest improvement.
+
=head1 Security
XXX Any security-related notices go here. In particular, any security
=over 4
-=item *
+=item * New Faster Hash Function on 64 bit builds
-Array and hash assignment are now faster, e.g.
+We use a different hash function for short and long keys. This should
+improve performance and security, especially for long keys.
- (..., @a) = (...);
- (..., %h) = (...);
+=item * readline is faster
-especially when the RHS is empty.
+Reading from a file line-by-line with c<readline()> or C<< <> >> should
+now typically be faster due to a better implementation of the code that
+searches for the next newline character.
=back
L<XXX> has been upgraded from version A.xx to B.yy.
+=item *
+
+L<Pod::Simple> has been upgraded from version 3.32 to 3.35.
+
+=item *
+
+L<Test::Simple> has been upgraded from version 1.302067 to 1.302071.
+
=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
+Zero out the alignment bytes when calculating the bytes for 80-bit C<NaN>
+and C<Inf> to make builds more reproducible. [perl #130133]
=back
=item *
-XXX
+A new API function, C<sv_set_undef(sv)>, has been added. This is
+equivalent to C<sv_setsv(sv, &PL_sv_undef)>, but is more efficient.
=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)>.
+XXX
=back