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