Commit | Line | Data |
---|---|---|
44691e6f AB |
1 | =encoding utf8 |
2 | ||
3 | =head1 NAME | |
4 | ||
915366d4 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.27.9 | |
89853d76 | 9 | |
b5cbfe35 | 10 | =head1 DESCRIPTION |
89853d76 | 11 | |
915366d4 | 12 | This document describes differences between the 5.27.8 release and the 5.27.9 |
b5cbfe35 | 13 | release. |
89853d76 | 14 | |
915366d4 A |
15 | If you are upgrading from an earlier release such as 5.27.7, first read |
16 | L<perl5278delta>, which describes differences between 5.27.7 and 5.27.8. | |
ae047103 | 17 | |
915366d4 | 18 | =head1 Notice |
ae047103 | 19 | |
915366d4 | 20 | XXX Any important notices here |
034602eb | 21 | |
915366d4 | 22 | =head1 Core Enhancements |
034602eb | 23 | |
915366d4 A |
24 | XXX New core language features go here. Summarize user-visible core language |
25 | enhancements. Particularly prominent performance optimisations could go | |
26 | here, but most should go in the L</Performance Enhancements> section. | |
219ba69c | 27 | |
915366d4 | 28 | [ List each enhancement as a =head2 entry ] |
219ba69c | 29 | |
f512d242 KW |
30 | =head2 New read-only predefined variable C<${^SAFE_LOCALES}> |
31 | ||
32 | This variable is 1 if the Perl interpreter is operating in an | |
33 | environment where it is safe to use and change locales (see | |
34 | L<perllocale>.) Currently this is true only when the perl is | |
35 | unthreaded. | |
36 | ||
915366d4 | 37 | =head1 Security |
219ba69c | 38 | |
915366d4 A |
39 | XXX Any security-related notices go here. In particular, any security |
40 | vulnerabilities closed should be noted here rather than in the | |
41 | L</Selected Bug Fixes> section. | |
219ba69c | 42 | |
915366d4 | 43 | [ List each security issue as a =head2 entry ] |
219ba69c | 44 | |
915366d4 | 45 | =head1 Incompatible Changes |
219ba69c | 46 | |
915366d4 | 47 | XXX For a release on a stable branch, this section aspires to be: |
219ba69c | 48 | |
915366d4 A |
49 | There are no changes intentionally incompatible with 5.XXX.XXX |
50 | If any exist, they are bugs, and we request that you submit a | |
51 | report. See L</Reporting Bugs> below. | |
219ba69c | 52 | |
915366d4 | 53 | [ List each incompatible change as a =head2 entry ] |
219ba69c | 54 | |
915366d4 | 55 | =head1 Deprecations |
219ba69c | 56 | |
915366d4 | 57 | XXX Any deprecated features, syntax, modules etc. should be listed here. |
15397007 | 58 | |
915366d4 | 59 | =head2 Module removals |
3e6fc602 | 60 | |
915366d4 | 61 | XXX Remove this section if not applicable. |
3e6fc602 | 62 | |
915366d4 A |
63 | The following modules will be removed from the core distribution in a |
64 | future release, and will at that time need to be installed from CPAN. | |
65 | Distributions on CPAN which require these modules will need to list them as | |
66 | prerequisites. | |
a8e51187 | 67 | |
915366d4 A |
68 | The core versions of these modules will now issue C<"deprecated">-category |
69 | warnings to alert you to this fact. To silence these deprecation warnings, | |
70 | install the modules in question from CPAN. | |
a8e51187 | 71 | |
915366d4 A |
72 | Note that these are (with rare exceptions) fine modules that you are encouraged |
73 | to continue to use. Their disinclusion from core primarily hinges on their | |
74 | necessity to bootstrapping a fully functional, CPAN-capable Perl installation, | |
75 | not usually on concerns over their design. | |
a8e51187 | 76 | |
915366d4 | 77 | =over |
a8e51187 | 78 | |
915366d4 | 79 | =item XXX |
a8e51187 | 80 | |
915366d4 A |
81 | XXX Note that deprecated modules should be listed here even if they are listed |
82 | as an updated module in the L</Modules and Pragmata> section. | |
ba52ce15 | 83 | |
915366d4 | 84 | =back |
ba52ce15 | 85 | |
915366d4 | 86 | [ List each other deprecation as a =head2 entry ] |
ba52ce15 | 87 | |
915366d4 | 88 | =head1 Performance Enhancements |
0367231c | 89 | |
915366d4 A |
90 | XXX Changes which enhance performance without changing behaviour go here. |
91 | There may well be none in a stable release. | |
0367231c | 92 | |
915366d4 | 93 | [ List each enhancement as an =item entry ] |
8841d380 | 94 | |
4ec06e46 | 95 | =over 4 |
2707ab55 CBW |
96 | |
97 | =item * | |
98 | ||
915366d4 | 99 | XXX |
2707ab55 | 100 | |
4ec06e46 | 101 | =back |
2707ab55 | 102 | |
4ec06e46 | 103 | =head1 Modules and Pragmata |
2707ab55 | 104 | |
915366d4 A |
105 | XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/> |
106 | go here. If Module::CoreList is updated, generate an initial draft of the | |
107 | following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary | |
108 | for important changes should then be added by hand. In an ideal world, | |
109 | dual-life modules would have a F<Changes> file that could be cribbed. | |
c933e4bb | 110 | |
915366d4 A |
111 | The list of new and updated modules is modified automatically as part of |
112 | preparing a Perl release, so the only reason to manually add entries here is if | |
113 | you're summarising the important changes in the module update. (Also, if the | |
114 | manually-added details don't match the automatically-generated ones, the | |
115 | release manager will have to investigate the situation carefully.) | |
b2a6778b | 116 | |
915366d4 | 117 | [ Within each section, list entries as an =item entry ] |
2707ab55 | 118 | |
915366d4 | 119 | =head2 New Modules and Pragmata |
b2a6778b | 120 | |
915366d4 | 121 | =over 4 |
a69078af A |
122 | |
123 | =item * | |
9a84a9ba | 124 | |
915366d4 | 125 | XXX Remove this section if not applicable. |
a69078af | 126 | |
915366d4 | 127 | =back |
a69078af | 128 | |
915366d4 | 129 | =head2 Updated Modules and Pragmata |
a69078af | 130 | |
915366d4 | 131 | =over 4 |
9a84a9ba | 132 | |
8c7aa727 JK |
133 | =item * |
134 | ||
915366d4 | 135 | L<XXX> has been upgraded from version A.xx to B.yy. |
2707ab55 | 136 | |
915366d4 | 137 | If there was something important to note about this change, include that here. |
64b9a139 | 138 | |
915366d4 | 139 | =back |
a69078af | 140 | |
915366d4 | 141 | =head2 Removed Modules and Pragmata |
a69078af | 142 | |
915366d4 | 143 | =over 4 |
a69078af A |
144 | |
145 | =item * | |
146 | ||
915366d4 | 147 | XXX |
e6a2e5ca | 148 | |
915366d4 | 149 | =back |
b2a6778b | 150 | |
915366d4 | 151 | =head1 Documentation |
a69078af | 152 | |
915366d4 A |
153 | XXX Changes to files in F<pod/> go here. Consider grouping entries by |
154 | file and be sure to link to the appropriate page, e.g. L<perlfunc>. | |
a69078af | 155 | |
915366d4 | 156 | =head2 New Documentation |
a69078af | 157 | |
915366d4 | 158 | XXX Changes which create B<new> files in F<pod/> go here. |
b2a6778b | 159 | |
915366d4 | 160 | =head3 L<XXX> |
2707ab55 | 161 | |
915366d4 | 162 | XXX Description of the purpose of the new file here |
2707ab55 | 163 | |
25219f3f | 164 | =head2 Changes to Existing Documentation |
b2a6778b | 165 | |
25219f3f KE |
166 | We have attempted to update the documentation to reflect the changes |
167 | listed in this document. If you find any we have missed, send email | |
168 | to L<perlbug@perl.org|mailto:perlbug@perl.org>. | |
b2a6778b | 169 | |
915366d4 A |
170 | XXX Changes which significantly change existing files in F<pod/> go here. |
171 | However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics> | |
172 | section. | |
173 | ||
4ec06e46 | 174 | Additionally, the following selected changes have been made: |
86e03141 | 175 | |
915366d4 | 176 | =head3 L<XXX> |
86e03141 | 177 | |
4ec06e46 | 178 | =over 4 |
01d02537 | 179 | |
4ec06e46 | 180 | =item * |
01d02537 | 181 | |
915366d4 | 182 | XXX Description of the change here |
8e14f284 | 183 | |
915366d4 | 184 | =back |
8e14f284 | 185 | |
915366d4 | 186 | =head1 Diagnostics |
8e14f284 | 187 | |
915366d4 A |
188 | The following additions or changes have been made to diagnostic output, |
189 | including warnings and fatal error messages. For the complete list of | |
190 | diagnostic messages, see L<perldiag>. | |
8e14f284 | 191 | |
915366d4 A |
192 | XXX New or changed warnings emitted by the core's C<C> code go here. Also |
193 | include any changes in L<perldiag> that reconcile it to the C<C> code. | |
8e14f284 | 194 | |
915366d4 | 195 | =head2 New Diagnostics |
4914bebe | 196 | |
915366d4 A |
197 | XXX Newly added diagnostic messages go under here, separated into New Errors |
198 | and New Warnings | |
4914bebe | 199 | |
915366d4 | 200 | =head3 New Errors |
b2a6778b | 201 | |
25219f3f | 202 | =over 4 |
b2a6778b KE |
203 | |
204 | =item * | |
205 | ||
915366d4 | 206 | XXX L<message|perldiag/"message"> |
b2a6778b | 207 | |
25219f3f | 208 | =back |
b2a6778b | 209 | |
915366d4 | 210 | =head3 New Warnings |
b2a6778b | 211 | |
25219f3f | 212 | =over 4 |
64b9a139 SH |
213 | |
214 | =item * | |
215 | ||
8b7358b9 KW |
216 | L<Locale '%s' contains (at least) the following characters which have |
217 | non-standard meanings: %s The Perl program will use the standard | |
218 | meanings|perldiag/"Locale '%s' contains (at least) the following | |
219 | characters which have non-standard meanings: %s The Perl program will | |
220 | use the standard meanings">. | |
64b9a139 | 221 | |
e6a2e5ca | 222 | =back |
64b9a139 | 223 | |
915366d4 A |
224 | =head2 Changes to Existing Diagnostics |
225 | ||
226 | XXX Changes (i.e. rewording) of diagnostic messages go here | |
4ec06e46 | 227 | |
04f89ea7 Z |
228 | =over 4 |
229 | ||
64b9a139 SH |
230 | =item * |
231 | ||
915366d4 | 232 | XXX Describe change here |
9fca523d | 233 | |
4ec06e46 | 234 | =back |
9fca523d | 235 | |
915366d4 | 236 | =head1 Utility Changes |
52e3acf8 | 237 | |
915366d4 A |
238 | XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here. |
239 | Most of these are built within the directory F<utils>. | |
4ec06e46 | 240 | |
915366d4 A |
241 | [ List utility changes as a =head2 entry for each utility and =item |
242 | entries for each change | |
243 | Use L<XXX> with program names to get proper documentation linking. ] | |
cab9f0b0 | 244 | |
915366d4 | 245 | =head2 L<XXX> |
4ec06e46 CBW |
246 | |
247 | =over 4 | |
cab9f0b0 | 248 | |
9deb4e0b Z |
249 | =item * |
250 | ||
915366d4 | 251 | XXX |
64b9a139 | 252 | |
0a72295b | 253 | =back |
4ec06e46 | 254 | |
915366d4 A |
255 | =head1 Configuration and Compilation |
256 | ||
257 | XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools | |
258 | go here. Any other changes to the Perl build process should be listed here. | |
259 | However, any platform-specific changes should be listed in the | |
260 | L</Platform Support> section, instead. | |
261 | ||
262 | [ List changes as an =item entry ]. | |
4ec06e46 | 263 | |
e6a2e5ca | 264 | =over 4 |
64b9a139 SH |
265 | |
266 | =item * | |
267 | ||
915366d4 | 268 | XXX |
a8d9a219 | 269 | |
e6a2e5ca SH |
270 | =back |
271 | ||
4ec06e46 | 272 | =head1 Testing |
dea26044 | 273 | |
915366d4 A |
274 | XXX Any significant changes to the testing of a freshly built perl should be |
275 | listed here. Changes which create B<new> files in F<t/> go here as do any | |
276 | large changes to the testing harness (e.g. when parallel testing was added). | |
277 | Changes to existing files in F<t/> aren't worth summarizing, although the bugs | |
278 | that they represent may be covered elsewhere. | |
279 | ||
280 | XXX If there were no significant test changes, say this: | |
281 | ||
282 | Tests were added and changed to reflect the other additions and changes | |
283 | in this release. | |
284 | ||
285 | XXX If instead there were significant changes, say this: | |
286 | ||
4ec06e46 CBW |
287 | Tests were added and changed to reflect the other additions and |
288 | changes in this release. Furthermore, these significant changes were | |
289 | made: | |
a8ba758d | 290 | |
915366d4 A |
291 | [ List each test improvement as an =item entry ] |
292 | ||
25219f3f | 293 | =over 4 |
a8ba758d | 294 | |
ee5287f6 LM |
295 | =item * |
296 | ||
2a897ae9 TC |
297 | F<harness> no longer waits for 30 seconds when running |
298 | F<t/io/openpid.t>. [perl #121028][perl #132867] | |
59eb8be1 | 299 | |
4ec06e46 | 300 | =back |
59eb8be1 | 301 | |
4ec06e46 | 302 | =head1 Platform Support |
ee5287f6 | 303 | |
915366d4 A |
304 | XXX Any changes to platform support should be listed in the sections below. |
305 | ||
306 | [ Within the sections, list each platform as an =item entry with specific | |
307 | changes as paragraphs below it. ] | |
308 | ||
309 | =head2 New Platforms | |
310 | ||
311 | XXX List any platforms that this version of perl compiles on, that previous | |
312 | versions did not. These will either be enabled by new files in the F<hints/> | |
313 | directories, or new subdirectories and F<README> files at the top level of the | |
314 | source tree. | |
e6a2e5ca | 315 | |
25219f3f | 316 | =over 4 |
e6a2e5ca | 317 | |
915366d4 | 318 | =item XXX-some-platform |
4faa3060 | 319 | |
915366d4 | 320 | XXX |
e1b825c1 | 321 | |
1d60dc3f CB |
322 | =item VMS |
323 | ||
324 | CRTL features can now be set by embedders before invoking Perl by using the | |
325 | C<decc$feature_set> and C<decc$feature_set_value> functions. Previously any attempt | |
326 | to set features after image initialization were ignored. | |
327 | ||
915366d4 | 328 | =back |
66d3c925 | 329 | |
915366d4 | 330 | =head2 Discontinued Platforms |
66d3c925 | 331 | |
915366d4 A |
332 | XXX List any platforms that this version of perl no longer compiles on. |
333 | ||
334 | =over 4 | |
4dab62e3 | 335 | |
915366d4 | 336 | =item XXX-some-platform |
4dab62e3 | 337 | |
915366d4 | 338 | XXX |
1b16b015 | 339 | |
4ec06e46 | 340 | =back |
1b16b015 | 341 | |
915366d4 A |
342 | =head2 Platform-Specific Notes |
343 | ||
344 | XXX List any changes for specific platforms. This could include configuration | |
345 | and compilation changes or changes in portability/compatibility. However, | |
346 | changes within modules for platforms should generally be listed in the | |
347 | L</Modules and Pragmata> section. | |
acbb539d DM |
348 | |
349 | =over 4 | |
350 | ||
915366d4 | 351 | =item XXX-some-platform |
acbb539d | 352 | |
915366d4 | 353 | XXX |
acbb539d DM |
354 | |
355 | =back | |
356 | ||
915366d4 | 357 | =head1 Internal Changes |
64def2ae | 358 | |
915366d4 A |
359 | XXX Changes which affect the interface available to C<XS> code go here. Other |
360 | significant internal changes for future core maintainers should be noted as | |
361 | well. | |
9a40fcb6 | 362 | |
915366d4 | 363 | [ List each change as an =item entry ] |
d679c20f | 364 | |
915366d4 | 365 | =over 4 |
f5e05609 Z |
366 | |
367 | =item * | |
368 | ||
c5dd0eb1 KW |
369 | A new compiler C<#define>, C<dTHX_DEBUGGING>. has been added. This is |
370 | useful for XS or C code that only need the thread context because their | |
371 | debugging statements that get compiled only under C<-DDEBUGGING> need | |
372 | one. | |
30f9405e | 373 | |
9aac5db8 KW |
374 | =item * |
375 | ||
376 | A new API function L<perlapi/Perl_setlocale> has been added. | |
377 | ||
915366d4 | 378 | =back |
222b5ca9 | 379 | |
915366d4 | 380 | =head1 Selected Bug Fixes |
222b5ca9 | 381 | |
915366d4 A |
382 | XXX Important bug fixes in the core language are summarized here. Bug fixes in |
383 | files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>. | |
64072da0 | 384 | |
915366d4 | 385 | [ List each fix as an =item entry ] |
244d2682 | 386 | |
915366d4 | 387 | =over 4 |
4ec06e46 | 388 | |
0a72295b | 389 | =item * |
8af6a5dc | 390 | |
084ed71b TC |
391 | Failures while compiling code within other constructs, such as with |
392 | string interpolation and the right part of C<s///e> now cause | |
393 | compilation to abort earlier. | |
394 | ||
395 | Previously compilation could continue in order to report other errors, | |
396 | but the failed sub-parse could leave partly parsed constructs on the | |
397 | parser shift-reduce stack, confusing the parser, leading to perl | |
398 | crashes. [perl #125351] | |
998753fe | 399 | |
915366d4 | 400 | =back |
53fff747 | 401 | |
915366d4 | 402 | =head1 Known Problems |
53fff747 | 403 | |
915366d4 A |
404 | XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any |
405 | tests that had to be C<TODO>ed for the release would be noted here. Unfixed | |
406 | platform specific bugs also go here. | |
244d2682 | 407 | |
915366d4 | 408 | [ List each fix as an =item entry ] |
acbb539d | 409 | |
915366d4 | 410 | =over 4 |
acbb539d DM |
411 | |
412 | =item * | |
413 | ||
915366d4 | 414 | XXX |
acbb539d | 415 | |
4ec06e46 | 416 | =back |
244d2682 | 417 | |
915366d4 | 418 | =head1 Errata From Previous Releases |
8f46363a | 419 | |
4ec06e46 | 420 | =over 4 |
244d2682 | 421 | |
aa0c5741 Z |
422 | =item * |
423 | ||
915366d4 A |
424 | XXX Add anything here that we forgot to add, or were mistaken about, in |
425 | the perldelta of a previous release. | |
857320cb | 426 | |
25219f3f | 427 | =back |
4faa3060 | 428 | |
915366d4 | 429 | =head1 Obituary |
5ef73200 | 430 | |
915366d4 A |
431 | XXX If any significant core contributor or member of the CPAN community has |
432 | died, add a short obituary here. | |
5ef73200 | 433 | |
915366d4 | 434 | =head1 Acknowledgements |
5ef73200 | 435 | |
915366d4 | 436 | XXX Generate this with: |
5ef73200 | 437 | |
915366d4 | 438 | perl Porting/acknowledgements.pl v5.27.8..HEAD |
f5b73711 | 439 | |
44691e6f AB |
440 | =head1 Reporting Bugs |
441 | ||
b5cbfe35 S |
442 | If you find what you think is a bug, you might check the perl bug database |
443 | at L<https://rt.perl.org/> . There may also be information at | |
444 | L<http://www.perl.org/> , the Perl Home Page. | |
44691e6f | 445 | |
e08634c5 SH |
446 | If you believe you have an unreported bug, please run the L<perlbug> program |
447 | included with your release. Be sure to trim your bug down to a tiny but | |
448 | sufficient test case. Your bug report, along with the output of C<perl -V>, | |
b5cbfe35 | 449 | will be sent off to perlbug@perl.org to be analysed by the Perl porting team. |
44691e6f | 450 | |
87c118b9 DM |
451 | If the bug you are reporting has security implications which make it |
452 | inappropriate to send to a publicly archived mailing list, then see | |
c0ea3294 SH |
453 | L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> |
454 | for details of how to report the issue. | |
44691e6f | 455 | |
390ae6f9 S |
456 | =head1 Give Thanks |
457 | ||
458 | If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, | |
459 | you can do so by running the C<perlthanks> program: | |
460 | ||
461 | perlthanks | |
462 | ||
463 | This will send an email to the Perl 5 Porters list with your show of thanks. | |
464 | ||
44691e6f AB |
465 | =head1 SEE ALSO |
466 | ||
e08634c5 SH |
467 | The F<Changes> file for an explanation of how to view exhaustive details on |
468 | what changed. | |
44691e6f AB |
469 | |
470 | The F<INSTALL> file for how to build Perl. | |
471 | ||
472 | The F<README> file for general stuff. | |
473 | ||
474 | The F<Artistic> and F<Copying> files for copyright information. | |
475 | ||
476 | =cut |