Commit | Line | Data |
---|---|---|
3ce6a296 S |
1 | =encoding utf8 |
2 | ||
3 | =head1 NAME | |
4 | ||
5 | perl5258delta - what is new for perl v5.25.8 | |
6 | ||
7 | =head1 DESCRIPTION | |
8 | ||
9 | This document describes differences between the 5.25.7 release and the 5.25.8 | |
10 | release. | |
11 | ||
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. | |
14 | ||
15 | =head1 Core Enhancements | |
16 | ||
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 | ||
27 | =head1 Performance Enhancements | |
28 | ||
29 | =over 4 | |
30 | ||
31 | =item * New Faster Hash Function on 64 bit builds | |
32 | ||
33 | We use a different hash function for short and long keys. This should | |
34 | improve performance and security, especially for long keys. | |
35 | ||
36 | =item * readline is faster | |
37 | ||
38 | Reading from a file line-by-line with C<readline()> or C<< E<lt>E<gt> >> should | |
39 | now typically be faster due to a better implementation of the code that | |
40 | searches for the next newline character. | |
41 | ||
42 | =back | |
43 | ||
44 | =head1 Modules and Pragmata | |
45 | ||
46 | =head2 Updated Modules and Pragmata | |
47 | ||
48 | =over 4 | |
49 | ||
50 | =item * | |
51 | ||
52 | L<Archive::Tar> has been upgraded from version 2.18 to 2.24. | |
53 | ||
54 | =item * | |
55 | ||
56 | L<B::Debug> has been upgraded from version 1.23 to 1.24. | |
57 | ||
58 | =item * | |
59 | ||
60 | L<bignum> has been upgraded from version 0.43_01 to 0.47. | |
61 | ||
62 | =item * | |
63 | ||
64 | L<Data::Dumper> has been upgraded from version 2.165 to 2.166. | |
65 | ||
66 | =item * | |
67 | ||
68 | L<Encode> has been upgraded from version 2.86 to 2.88. | |
69 | ||
70 | =item * | |
71 | ||
72 | L<encoding> has been upgraded from version 2.18 to 2.19. | |
73 | ||
74 | =item * | |
75 | ||
76 | L<IO> has been upgraded from version 1.37 to 1.38. | |
77 | ||
78 | =item * | |
79 | ||
80 | L<Locale::Codes> has been upgraded from version 3.40 to 3.42. | |
81 | ||
82 | =item * | |
83 | ||
84 | L<Math::BigInt> has been upgraded from version 1.999727 to 1.999806. | |
85 | ||
86 | =item * | |
87 | ||
88 | L<Math::BigInt::FastCalc> has been upgraded from version 0.42 to 0.5005. | |
89 | ||
90 | =item * | |
91 | ||
92 | L<Math::BigRat> has been upgraded from version 0.260804 to 0.2611. | |
93 | ||
94 | =item * | |
95 | ||
96 | L<Module::CoreList> has been upgraded from version 5.20161120 to 5.20161220. | |
97 | ||
98 | =item * | |
99 | ||
100 | L<PerlIO::scalar> has been upgraded from version 0.24 to 0.25. | |
101 | ||
102 | =item * | |
103 | ||
104 | L<Pod::Simple> has been upgraded from version 3.32 to 3.35. | |
105 | ||
106 | =item * | |
107 | ||
108 | L<POSIX> has been upgraded from version 1.75 to 1.76. | |
109 | ||
110 | =item * | |
111 | ||
112 | L<Test::Simple> has been upgraded from version 1.302062 to 1.302073. | |
113 | ||
114 | =item * | |
115 | ||
116 | L<Time::HiRes> has been upgraded from version 1.9740_03 to 1.9741. | |
117 | ||
118 | =item * | |
119 | ||
120 | L<Time::Local> has been upgraded from version 1.24 to 1.25. | |
121 | ||
122 | =item * | |
123 | ||
124 | L<Unicode::Collate> has been upgraded from version 1.18 to 1.19. | |
125 | ||
126 | =back | |
127 | ||
128 | =head1 Configuration and Compilation | |
129 | ||
130 | =over 4 | |
131 | ||
132 | =item * | |
133 | ||
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] | |
136 | ||
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 | |
142 | we have removed them and their corresponding build options. Specifically | |
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 | ||
154 | =back | |
155 | ||
156 | =head1 Acknowledgements | |
157 | ||
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. | |
161 | ||
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. | |
164 | ||
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: | |
168 | ||
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. | |
173 | ||
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. | |
178 | ||
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. | |
182 | ||
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. | |
185 | ||
186 | =head1 Reporting Bugs | |
187 | ||
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 | |
190 | L<http://www.perl.org/> , the Perl Home Page. | |
191 | ||
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. | |
196 | ||
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 | |
199 | L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> | |
200 | for details of how to report the issue. | |
201 | ||
202 | =head1 SEE ALSO | |
203 | ||
204 | The F<Changes> file for an explanation of how to view exhaustive details on | |
205 | what changed. | |
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 |