This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta for 6b2c7479, dd688536
[perl5.git] / pod / perldelta.pod
index d686561..28c1cc0 100644 (file)
@@ -5,15 +5,15 @@
 [ 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
 
@@ -27,6 +27,16 @@ here, but most should go in the L</Performance Enhancements> section.
 
 [ 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
@@ -87,14 +97,16 @@ There may well be none in a stable release.
 
 =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
 
@@ -126,6 +138,14 @@ XXX
 
 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
@@ -157,13 +177,13 @@ XXX Changes which significantly change existing files in F<pod/> go here.
 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
 
@@ -245,7 +265,8 @@ L</Platform Support> section, instead.
 
 =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
 
@@ -328,7 +349,8 @@ well.
 
 =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
 
@@ -343,17 +365,7 @@ files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
 
 =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