This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add Perl_setlocale()
[perl5.git] / pod / perldelta.pod
CommitLineData
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
6to be processed before release. ]
7
8perldelta - what is new for perl v5.27.9
89853d76 9
b5cbfe35 10=head1 DESCRIPTION
89853d76 11
915366d4 12This document describes differences between the 5.27.8 release and the 5.27.9
b5cbfe35 13release.
89853d76 14
915366d4
A
15If you are upgrading from an earlier release such as 5.27.7, first read
16L<perl5278delta>, which describes differences between 5.27.7 and 5.27.8.
ae047103 17
915366d4 18=head1 Notice
ae047103 19
915366d4 20XXX Any important notices here
034602eb 21
915366d4 22=head1 Core Enhancements
034602eb 23
915366d4
A
24XXX New core language features go here. Summarize user-visible core language
25enhancements. Particularly prominent performance optimisations could go
26here, 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
32This variable is 1 if the Perl interpreter is operating in an
33environment where it is safe to use and change locales (see
34L<perllocale>.) Currently this is true only when the perl is
35unthreaded.
36
915366d4 37=head1 Security
219ba69c 38
915366d4
A
39XXX Any security-related notices go here. In particular, any security
40vulnerabilities closed should be noted here rather than in the
41L</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 47XXX 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 57XXX Any deprecated features, syntax, modules etc. should be listed here.
15397007 58
915366d4 59=head2 Module removals
3e6fc602 60
915366d4 61XXX Remove this section if not applicable.
3e6fc602 62
915366d4
A
63The following modules will be removed from the core distribution in a
64future release, and will at that time need to be installed from CPAN.
65Distributions on CPAN which require these modules will need to list them as
66prerequisites.
a8e51187 67
915366d4
A
68The core versions of these modules will now issue C<"deprecated">-category
69warnings to alert you to this fact. To silence these deprecation warnings,
70install the modules in question from CPAN.
a8e51187 71
915366d4
A
72Note that these are (with rare exceptions) fine modules that you are encouraged
73to continue to use. Their disinclusion from core primarily hinges on their
74necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
75not usually on concerns over their design.
a8e51187 76
915366d4 77=over
a8e51187 78
915366d4 79=item XXX
a8e51187 80
915366d4
A
81XXX Note that deprecated modules should be listed here even if they are listed
82as 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
90XXX Changes which enhance performance without changing behaviour go here.
91There 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 99XXX
2707ab55 100
4ec06e46 101=back
2707ab55 102
4ec06e46 103=head1 Modules and Pragmata
2707ab55 104
915366d4
A
105XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
106go here. If Module::CoreList is updated, generate an initial draft of the
107following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
108for important changes should then be added by hand. In an ideal world,
109dual-life modules would have a F<Changes> file that could be cribbed.
c933e4bb 110
915366d4
A
111The list of new and updated modules is modified automatically as part of
112preparing a Perl release, so the only reason to manually add entries here is if
113you're summarising the important changes in the module update. (Also, if the
114manually-added details don't match the automatically-generated ones, the
115release 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 125XXX 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 135L<XXX> has been upgraded from version A.xx to B.yy.
2707ab55 136
915366d4 137If 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 147XXX
e6a2e5ca 148
915366d4 149=back
b2a6778b 150
915366d4 151=head1 Documentation
a69078af 152
915366d4
A
153XXX Changes to files in F<pod/> go here. Consider grouping entries by
154file and be sure to link to the appropriate page, e.g. L<perlfunc>.
a69078af 155
915366d4 156=head2 New Documentation
a69078af 157
915366d4 158XXX Changes which create B<new> files in F<pod/> go here.
b2a6778b 159
915366d4 160=head3 L<XXX>
2707ab55 161
915366d4 162XXX Description of the purpose of the new file here
2707ab55 163
25219f3f 164=head2 Changes to Existing Documentation
b2a6778b 165
25219f3f
KE
166We have attempted to update the documentation to reflect the changes
167listed in this document. If you find any we have missed, send email
168to L<perlbug@perl.org|mailto:perlbug@perl.org>.
b2a6778b 169
915366d4
A
170XXX Changes which significantly change existing files in F<pod/> go here.
171However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
172section.
173
4ec06e46 174Additionally, 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 182XXX Description of the change here
8e14f284 183
915366d4 184=back
8e14f284 185
915366d4 186=head1 Diagnostics
8e14f284 187
915366d4
A
188The following additions or changes have been made to diagnostic output,
189including warnings and fatal error messages. For the complete list of
190diagnostic messages, see L<perldiag>.
8e14f284 191
915366d4
A
192XXX New or changed warnings emitted by the core's C<C> code go here. Also
193include any changes in L<perldiag> that reconcile it to the C<C> code.
8e14f284 194
915366d4 195=head2 New Diagnostics
4914bebe 196
915366d4
A
197XXX Newly added diagnostic messages go under here, separated into New Errors
198and New Warnings
4914bebe 199
915366d4 200=head3 New Errors
b2a6778b 201
25219f3f 202=over 4
b2a6778b
KE
203
204=item *
205
915366d4 206XXX 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
216L<Locale '%s' contains (at least) the following characters which have
217non-standard meanings: %s The Perl program will use the standard
218meanings|perldiag/"Locale '%s' contains (at least) the following
219characters which have non-standard meanings: %s The Perl program will
220use the standard meanings">.
64b9a139 221
e6a2e5ca 222=back
64b9a139 223
915366d4
A
224=head2 Changes to Existing Diagnostics
225
226XXX Changes (i.e. rewording) of diagnostic messages go here
4ec06e46 227
04f89ea7
Z
228=over 4
229
64b9a139
SH
230=item *
231
915366d4 232XXX Describe change here
9fca523d 233
4ec06e46 234=back
9fca523d 235
915366d4 236=head1 Utility Changes
52e3acf8 237
915366d4
A
238XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
239Most 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
242entries for each change
243Use 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 251XXX
64b9a139 252
0a72295b 253=back
4ec06e46 254
915366d4
A
255=head1 Configuration and Compilation
256
257XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
258go here. Any other changes to the Perl build process should be listed here.
259However, any platform-specific changes should be listed in the
260L</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 268XXX
a8d9a219 269
e6a2e5ca
SH
270=back
271
4ec06e46 272=head1 Testing
dea26044 273
915366d4
A
274XXX Any significant changes to the testing of a freshly built perl should be
275listed here. Changes which create B<new> files in F<t/> go here as do any
276large changes to the testing harness (e.g. when parallel testing was added).
277Changes to existing files in F<t/> aren't worth summarizing, although the bugs
278that they represent may be covered elsewhere.
279
280XXX If there were no significant test changes, say this:
281
282Tests were added and changed to reflect the other additions and changes
283in this release.
284
285XXX If instead there were significant changes, say this:
286
4ec06e46
CBW
287Tests were added and changed to reflect the other additions and
288changes in this release. Furthermore, these significant changes were
289made:
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
297F<harness> no longer waits for 30 seconds when running
298F<t/io/openpid.t>. [perl #121028][perl #132867]
59eb8be1 299
4ec06e46 300=back
59eb8be1 301
4ec06e46 302=head1 Platform Support
ee5287f6 303
915366d4
A
304XXX 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
307changes as paragraphs below it. ]
308
309=head2 New Platforms
310
311XXX List any platforms that this version of perl compiles on, that previous
312versions did not. These will either be enabled by new files in the F<hints/>
313directories, or new subdirectories and F<README> files at the top level of the
314source tree.
e6a2e5ca 315
25219f3f 316=over 4
e6a2e5ca 317
915366d4 318=item XXX-some-platform
4faa3060 319
915366d4 320XXX
e1b825c1 321
1d60dc3f
CB
322=item VMS
323
324CRTL features can now be set by embedders before invoking Perl by using the
325C<decc$feature_set> and C<decc$feature_set_value> functions. Previously any attempt
326to set features after image initialization were ignored.
327
915366d4 328=back
66d3c925 329
915366d4 330=head2 Discontinued Platforms
66d3c925 331
915366d4
A
332XXX 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 338XXX
1b16b015 339
4ec06e46 340=back
1b16b015 341
915366d4
A
342=head2 Platform-Specific Notes
343
344XXX List any changes for specific platforms. This could include configuration
345and compilation changes or changes in portability/compatibility. However,
346changes within modules for platforms should generally be listed in the
347L</Modules and Pragmata> section.
acbb539d
DM
348
349=over 4
350
915366d4 351=item XXX-some-platform
acbb539d 352
915366d4 353XXX
acbb539d
DM
354
355=back
356
915366d4 357=head1 Internal Changes
64def2ae 358
915366d4
A
359XXX Changes which affect the interface available to C<XS> code go here. Other
360significant internal changes for future core maintainers should be noted as
361well.
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
369A new compiler C<#define>, C<dTHX_DEBUGGING>. has been added. This is
370useful for XS or C code that only need the thread context because their
371debugging statements that get compiled only under C<-DDEBUGGING> need
372one.
30f9405e 373
9aac5db8
KW
374=item *
375
376A 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
382XXX Important bug fixes in the core language are summarized here. Bug fixes in
383files 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
391Failures while compiling code within other constructs, such as with
392string interpolation and the right part of C<s///e> now cause
393compilation to abort earlier.
394
395Previously compilation could continue in order to report other errors,
396but the failed sub-parse could leave partly parsed constructs on the
397parser shift-reduce stack, confusing the parser, leading to perl
398crashes. [perl #125351]
998753fe 399
915366d4 400=back
53fff747 401
915366d4 402=head1 Known Problems
53fff747 403
915366d4
A
404XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
405tests that had to be C<TODO>ed for the release would be noted here. Unfixed
406platform 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 414XXX
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
424XXX Add anything here that we forgot to add, or were mistaken about, in
425the perldelta of a previous release.
857320cb 426
25219f3f 427=back
4faa3060 428
915366d4 429=head1 Obituary
5ef73200 430
915366d4
A
431XXX If any significant core contributor or member of the CPAN community has
432died, add a short obituary here.
5ef73200 433
915366d4 434=head1 Acknowledgements
5ef73200 435
915366d4 436XXX 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
442If you find what you think is a bug, you might check the perl bug database
443at L<https://rt.perl.org/> . There may also be information at
444L<http://www.perl.org/> , the Perl Home Page.
44691e6f 445
e08634c5
SH
446If you believe you have an unreported bug, please run the L<perlbug> program
447included with your release. Be sure to trim your bug down to a tiny but
448sufficient test case. Your bug report, along with the output of C<perl -V>,
b5cbfe35 449will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f 450
87c118b9
DM
451If the bug you are reporting has security implications which make it
452inappropriate to send to a publicly archived mailing list, then see
c0ea3294
SH
453L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
454for details of how to report the issue.
44691e6f 455
390ae6f9
S
456=head1 Give Thanks
457
458If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
459you can do so by running the C<perlthanks> program:
460
461 perlthanks
462
463This 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
467The F<Changes> file for an explanation of how to view exhaustive details on
468what changed.
44691e6f
AB
469
470The F<INSTALL> file for how to build Perl.
471
472The F<README> file for general stuff.
473
474The F<Artistic> and F<Copying> files for copyright information.
475
476=cut