This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Tick off release
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
733dba2b 5perldelta - what is new for perl v5.25.8
eabfc7bc 6
2cfe9b50 7=head1 DESCRIPTION
eabfc7bc 8
733dba2b 9This document describes differences between the 5.25.7 release and the 5.25.8
4b8803f0 10release.
f3ed8cbf 11
733dba2b
CG
12If you are upgrading from an earlier release such as 5.25.6, first read
13L<perl5257delta>, which describes differences between 5.25.6 and 5.25.7.
8bbdbfcb 14
733dba2b 15=head1 Core Enhancements
ce6646d7 16
eaed4a85
YO
17=head2 New Hash Function For 64-bit Builds
18
19We have switched to a hybrid hash function to better balance
20performance for short and long keys.
21
22For short keys, 16 bytes and under, we use an optimised variant of
23One At A Time Hard, and for longer keys we use Siphash 1-3. For very
24long keys this is a big improvement in performance. For shorter keys
25there is a modest improvement.
26
733dba2b 27=head1 Performance Enhancements
226eba01 28
8bbdbfcb
CG
29=over 4
30
eaed4a85 31=item * New Faster Hash Function on 64 bit builds
8bbdbfcb 32
eaed4a85
YO
33We use a different hash function for short and long keys. This should
34improve performance and security, especially for long keys.
8bbdbfcb 35
dd3d2a3f
DM
36=item * readline is faster
37
16cd1e01 38Reading from a file line-by-line with C<readline()> or C<< E<lt>E<gt> >> should
dd3d2a3f
DM
39now typically be faster due to a better implementation of the code that
40searches for the next newline character.
41
8bbdbfcb
CG
42=back
43
733dba2b 44=head1 Modules and Pragmata
8bbdbfcb 45
733dba2b 46=head2 Updated Modules and Pragmata
8bbdbfcb
CG
47
48=over 4
49
50=item *
51
107db227 52L<Archive::Tar> has been upgraded from version 2.18 to 2.24.
8bbdbfcb 53
ff10d69b
JK
54=item *
55
107db227 56L<B::Debug> has been upgraded from version 1.23 to 1.24.
ff10d69b 57
76ea8b6a
JK
58=item *
59
107db227 60L<bignum> has been upgraded from version 0.43_01 to 0.47.
8bbdbfcb
CG
61
62=item *
63
107db227 64L<Data::Dumper> has been upgraded from version 2.165 to 2.166.
8bbdbfcb
CG
65
66=item *
67
107db227 68L<Encode> has been upgraded from version 2.86 to 2.88.
8bbdbfcb 69
107db227 70=item *
8bbdbfcb 71
107db227 72L<encoding> has been upgraded from version 2.18 to 2.19.
8bbdbfcb 73
107db227 74=item *
8bbdbfcb 75
107db227 76L<IO> has been upgraded from version 1.37 to 1.38.
8bbdbfcb 77
107db227 78=item *
8bbdbfcb 79
107db227 80L<Locale::Codes> has been upgraded from version 3.40 to 3.42.
8bbdbfcb 81
107db227 82=item *
8bbdbfcb 83
107db227 84L<Math::BigInt> has been upgraded from version 1.999727 to 1.999806.
8bbdbfcb
CG
85
86=item *
87
107db227 88L<Math::BigInt::FastCalc> has been upgraded from version 0.42 to 0.5005.
8bbdbfcb 89
107db227 90=item *
8bbdbfcb 91
107db227 92L<Math::BigRat> has been upgraded from version 0.260804 to 0.2611.
8bbdbfcb
CG
93
94=item *
95
107db227 96L<Module::CoreList> has been upgraded from version 5.20161120 to 5.20161220.
8bbdbfcb 97
107db227 98=item *
8c3f6b0b 99
107db227 100L<PerlIO::scalar> has been upgraded from version 0.24 to 0.25.
a09f502b 101
107db227 102=item *
2c4879e2 103
107db227 104L<Pod::Simple> has been upgraded from version 3.32 to 3.35.
8bbdbfcb
CG
105
106=item *
107
107db227 108L<POSIX> has been upgraded from version 1.75 to 1.76.
bd5630ab 109
107db227 110=item *
2c4879e2 111
107db227 112L<Test::Simple> has been upgraded from version 1.302062 to 1.302073.
a09f502b 113
107db227 114=item *
8bbdbfcb 115
107db227 116L<Time::HiRes> has been upgraded from version 1.9740_03 to 1.9741.
8bbdbfcb 117
107db227 118=item *
8bbdbfcb 119
107db227 120L<Time::Local> has been upgraded from version 1.24 to 1.25.
8bbdbfcb
CG
121
122=item *
123
107db227 124L<Unicode::Collate> has been upgraded from version 1.18 to 1.19.
07cfdfcc 125
262514fd 126=back
2c4879e2 127
a09f502b
AC
128=head1 Configuration and Compilation
129
733dba2b 130=over 4
a09f502b 131
a07f6112 132=item *
a09f502b 133
c730b126
TC
134Zero out the alignment bytes when calculating the bytes for 80-bit C<NaN>
135and C<Inf> to make builds more reproducible. [perl #130133]
a09f502b 136
36cabe94
YO
137=item *
138
139Since 5.18 for testing purposes we have included support for
140building perl with a variety of non-standard, and non-recommended
141hash functions. Since we do not recommend the use of these functions
16cd1e01 142we have removed them and their corresponding build options. Specifically
36cabe94
YO
143this includes the following build options:
144
145 PERL_HASH_FUNC_SDBM
146 PERL_HASH_FUNC_DJB2
147 PERL_HASH_FUNC_SUPERFAST
148 PERL_HASH_FUNC_MURMUR3
149 PERL_HASH_FUNC_ONE_AT_A_TIME
150 PERL_HASH_FUNC_ONE_AT_A_TIME_OLD
151 PERL_HASH_FUNC_MURMUR_HASH_64A
152 PERL_HASH_FUNC_MURMUR_HASH_64B
153
a07f6112 154=back
7d897bd0 155
107db227 156=head1 Acknowledgements
8bbdbfcb 157
107db227
S
158Perl 5.25.8 represents approximately 4 weeks of development since Perl 5.25.7
159and contains approximately 21,000 lines of changes across 500 files from 19
160authors.
8bbdbfcb 161
107db227
S
162Excluding auto-generated files, documentation and release tools, there were
163approximately 18,000 lines of changes to 340 .pm, .t, .c and .h files.
262514fd 164
107db227
S
165Perl continues to flourish into its third decade thanks to a vibrant community
166of users and developers. The following people are known to have contributed the
167improvements that became Perl 5.25.8:
a6a32e96 168
107db227
S
169Andy Lester, Aristotle Pagaltzis, Chad Granum, Chris 'BinGOs' Williams,
170Christian Hansen, Craig A. Berry, David Mitchell, Hugo van der Sanden, James E
171Keenan, J. Nick Koston, Karl Williamson, Matthew Horsfall, Niko Tyni, Petr
172Písař, Sawyer X, Steve Hay, Sullivan Beck, Tony Cook, Yves Orton.
262514fd 173
107db227
S
174The list above is almost certainly incomplete as it is automatically generated
175from version control history. In particular, it does not include the names of
176the (very much appreciated) contributors who reported issues to the Perl bug
177tracker.
226eba01 178
107db227
S
179Many of the changes included in this version originated in the CPAN modules
180included in Perl's core. We're grateful to the entire CPAN community for
181helping Perl to flourish.
24528e8e 182
107db227
S
183For a more complete list of all of Perl's historical contributors, please see
184the F<AUTHORS> file in the Perl source distribution.
f5b73711 185
44691e6f
AB
186=head1 Reporting Bugs
187
c0ea3294
SH
188If you find what you think is a bug, you might check the perl bug database
189at L<https://rt.perl.org/> . There may also be information at
4b8803f0 190L<http://www.perl.org/> , the Perl Home Page.
44691e6f 191
e08634c5
SH
192If you believe you have an unreported bug, please run the L<perlbug> program
193included with your release. Be sure to trim your bug down to a tiny but
194sufficient test case. Your bug report, along with the output of C<perl -V>,
195will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f 196
87c118b9
DM
197If the bug you are reporting has security implications which make it
198inappropriate to send to a publicly archived mailing list, then see
c0ea3294
SH
199L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
200for details of how to report the issue.
44691e6f
AB
201
202=head1 SEE ALSO
203
e08634c5
SH
204The F<Changes> file for an explanation of how to view exhaustive details on
205what changed.
44691e6f
AB
206
207The F<INSTALL> file for how to build Perl.
208
209The F<README> file for general stuff.
210
211The F<Artistic> and F<Copying> files for copyright information.
212
213=cut