Commit | Line | Data |
---|---|---|
373fec1e SH |
1 | =encoding utf8 |
2 | ||
3 | =head1 NAME | |
4 | ||
5 | perl5291delta - what is new for perl v5.29.1 | |
6 | ||
7 | =head1 DESCRIPTION | |
8 | ||
9 | This document describes differences between the 5.29.0 release and the 5.29.1 | |
10 | release. | |
11 | ||
12 | If you are upgrading from an earlier release such as 5.28.0, first read | |
13 | L<perl5290delta>, which describes differences between 5.28.0 and 5.29.0. | |
14 | ||
15 | =head1 Incompatible Changes | |
16 | ||
17 | =head2 Delimiters must now be graphemes | |
18 | ||
19 | See L<perldeprecation/Use of unassigned code point or non-standalone grapheme | |
20 | for a delimiter.> | |
21 | ||
22 | =head2 Some formerly deprecated uses of an unescaped left brace C<"{"> in | |
23 | regular expression patterns are now illegal | |
24 | ||
25 | But to avoid breaking code unnecessarily, most instances that issued a | |
26 | deprecation warning, remain legal and now have a non-deprecation warning | |
27 | raised. See L<perldeprecation/Unescaped left braces in regular expressions>. | |
28 | ||
29 | =head1 Performance Enhancements | |
30 | ||
31 | =over 4 | |
32 | ||
33 | =item * | |
34 | ||
35 | Translating from UTF-8 into the code point it represents now is done via a | |
36 | deterministic finite automaton, speeding it up. As a typical example, | |
37 | C<ord("\x7fff")> now requires 12% fewer instructions than before. The | |
38 | performance of checking that a sequence of bytes is valid UTF-8 is similarly | |
39 | improved, again by using a dfa. | |
40 | ||
41 | =back | |
42 | ||
43 | =head1 Modules and Pragmata | |
44 | ||
45 | =head2 Updated Modules and Pragmata | |
46 | ||
47 | =over 4 | |
48 | ||
49 | =item * | |
50 | ||
51 | L<bignum> has been upgraded from version 0.49 to 0.50. | |
52 | ||
53 | =item * | |
54 | ||
55 | L<Compress::Raw::Bzip2> has been upgraded from version 2.074 to 2.081. | |
56 | ||
57 | =item * | |
58 | ||
59 | L<Compress::Raw::Zlib> has been upgraded from version 2.076 to 2.081. | |
60 | ||
61 | =item * | |
62 | ||
63 | L<Config::Perl::V> has been upgraded from version 0.29 to 0.30. | |
64 | ||
65 | =item * | |
66 | ||
67 | L<DB_File> has been upgraded from version 1.840 to 1.842. | |
68 | ||
69 | =item * | |
70 | ||
71 | L<Devel::PPPort> has been upgraded from version 3.40 to 3.42. | |
72 | ||
73 | =item * | |
74 | ||
75 | L<Digest::SHA> has been upgraded from version 6.01 to 6.02. | |
76 | ||
77 | =item * | |
78 | ||
79 | L<experimental> has been upgraded from version 0.019 to 0.020. | |
80 | ||
81 | =item * | |
82 | ||
83 | L<ExtUtils::Manifest> has been upgraded from version 1.70 to 1.71. | |
84 | ||
85 | =item * | |
86 | ||
87 | L<File::Temp> has been upgraded from version 0.2304 to 0.2308. | |
88 | ||
89 | =item * | |
90 | ||
91 | IO-Compress has been upgraded from version 2.074 to 2.081. | |
92 | ||
93 | =item * | |
94 | ||
95 | L<IPC::Cmd> has been upgraded from version 1.00 to 1.02. | |
96 | ||
97 | =item * | |
98 | ||
99 | L<Locale::Codes> has been upgraded from version 3.56 to 3.57. | |
100 | ||
101 | =item * | |
102 | ||
103 | L<Math::BigInt> has been upgraded from version 1.999811 to 1.999813. | |
104 | ||
105 | =item * | |
106 | ||
107 | L<Math::BigInt::FastCalc> has been upgraded from version 0.5006 to 0.5007. | |
108 | ||
109 | =item * | |
110 | ||
111 | L<Math::BigRat> has been upgraded from version 0.2613 to 0.2614. | |
112 | ||
113 | =item * | |
114 | ||
115 | L<Module::CoreList> has been upgraded from version 5.20180626 to 5.20180720. | |
116 | ||
117 | =item * | |
118 | ||
119 | L<parent> has been upgraded from version 0.236 to 0.237. | |
120 | ||
121 | =item * | |
122 | ||
123 | L<perlfaq> has been upgraded from version 5.021011 to 5.20180605. | |
124 | ||
125 | =item * | |
126 | ||
127 | podlators has been upgraded from version 4.10 to 4.11. | |
128 | ||
129 | =item * | |
130 | ||
131 | L<Storable> has been upgraded from version 3.08 to 3.11. | |
132 | ||
133 | =item * | |
134 | ||
135 | L<Test::Simple> has been upgraded from version 1.302133 to 1.302138. | |
136 | ||
137 | =item * | |
138 | ||
139 | L<Thread::Queue> has been upgraded from version 3.12 to 3.13. | |
140 | ||
141 | =item * | |
142 | ||
143 | L<Time::Local> has been upgraded from version 1.25 to 1.28. | |
144 | ||
145 | =item * | |
146 | ||
147 | L<version> has been upgraded from version 0.9923 to 0.9924. | |
148 | ||
149 | =back | |
150 | ||
151 | =head1 Documentation | |
152 | ||
153 | =head2 Changes to Existing Documentation | |
154 | ||
155 | We have attempted to update the documentation to reflect the changes listed in | |
156 | this document. If you find any we have missed, send email to | |
157 | L<perlbug@perl.org|mailto:perlbug@perl.org>. | |
158 | ||
159 | Additionally, the following selected changes have been made: | |
160 | ||
161 | =head3 L<perlapi> | |
162 | ||
163 | =over 4 | |
164 | ||
165 | =item * | |
166 | ||
167 | C<AvFILL()> was wrongly listed as deprecated. This has been corrected. | |
168 | L<[perl #133278]|https://rt.perl.org/Ticket/Display.html?id=133278> | |
169 | ||
170 | =back | |
171 | ||
172 | =head3 L<perlop> | |
173 | ||
174 | =over 4 | |
175 | ||
176 | =item * | |
177 | ||
178 | The behaviour of C<tr> when the delimiter is an apostrophe has been clarified. | |
179 | In particular, hyphens aren't special, and C<\x{}> isn't interpolated. | |
180 | L<[perl #130679]|https://rt.perl.org/Ticket/Display.html?id=130679> | |
181 | ||
182 | =back | |
183 | ||
184 | =head1 Diagnostics | |
185 | ||
186 | The following additions or changes have been made to diagnostic output, | |
187 | including warnings and fatal error messages. For the complete list of | |
188 | diagnostic messages, see L<perldiag>. | |
189 | ||
190 | =head2 Changes to Existing Diagnostics | |
191 | ||
192 | =over 4 | |
193 | ||
194 | =item * | |
195 | ||
196 | As noted under L<Incompatible Changes> above, the deprecation warning | |
197 | "Unescaped left brace in regex is deprecated here (and will be fatal in Perl | |
198 | 5.30), passed through in regex; marked by S<<-- HERE> in m/%s/" has been | |
199 | changed to the non-deprecation warning "Unescaped left brace in regex is passed | |
200 | through in regex; marked by S<<-- HERE> in m/%s/". | |
201 | ||
202 | =back | |
203 | ||
204 | =head1 Testing | |
205 | ||
206 | Tests were added and changed to reflect the other additions and changes in this | |
207 | release. | |
208 | ||
209 | =head1 Platform Support | |
210 | ||
211 | =head2 Platform-Specific Notes | |
212 | ||
213 | =over 4 | |
214 | ||
215 | =item HP-UX 11.11 | |
216 | ||
217 | An obscure problem in C<pack()> when compiling with HP C-ANSI-C has been fixed | |
218 | by disabling optimizations in F<pp_pack.c>. | |
219 | ||
220 | =item Windows | |
221 | ||
222 | =over 4 | |
223 | ||
224 | =item * | |
225 | ||
226 | The C<USE_CPLUSPLUS> build option which has long been available in | |
227 | F<win32/Makefile> (for B<nmake>) and F<win32/makefile.mk> (for B<dmake>) is now | |
228 | also available in F<win32/GNUmakefile> (for B<gmake>). | |
229 | ||
230 | =item * | |
231 | ||
232 | The B<nmake> makefile no longer defaults to Visual C++ 6.0 (a very old version | |
233 | which is unlikely to be widely used today). As a result, it is now a | |
234 | requirement to specify the C<CCTYPE> since there is no obvious choice of which | |
235 | modern version to default to instead. Failure to specify C<CCTYPE> will result | |
236 | in an error being output and the build will stop. | |
237 | ||
238 | (The B<dmake> and B<gmake> makefiles will automatically detect which compiler | |
239 | is being used, so do not require C<CCTYPE> to be set. This feature has not yet | |
240 | been added to the B<nmake> makefile.) | |
241 | ||
242 | =back | |
243 | ||
244 | =back | |
245 | ||
246 | =head1 Selected Bug Fixes | |
247 | ||
248 | =over 4 | |
249 | ||
250 | =item * | |
251 | ||
252 | Compilation under C<-DPERL_MEM_LOG> and C<-DNO_LOCALE> have been fixed. | |
253 | ||
254 | =item * | |
255 | ||
256 | Perl 5.28 introduced an C<index()> optimization when comparing to -1 (or | |
257 | indirectly, e.g. >= 0). When this optimization was triggered inside a C<when> | |
258 | clause it caused a warning ("Argument %s isn't numeric in smart match"). This | |
259 | has now been fixed. | |
260 | L<[perl #133368]|https://rt.perl.org/Ticket/Display.html?id=133368> | |
261 | ||
262 | =back | |
263 | ||
264 | =head1 Acknowledgements | |
265 | ||
266 | Perl 5.29.1 represents approximately 3 weeks of development since Perl 5.29.0 | |
267 | and contains approximately 68,000 lines of changes across 510 files from 18 | |
268 | authors. | |
269 | ||
270 | Excluding auto-generated files, documentation and release tools, there were | |
271 | approximately 62,000 lines of changes to 320 .pm, .t, .c and .h files. | |
272 | ||
273 | Perl continues to flourish into its fourth decade thanks to a vibrant community | |
274 | of users and developers. The following people are known to have contributed the | |
275 | improvements that became Perl 5.29.1: | |
276 | ||
277 | Chris 'BinGOs' Williams, Craig A. Berry, Dagfinn Ilmari Mannsåker, Daniel | |
278 | Dragan, David Mitchell, François Perrad, H.Merijn Brand, Hugo van der Sanden, | |
279 | James E Keenan, Jerry D. Hedden, Jim Cromie, Karen Etheridge, Karl Williamson, | |
280 | Nicholas Clark, Sawyer X, Steve Hay, Tina Müller, Yves Orton. | |
281 | ||
282 | The list above is almost certainly incomplete as it is automatically generated | |
283 | from version control history. In particular, it does not include the names of | |
284 | the (very much appreciated) contributors who reported issues to the Perl bug | |
285 | tracker. | |
286 | ||
287 | Many of the changes included in this version originated in the CPAN modules | |
288 | included in Perl's core. We're grateful to the entire CPAN community for | |
289 | helping Perl to flourish. | |
290 | ||
291 | For a more complete list of all of Perl's historical contributors, please see | |
292 | the F<AUTHORS> file in the Perl source distribution. | |
293 | ||
294 | =head1 Reporting Bugs | |
295 | ||
296 | If you find what you think is a bug, you might check the perl bug database at | |
297 | L<https://rt.perl.org/> . There may also be information at | |
298 | L<http://www.perl.org/> , the Perl Home Page. | |
299 | ||
300 | If you believe you have an unreported bug, please run the L<perlbug> program | |
301 | included with your release. Be sure to trim your bug down to a tiny but | |
302 | sufficient test case. Your bug report, along with the output of C<perl -V>, | |
303 | will be sent off to perlbug@perl.org to be analysed by the Perl porting team. | |
304 | ||
305 | If the bug you are reporting has security implications which make it | |
306 | inappropriate to send to a publicly archived mailing list, then see | |
307 | L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> for details of how to | |
308 | report the issue. | |
309 | ||
310 | =head1 Give Thanks | |
311 | ||
312 | If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, you | |
313 | can do so by running the C<perlthanks> program: | |
314 | ||
315 | perlthanks | |
316 | ||
317 | This will send an email to the Perl 5 Porters list with your show of thanks. | |
318 | ||
319 | =head1 SEE ALSO | |
320 | ||
321 | The F<Changes> file for an explanation of how to view exhaustive details on | |
322 | what changed. | |
323 | ||
324 | The F<INSTALL> file for how to build Perl. | |
325 | ||
326 | The F<README> file for general stuff. | |
327 | ||
328 | The F<Artistic> and F<Copying> files for copyright information. | |
329 | ||
330 | =cut |