Commit | Line | Data |
---|---|---|
44691e6f AB |
1 | =encoding utf8 |
2 | ||
3 | =head1 NAME | |
4 | ||
13900f93 A |
5 | [ this is a template for a new perldelta file. Any text flagged as XXX needs |
6 | to be processed before release. ] | |
7 | ||
8 | perldelta - what is new for perl v5.21.3 | |
c68523cb | 9 | |
238894db | 10 | =head1 DESCRIPTION |
c68523cb | 11 | |
13900f93 | 12 | This document describes differences between the 5.21.2 release and the 5.21.3 |
238894db | 13 | release. |
c68523cb | 14 | |
13900f93 A |
15 | If you are upgrading from an earlier release such as 5.21.1, first read |
16 | L<perl5212delta>, which describes differences between 5.21.1 and 5.21.2. | |
17 | ||
18 | =head1 Notice | |
19 | ||
20 | XXX Any important notices here | |
7065301c | 21 | |
7065301c RS |
22 | =head1 Core Enhancements |
23 | ||
d1f01a63 | 24 | =head2 C<defined(@array = LIST)> is no longer fatal |
7e957246 | 25 | |
d1f01a63 PM |
26 | In 5.21.1, C<defined(@array)> was made fatal. This has been relaxed |
27 | to not die if the argument is assigning to an array. | |
7e957246 | 28 | |
0346c3a9 | 29 | =head1 Security |
7e957246 | 30 | |
13900f93 A |
31 | XXX Any security-related notices go here. In particular, any security |
32 | vulnerabilities closed should be noted here rather than in the | |
33 | L</Selected Bug Fixes> section. | |
34 | ||
35 | [ List each security issue as a =head2 entry ] | |
8bdb3f93 | 36 | |
13900f93 | 37 | =head1 Incompatible Changes |
8bdb3f93 | 38 | |
13900f93 | 39 | XXX For a release on a stable branch, this section aspires to be: |
8bdb3f93 | 40 | |
13900f93 A |
41 | There are no changes intentionally incompatible with 5.XXX.XXX |
42 | If any exist, they are bugs, and we request that you submit a | |
43 | report. See L</Reporting Bugs> below. | |
44 | ||
45 | [ List each incompatible change as a =head2 entry ] | |
cd209d9d | 46 | |
1178d2cf DIM |
47 | =head2 S<C<use UNIVERSAL '...'>> is now a fatal error |
48 | ||
49 | Importing functions from C<UNIVERSAL> has been deprecated since v5.12, and | |
50 | is now a fatal error. S<C<"use UNIVERSAL">> without any arguments is still | |
51 | allowed. | |
52 | ||
0346c3a9 | 53 | =head1 Deprecations |
5320b60d | 54 | |
13900f93 | 55 | XXX Any deprecated features, syntax, modules etc. should be listed here. |
36304e49 | 56 | |
13900f93 | 57 | =head2 Module removals |
7065301c | 58 | |
13900f93 | 59 | XXX Remove this section if inapplicable. |
df758df2 | 60 | |
13900f93 A |
61 | The following modules will be removed from the core distribution in a |
62 | future release, and will at that time need to be installed from CPAN. | |
63 | Distributions on CPAN which require these modules will need to list them as | |
64 | prerequisites. | |
df758df2 | 65 | |
13900f93 A |
66 | The core versions of these modules will now issue C<"deprecated">-category |
67 | warnings to alert you to this fact. To silence these deprecation warnings, | |
68 | install the modules in question from CPAN. | |
412f55bb | 69 | |
13900f93 A |
70 | Note that these are (with rare exceptions) fine modules that you are encouraged |
71 | to continue to use. Their disinclusion from core primarily hinges on their | |
72 | necessity to bootstrapping a fully functional, CPAN-capable Perl installation, | |
73 | not usually on concerns over their design. | |
412f55bb | 74 | |
13900f93 | 75 | =over |
7065301c | 76 | |
13900f93 | 77 | =item XXX |
7065301c | 78 | |
13900f93 A |
79 | XXX Note that deprecated modules should be listed here even if they are listed |
80 | as an updated module in the L</Modules and Pragmata> section. | |
d133a3dd | 81 | |
13900f93 A |
82 | =back |
83 | ||
84 | [ List each other deprecation as a =head2 entry ] | |
85 | ||
86 | =head1 Performance Enhancements | |
87 | ||
88 | XXX Changes which enhance performance without changing behaviour go here. | |
89 | There may well be none in a stable release. | |
90 | ||
91 | [ List each enhancement as a =item entry ] | |
92 | ||
93 | =over 4 | |
7065301c | 94 | |
6bb82be0 MH |
95 | =item * |
96 | ||
13900f93 | 97 | XXX |
6bb82be0 | 98 | |
7065301c RS |
99 | =back |
100 | ||
7ef8b31d | 101 | =head1 Modules and Pragmata |
f6f3144e | 102 | |
13900f93 A |
103 | XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/> |
104 | go here. If Module::CoreList is updated, generate an initial draft of the | |
105 | following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary | |
106 | for important changes should then be added by hand. In an ideal world, | |
107 | dual-life modules would have a F<Changes> file that could be cribbed. | |
2fc36bac | 108 | |
13900f93 | 109 | [ Within each section, list entries as a =item entry ] |
2fc36bac | 110 | |
13900f93 | 111 | =head2 New Modules and Pragmata |
2fc36bac | 112 | |
13900f93 | 113 | =over 4 |
24a38d90 RS |
114 | |
115 | =item * | |
116 | ||
13900f93 | 117 | XXX |
7065301c | 118 | |
13900f93 A |
119 | =back |
120 | ||
121 | =head2 Updated Modules and Pragmata | |
7065301c | 122 | |
13900f93 | 123 | =over 4 |
7065301c | 124 | |
aac7f82f A |
125 | =item * |
126 | ||
830fa6b6 | 127 | L<B::Debug> has been upgraded from version 1.19 to 1.21 |
b3e82ed1 PM |
128 | |
129 | =item * | |
130 | ||
ca58223b PM |
131 | L<Config::Perl::V> has been upgraded from version 0.20 to 0.22. |
132 | ||
133 | =item * | |
134 | ||
23b03637 PM |
135 | L<CPAN::Meta> has been upgraded from version 2.141520 to 2.142060. |
136 | ||
137 | =item * | |
138 | ||
85e8fb10 PM |
139 | L<CPAN::Meta::Requirements> has been upgraded from version 2.125 to 2.126. |
140 | ||
141 | =item * | |
142 | ||
7d19f6a1 PM |
143 | L<ExtUtils::Manifest> has been upgraded from version 1.64 to 1.65. |
144 | ||
145 | The MANIFEST is now opened with C<:raw>, to prevent C<CRLF>s leaking in. | |
146 | ||
147 | =item * | |
148 | ||
796f59e8 | 149 | L<perl5db.pl> has been upgraded from version 1.45 to 1.46. |
f7df1a8c TC |
150 | |
151 | Fixed the scope level handling of the debugger's C<y> command. | |
aac7f82f | 152 | |
0bb39c26 TC |
153 | =item * |
154 | ||
155 | L<POSIX> has been upgraded from version 1.41 to 1.42. | |
156 | ||
157 | Replaced the thread-unsafe code used to prevent duplicate warning | |
158 | messages for using the isxxx() functions. [perl #122476] | |
159 | ||
9c97a342 PM |
160 | =item * |
161 | ||
162 | L<Socket> has been upgraded from version 2.014 to 2.015. | |
163 | ||
164 | Test suite updates, particularly useful for Solaris and cygwin, and | |
165 | a slight change to the pattern used for IPv4 address matching. | |
166 | ||
13900f93 | 167 | =back |
aac7f82f | 168 | |
13900f93 A |
169 | =head2 Removed Modules and Pragmata |
170 | ||
171 | =over 4 | |
aac7f82f A |
172 | |
173 | =item * | |
174 | ||
13900f93 | 175 | XXX |
aac7f82f | 176 | |
13900f93 | 177 | =back |
aac7f82f | 178 | |
13900f93 | 179 | =head1 Documentation |
aac7f82f | 180 | |
13900f93 A |
181 | XXX Changes to files in F<pod/> go here. Consider grouping entries by |
182 | file and be sure to link to the appropriate page, e.g. L<perlfunc>. | |
aac7f82f | 183 | |
13900f93 | 184 | =head2 New Documentation |
7065301c | 185 | |
13900f93 | 186 | XXX Changes which create B<new> files in F<pod/> go here. |
7065301c | 187 | |
13900f93 | 188 | =head3 L<XXX> |
aac7f82f | 189 | |
13900f93 | 190 | XXX Description of the purpose of the new file here |
aac7f82f | 191 | |
13900f93 | 192 | =head2 Changes to Existing Documentation |
6d9b7c7c | 193 | |
13900f93 A |
194 | XXX Changes which significantly change existing files in F<pod/> go here. |
195 | However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics> | |
196 | section. | |
6d9b7c7c | 197 | |
13900f93 | 198 | =head3 L<XXX> |
7f55cec0 | 199 | |
13900f93 | 200 | =over 4 |
7f55cec0 SH |
201 | |
202 | =item * | |
203 | ||
13900f93 | 204 | XXX Description of the change here |
aac7f82f | 205 | |
13900f93 | 206 | =back |
aac7f82f | 207 | |
13900f93 | 208 | =head1 Diagnostics |
091fed7c | 209 | |
13900f93 A |
210 | The following additions or changes have been made to diagnostic output, |
211 | including warnings and fatal error messages. For the complete list of | |
212 | diagnostic messages, see L<perldiag>. | |
902c1f75 | 213 | |
13900f93 A |
214 | XXX New or changed warnings emitted by the core's C<C> code go here. Also |
215 | include any changes in L<perldiag> that reconcile it to the C<C> code. | |
2901561d | 216 | |
13900f93 | 217 | =head2 New Diagnostics |
2901561d | 218 | |
13900f93 A |
219 | XXX Newly added diagnostic messages go under here, separated into New Errors |
220 | and New Warnings | |
221 | ||
222 | =head3 New Errors | |
4594cf53 | 223 | |
13900f93 | 224 | =over 4 |
96dcbc37 DD |
225 | |
226 | =item * | |
227 | ||
13900f93 | 228 | XXX L<message|perldiag/"message"> |
7065301c | 229 | |
13900f93 | 230 | =back |
58f25ac1 | 231 | |
13900f93 A |
232 | =head3 New Warnings |
233 | ||
234 | =over 4 | |
58f25ac1 MH |
235 | |
236 | =item * | |
237 | ||
a5873648 PM |
238 | L<Hexadecimal float: exponent overflow|perldiag/"Hexadecimal float: exponent overflow"> |
239 | ||
240 | (W overflow) The hexadecimal floating point has larger exponent | |
241 | than the floating point supports. | |
242 | ||
243 | =item * | |
244 | ||
245 | L<Hexadecimal float: exponent underflow|perldiag/"Hexadecimal float: exponent underflow"> | |
246 | ||
247 | (W overflow) The hexadecimal floating point has smaller exponent | |
248 | than the floating point supports. | |
249 | ||
250 | =item * | |
251 | ||
252 | L<Hexadecimal float: internal error|perldiag/"Hexadecimal float: internal error"> | |
253 | ||
254 | (F) Something went horribly bad in hexadecimal float handling. | |
255 | ||
256 | =item * | |
257 | ||
258 | L<Hexadecimal float: mantissa overflow|perldiag/"Hexadecimal float: mantissa overflow"> | |
259 | ||
260 | (W overflow) The hexadecimal floating point literal had more bits in | |
261 | the mantissa (the part between the 0x and the exponent, also known as | |
262 | the fraction or the significand) than the floating point supports. | |
263 | ||
264 | =item * | |
265 | ||
266 | L<Hexadecimal float: precision loss|perldiag/"Hexadecimal float: precision loss"> | |
267 | ||
268 | (W overflow) The hexadecimal floating point had internally more | |
269 | digits than could be output. This can be caused by unsupported | |
270 | long double formats, or by 64-bit integers not being available | |
271 | (needed to retrieve the digits under some configurations). | |
272 | ||
273 | =item * | |
274 | ||
275 | L<Hexadecimal float: unsupported long double format|perldiag/"Hexadecimal float: unsupported long double format"> | |
276 | ||
277 | (F) You have configured Perl to use long doubles but | |
278 | the internals of the long double format are unknown, | |
279 | therefore the hexadecimal float output is impossible. | |
5bafdaa4 | 280 | |
58f25ac1 MH |
281 | =back |
282 | ||
13900f93 | 283 | =head2 Changes to Existing Diagnostics |
12042f24 | 284 | |
13900f93 | 285 | XXX Changes (i.e. rewording) of diagnostic messages go here |
b10906fb MH |
286 | |
287 | =over 4 | |
288 | ||
289 | =item * | |
290 | ||
13900f93 | 291 | XXX Describe change here |
b10906fb MH |
292 | |
293 | =back | |
294 | ||
13900f93 A |
295 | =head1 Utility Changes |
296 | ||
297 | XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here. | |
298 | Most of these are built within the directory F<utils>. | |
299 | ||
300 | [ List utility changes as a =head2 entry for each utility and =item | |
301 | entries for each change | |
302 | Use L<XXX> with program names to get proper documentation linking. ] | |
303 | ||
304 | =head2 L<XXX> | |
7065301c | 305 | |
6d9b7c7c | 306 | =over 4 |
7065301c | 307 | |
6d9b7c7c | 308 | =item * |
0346c3a9 | 309 | |
13900f93 | 310 | XXX |
7065301c | 311 | |
6d9b7c7c | 312 | =back |
0346c3a9 | 313 | |
13900f93 A |
314 | =head1 Configuration and Compilation |
315 | ||
316 | XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools | |
317 | go here. Any other changes to the Perl build process should be listed here. | |
318 | However, any platform-specific changes should be listed in the | |
319 | L</Platform Support> section, instead. | |
320 | ||
321 | [ List changes as a =item entry ]. | |
7065301c RS |
322 | |
323 | =over 4 | |
24a38d90 RS |
324 | |
325 | =item * | |
326 | ||
a5873648 | 327 | Internal handling of floating point values has been improved. |
7065301c RS |
328 | |
329 | =back | |
330 | ||
13900f93 | 331 | =head1 Testing |
6d9b7c7c | 332 | |
13900f93 A |
333 | XXX Any significant changes to the testing of a freshly built perl should be |
334 | listed here. Changes which create B<new> files in F<t/> go here as do any | |
335 | large changes to the testing harness (e.g. when parallel testing was added). | |
336 | Changes to existing files in F<t/> aren't worth summarizing, although the bugs | |
337 | that they represent may be covered elsewhere. | |
6d9b7c7c | 338 | |
13900f93 | 339 | [ List each test improvement as a =item entry ] |
7065301c RS |
340 | |
341 | =over 4 | |
24a38d90 RS |
342 | |
343 | =item * | |
344 | ||
13900f93 | 345 | XXX |
48867f3d | 346 | |
13900f93 | 347 | =back |
28462159 | 348 | |
13900f93 | 349 | =head1 Platform Support |
097675bf | 350 | |
13900f93 | 351 | XXX Any changes to platform support should be listed in the sections below. |
b3211734 | 352 | |
13900f93 A |
353 | [ Within the sections, list each platform as a =item entry with specific |
354 | changes as paragraphs below it. ] | |
b3211734 | 355 | |
13900f93 | 356 | =head2 New Platforms |
24a38d90 | 357 | |
13900f93 A |
358 | XXX List any platforms that this version of perl compiles on, that previous |
359 | versions did not. These will either be enabled by new files in the F<hints/> | |
360 | directories, or new subdirectories and F<README> files at the top level of the | |
361 | source tree. | |
b08d439a | 362 | |
0346c3a9 | 363 | =over 4 |
747b6130 | 364 | |
13900f93 | 365 | =item XXX-some-platform |
747b6130 | 366 | |
13900f93 | 367 | XXX |
7065301c RS |
368 | |
369 | =back | |
370 | ||
13900f93 A |
371 | =head2 Discontinued Platforms |
372 | ||
373 | XXX List any platforms that this version of perl no longer compiles on. | |
0346c3a9 | 374 | |
7065301c RS |
375 | =over 4 |
376 | ||
13900f93 | 377 | =item XXX-some-platform |
24a38d90 | 378 | |
13900f93 | 379 | XXX |
7065301c RS |
380 | |
381 | =back | |
382 | ||
7065301c RS |
383 | =head2 Platform-Specific Notes |
384 | ||
13900f93 A |
385 | XXX List any changes for specific platforms. This could include configuration |
386 | and compilation changes or changes in portability/compatibility. However, | |
387 | changes within modules for platforms should generally be listed in the | |
388 | L</Modules and Pragmata> section. | |
389 | ||
0346c3a9 | 390 | =over 4 |
7d0ccdba | 391 | |
13900f93 | 392 | =item XXX-some-platform |
7d0ccdba | 393 | |
13900f93 | 394 | XXX |
7d0ccdba | 395 | |
7065301c RS |
396 | =back |
397 | ||
398 | =head1 Internal Changes | |
399 | ||
13900f93 A |
400 | XXX Changes which affect the interface available to C<XS> code go here. Other |
401 | significant internal changes for future core maintainers should be noted as | |
402 | well. | |
c9fcb674 | 403 | |
13900f93 | 404 | [ List each change as a =item entry ] |
ddeaf645 | 405 | |
13900f93 | 406 | =over 4 |
c9fcb674 | 407 | |
a835cd47 KW |
408 | =item * |
409 | ||
d8bcb4d6 KW |
410 | Added L<perlapi/sync_locale>. |
411 | Changing the program's locale should be avoided by XS code. Nevertheless, | |
412 | certain non-Perl libraries called from XS, such as C<Gtk> do so. When this | |
413 | happens, Perl needs to be told that the locale has changed. Use this function | |
414 | to do so, before returning to Perl. | |
c1284011 | 415 | |
6d9b7c7c | 416 | =back |
c1284011 | 417 | |
6d9b7c7c | 418 | =head1 Selected Bug Fixes |
375f5f06 | 419 | |
13900f93 A |
420 | XXX Important bug fixes in the core language are summarized here. Bug fixes in |
421 | files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>. | |
422 | ||
423 | [ List each fix as a =item entry ] | |
424 | ||
0346c3a9 | 425 | =over 4 |
375f5f06 | 426 | |
2884baee MH |
427 | =item * |
428 | ||
0dd816ae TC |
429 | Failing to compile C<use Foo> in an eval could leave a spurious |
430 | C<BEGIN> subroutine definition, which would produce a "Subroutine | |
431 | BEGIN redefined" warning on the next use of C<use>, or other C<BEGIN> | |
432 | block. [perl #122107] | |
2884baee | 433 | |
b756670b FC |
434 | =item * |
435 | ||
436 | C<method { BLOCK } ARGS> syntax now correctly parses the arguments if they | |
437 | begin with an opening brace. [perl #46947] | |
438 | ||
13900f93 A |
439 | =back |
440 | ||
441 | =head1 Known Problems | |
442 | ||
443 | XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any | |
444 | tests that had to be C<TODO>ed for the release would be noted here. Unfixed | |
445 | platform specific bugs also go here. | |
5af51eb4 | 446 | |
13900f93 A |
447 | [ List each fix as a =item entry ] |
448 | ||
449 | =over 4 | |
5af51eb4 | 450 | |
412f55bb KW |
451 | =item * |
452 | ||
13900f93 | 453 | XXX |
412f55bb | 454 | |
7065301c RS |
455 | =back |
456 | ||
13900f93 | 457 | =head1 Errata From Previous Releases |
24a38d90 | 458 | |
13900f93 A |
459 | =over 4 |
460 | ||
461 | =item * | |
e831f11a | 462 | |
13900f93 A |
463 | XXX Add anything here that we forgot to add, or were mistaken about, in |
464 | the perldelta of a previous release. | |
e831f11a | 465 | |
13900f93 A |
466 | =back |
467 | ||
468 | =head1 Obituary | |
e831f11a | 469 | |
13900f93 A |
470 | XXX If any significant core contributor has died, we've added a short obituary |
471 | here. | |
e831f11a | 472 | |
13900f93 | 473 | =head1 Acknowledgements |
e831f11a | 474 | |
13900f93 | 475 | XXX Generate this with: |
e831f11a | 476 | |
13900f93 | 477 | perl Porting/acknowledgements.pl v5.21.2..HEAD |
f5b73711 | 478 | |
44691e6f AB |
479 | =head1 Reporting Bugs |
480 | ||
e08634c5 SH |
481 | If you find what you think is a bug, you might check the articles recently |
482 | posted to the comp.lang.perl.misc newsgroup and the perl bug database at | |
238894db | 483 | https://rt.perl.org/ . There may also be information at |
7ef8b31d | 484 | http://www.perl.org/ , the Perl Home Page. |
44691e6f | 485 | |
e08634c5 SH |
486 | If you believe you have an unreported bug, please run the L<perlbug> program |
487 | included with your release. Be sure to trim your bug down to a tiny but | |
488 | sufficient test case. Your bug report, along with the output of C<perl -V>, | |
489 | will be sent off to perlbug@perl.org to be analysed by the Perl porting team. | |
44691e6f AB |
490 | |
491 | If the bug you are reporting has security implications, which make it | |
e08634c5 SH |
492 | inappropriate to send to a publicly archived mailing list, then please send it |
493 | to perl5-security-report@perl.org. This points to a closed subscription | |
494 | unarchived mailing list, which includes all the core committers, who will be | |
495 | able to help assess the impact of issues, figure out a resolution, and help | |
f9001595 | 496 | co-ordinate the release of patches to mitigate or fix the problem across all |
e08634c5 SH |
497 | platforms on which Perl is supported. Please only use this address for |
498 | security issues in the Perl core, not for modules independently distributed on | |
499 | CPAN. | |
44691e6f AB |
500 | |
501 | =head1 SEE ALSO | |
502 | ||
e08634c5 SH |
503 | The F<Changes> file for an explanation of how to view exhaustive details on |
504 | what changed. | |
44691e6f AB |
505 | |
506 | The F<INSTALL> file for how to build Perl. | |
507 | ||
508 | The F<README> file for general stuff. | |
509 | ||
510 | The F<Artistic> and F<Copying> files for copyright information. | |
511 | ||
512 | =cut |