This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
(toke|regcomp).c: Use common fcn to handle \0 problems
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
d1a156bb
MH
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.31.9
d407e309 9
862f380b 10=head1 DESCRIPTION
261e14b0 11
d1a156bb 12This document describes differences between the 5.31.8 release and the 5.31.9
862f380b 13release.
261e14b0 14
d1a156bb
MH
15If you are upgrading from an earlier release such as 5.31.7, first read
16L<perl5318delta>, which describes differences between 5.31.7 and 5.31.8.
9629ca98
N
17
18=head1 Notice
19
d1a156bb 20XXX Any important notices here
65c3f050 21
d1a156bb 22=head1 Core Enhancements
be2eb09e 23
d1a156bb
MH
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.
ced2c819 27
d1a156bb 28[ List each enhancement as a =head2 entry ]
ced2c819 29
d1a156bb 30=head1 Security
87fd4a59 31
d1a156bb
MH
32XXX Any security-related notices go here. In particular, any security
33vulnerabilities closed should be noted here rather than in the
34L</Selected Bug Fixes> section.
87fd4a59 35
d1a156bb 36[ List each security issue as a =head2 entry ]
87fd4a59 37
d1a156bb 38=head1 Incompatible Changes
87fd4a59 39
d1a156bb 40XXX For a release on a stable branch, this section aspires to be:
ced2c819 41
d1a156bb
MH
42 There are no changes intentionally incompatible with 5.XXX.XXX
43 If any exist, they are bugs, and we request that you submit a
44 report. See L</Reporting Bugs> below.
46a21c0a 45
d1a156bb 46[ List each incompatible change as a =head2 entry ]
65c3f050 47
d1a156bb 48=head1 Deprecations
149c28f9 49
d1a156bb 50XXX Any deprecated features, syntax, modules etc. should be listed here.
c40875b7 51
d1a156bb 52=head2 Module removals
cd42a730 53
d1a156bb 54XXX Remove this section if not applicable.
1945661d 55
d1a156bb
MH
56The following modules will be removed from the core distribution in a
57future release, and will at that time need to be installed from CPAN.
58Distributions on CPAN which require these modules will need to list them as
59prerequisites.
65c3f050 60
d1a156bb
MH
61The core versions of these modules will now issue C<"deprecated">-category
62warnings to alert you to this fact. To silence these deprecation warnings,
63install the modules in question from CPAN.
cd42a730 64
d1a156bb
MH
65Note that these are (with rare exceptions) fine modules that you are encouraged
66to continue to use. Their disinclusion from core primarily hinges on their
67necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
68not usually on concerns over their design.
ced2c819 69
d1a156bb 70=over
ced2c819 71
d1a156bb 72=item XXX
cf54f0ad 73
d1a156bb
MH
74XXX Note that deprecated modules should be listed here even if they are listed
75as an updated module in the L</Modules and Pragmata> section.
149c28f9 76
d1a156bb 77=back
ced2c819 78
d1a156bb 79[ List each other deprecation as a =head2 entry ]
cf54f0ad 80
d1a156bb 81=head1 Performance Enhancements
fcbec156 82
d1a156bb
MH
83XXX Changes which enhance performance without changing behaviour go here.
84There may well be none in a stable release.
b5599884 85
d1a156bb 86[ List each enhancement as an =item entry ]
77b20e67 87
d1a156bb 88=over 4
77b20e67 89
5c2513ee
JK
90=item *
91
d1a156bb 92XXX
5c2513ee 93
d1a156bb 94=back
a4aa12d5 95
d1a156bb 96=head1 Modules and Pragmata
bad3a436 97
d1a156bb
MH
98XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
99go here. If Module::CoreList is updated, generate an initial draft of the
100following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
101for important changes should then be added by hand. In an ideal world,
102dual-life modules would have a F<Changes> file that could be cribbed.
bad3a436 103
d1a156bb
MH
104The list of new and updated modules is modified automatically as part of
105preparing a Perl release, so the only reason to manually add entries here is if
106you're summarising the important changes in the module update. (Also, if the
107manually-added details don't match the automatically-generated ones, the
108release manager will have to investigate the situation carefully.)
cf54f0ad 109
d1a156bb 110[ Within each section, list entries as an =item entry ]
b5599884 111
d1a156bb 112=head2 New Modules and Pragmata
46a21c0a 113
d1a156bb 114=over 4
cf54f0ad
MH
115
116=item *
117
d1a156bb 118XXX Remove this section if not applicable.
336e728b 119
9629ca98 120=back
149c28f9 121
d1a156bb 122=head2 Updated Modules and Pragmata
87fd4a59
MH
123
124=over 4
125
126=item *
127
d1a156bb 128L<XXX> has been upgraded from version A.xx to B.yy.
87fd4a59 129
d1a156bb 130If there was something important to note about this change, include that here.
87fd4a59 131
d1a156bb 132=back
87fd4a59 133
d1a156bb 134=head2 Removed Modules and Pragmata
87fd4a59 135
d1a156bb 136=over 4
87fd4a59
MH
137
138=item *
139
d1a156bb 140XXX
87fd4a59
MH
141
142=back
143
d1a156bb 144=head1 Documentation
87fd4a59 145
d1a156bb
MH
146XXX Changes to files in F<pod/> go here. Consider grouping entries by
147file and be sure to link to the appropriate page, e.g. L<perlfunc>.
87fd4a59 148
d1a156bb 149=head2 New Documentation
87fd4a59 150
d1a156bb 151XXX Changes which create B<new> files in F<pod/> go here.
87fd4a59 152
d1a156bb 153=head3 L<XXX>
87fd4a59 154
d1a156bb 155XXX Description of the purpose of the new file here
87fd4a59 156
d1a156bb 157=head2 Changes to Existing Documentation
87fd4a59 158
d1a156bb
MH
159We have attempted to update the documentation to reflect the changes
160listed in this document. If you find any we have missed, open an issue
161at L<https://github.com/Perl/perl5/issues>.
87fd4a59 162
d1a156bb
MH
163XXX Changes which significantly change existing files in F<pod/> go here.
164However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
165section.
87fd4a59 166
d1a156bb 167Additionally, the following selected changes have been made:
cfbe7727 168
d1a156bb 169=head3 L<XXX>
87fd4a59
MH
170
171=over 4
172
173=item *
174
6c245260
TC
175Links to the now defunct L<https://search.cpan.org> site now point at
176the equivalent L<https://metacpan.org> URL. [GH #17393]
87fd4a59
MH
177
178=back
179
d1a156bb 180=head1 Diagnostics
87fd4a59 181
d1a156bb
MH
182The following additions or changes have been made to diagnostic output,
183including warnings and fatal error messages. For the complete list of
184diagnostic messages, see L<perldiag>.
87fd4a59 185
d1a156bb
MH
186XXX New or changed warnings emitted by the core's C<C> code go here. Also
187include any changes in L<perldiag> that reconcile it to the C<C> code.
87fd4a59 188
d1a156bb 189=head2 New Diagnostics
87fd4a59 190
d1a156bb
MH
191XXX Newly added diagnostic messages go under here, separated into New Errors
192and New Warnings
87fd4a59 193
d1a156bb 194=head3 New Errors
87fd4a59
MH
195
196=over 4
197
198=item *
199
d1a156bb 200XXX L<message|perldiag/"message">
87fd4a59
MH
201
202=back
203
d1a156bb 204=head3 New Warnings
87fd4a59
MH
205
206=over 4
207
208=item *
209
dc4a6683
KW
210L<Code point 0x%X is not Unicode, and not portable|perldiag/"Code point 0x%X is not Unicode, and not portable">
211
212This is actually not a new message, but it is now output when the
213warnings category C<portable> is enabled.
214
eb761011
KW
215When raised during regular expression pattern compilation, the warning
216has extra text added at the end marking where precisely in the pattern
217it occured.
218
dc4a6683
KW
219=item *
220
8d1e72f0
KW
221L<Non-hex character '%c' terminates \x early. Resolved as "%s"|perldiag/"Non-hex character '%c' terminates \x early. Resolved as "%s"">
222
223This replaces a warning that was much less specific, and which gave
224false information. This new warning parallels the similar
225already-existing one raised for C<\o{}>.
226
227=item *
228
dc4a6683 229L<message|perldiag/"message">
87fd4a59
MH
230
231=back
232
d1a156bb 233=head2 Changes to Existing Diagnostics
04d3d25b 234
d1a156bb 235XXX Changes (i.e. rewording) of diagnostic messages go here
04d3d25b 236
d1a156bb 237=over 4
87fd4a59
MH
238
239=item *
240
73351a71
KW
241L<Character following "\c" must be printable ASCII|perldiag/"Character following "\c" must be printable ASCII">
242
243now has extra text added at the end, when raised during regular
244expression pattern compilation, marking where precisely in the pattern
245it occured.
246
247=item *
248
249L<Use "%s" instead of "%s"|perldiag/"Use "%s" instead of "%s"">
250
251now has extra text added at the end, when raised during regular
252expression pattern compilation, marking where precisely in the pattern
253it occured.
254
255=item *
256
257L<Sequence "\c{" invalid|perldiag/"Sequence "\c{" invalid">
258
259now has extra text added at the end, when raised during regular
260expression pattern compilation, marking where precisely in the pattern
261it occured.
262
263=item *
264
265L<"\c%c" is more clearly written simply as "%s"|perldiag/""\c%c" is more clearly written simply as "%s"">
266
267now has extra text added at the end, when raised during regular
268expression pattern compilation, marking where precisely in the pattern
269it occured.
fcbec156 270
8d1e72f0
KW
271=item *
272
273L<Non-octal character '%c' terminates \o early. Resolved as "%s"|perldiag/"Non-octal character '%c' terminates \o early. Resolved as "%s"">
274
275now includes the phrase "terminates \o early", and has extra text added
276at the end, when raised during regular expression pattern compilation,
277marking where precisely in the pattern it occured. In some instances
278the text of the resolution has been clarified.
279
fcc04d73
KW
280=item *
281
282L<'%s' resolved to '\o{%s}%d'|perldiag/'%s' resolved to '\o{%s}%d'>
283
284As of Perl 5.32, this message is no longer generated. Instead,
285L<perldiag/Non-octal character '%c' terminates \o early. Resolved as "%s">
286is.
287
9629ca98 288=back
65c3f050 289
d1a156bb 290=head1 Utility Changes
46a21c0a 291
d1a156bb
MH
292XXX Changes to installed programs such as F<perldoc> and F<xsubpp> go here.
293Most of these are built within the directory F<utils>.
46a21c0a 294
d1a156bb
MH
295[ List utility changes as a =head2 entry for each utility and =item
296entries for each change
297Use L<XXX> with program names to get proper documentation linking. ]
298
299=head2 L<XXX>
9629ca98 300
65c3f050 301=over 4
74c14c97 302
9629ca98 303=item *
46a21c0a 304
d1a156bb 305XXX
65c3f050 306
9629ca98 307=back
46a21c0a 308
9629ca98 309=head1 Configuration and Compilation
46a21c0a 310
d1a156bb
MH
311XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
312go here. Any other changes to the Perl build process should be listed here.
313However, any platform-specific changes should be listed in the
314L</Platform Support> section, instead.
315
316[ List changes as an =item entry ].
317
149c28f9 318=over 4
74c14c97 319
9629ca98 320=item *
fcbec156 321
d1a156bb 322XXX
65c3f050 323
d1a156bb 324=back
65c3f050 325
d1a156bb 326=head1 Testing
65c3f050 327
d1a156bb
MH
328XXX Any significant changes to the testing of a freshly built perl should be
329listed here. Changes which create B<new> files in F<t/> go here as do any
330large changes to the testing harness (e.g. when parallel testing was added).
331Changes to existing files in F<t/> aren't worth summarizing, although the bugs
332that they represent may be covered elsewhere.
65c3f050 333
d1a156bb 334XXX If there were no significant test changes, say this:
65c3f050 335
d1a156bb
MH
336Tests were added and changed to reflect the other additions and changes
337in this release.
65c3f050 338
d1a156bb 339XXX If instead there were significant changes, say this:
9629ca98
N
340
341Tests were added and changed to reflect the other additions and
342changes in this release. Furthermore, these significant changes were
343made:
344
d1a156bb
MH
345[ List each test improvement as an =item entry ]
346
149c28f9 347=over 4
65c3f050 348
9629ca98 349=item *
65c3f050 350
d1a156bb 351XXX
65c3f050 352
149c28f9 353=back
65c3f050 354
9629ca98 355=head1 Platform Support
65c3f050 356
d1a156bb 357XXX Any changes to platform support should be listed in the sections below.
65c3f050 358
d1a156bb
MH
359[ Within the sections, list each platform as an =item entry with specific
360changes as paragraphs below it. ]
061637ca 361
d1a156bb 362=head2 New Platforms
285db695 363
d1a156bb
MH
364XXX List any platforms that this version of perl compiles on, that previous
365versions did not. These will either be enabled by new files in the F<hints/>
366directories, or new subdirectories and F<README> files at the top level of the
367source tree.
87fd4a59 368
d1a156bb 369=over 4
87fd4a59 370
d1a156bb 371=item XXX-some-platform
87fd4a59 372
d1a156bb 373XXX
46a21c0a 374
65c3f050
CBW
375=back
376
d1a156bb
MH
377=head2 Discontinued Platforms
378
379XXX List any platforms that this version of perl no longer compiles on.
65c3f050 380
9629ca98 381=over 4
f3496246 382
d1a156bb 383=item XXX-some-platform
149c28f9 384
d1a156bb 385XXX
65c3f050 386
149c28f9 387=back
65c3f050 388
d1a156bb
MH
389=head2 Platform-Specific Notes
390
391XXX List any changes for specific platforms. This could include configuration
392and compilation changes or changes in portability/compatibility. However,
393changes within modules for platforms should generally be listed in the
394L</Modules and Pragmata> section.
65c3f050 395
65c3f050 396=over 4
a1e5b700 397
74a32ed2
CB
398=item VMS
399
400With the release of the patch kit C99 V2.0, VSI has provided support for a
401number of previously-missing C99 features. On systems with that patch kit
402installed, Perl's configuration process will now detect the presence of the
403header C<stdint.h> and the following functions: C<fpclassify>, C<isblank>, C<isless>,
404C<llrint>, C<llrintl>, C<llround>, C<llroundl>, C<nearbyint>, C<round>, C<scalbn>,
405and C<scalbnl>.
87fd4a59 406
d1a156bb 407=back
87fd4a59 408
d1a156bb 409=head1 Internal Changes
87fd4a59 410
d1a156bb
MH
411XXX Changes which affect the interface available to C<XS> code go here. Other
412significant internal changes for future core maintainers should be noted as
413well.
87fd4a59 414
d1a156bb
MH
415[ List each change as an =item entry ]
416
417=over 4
87fd4a59
MH
418
419=item *
420
d1a156bb 421XXX
87fd4a59 422
d1a156bb 423=back
87fd4a59 424
d1a156bb
MH
425=head1 Selected Bug Fixes
426
427XXX Important bug fixes in the core language are summarized here. Bug fixes in
428files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
87fd4a59 429
d1a156bb 430[ List each fix as an =item entry ]
87fd4a59 431
d1a156bb 432=over 4
87fd4a59
MH
433
434=item *
435
d1a156bb 436XXX
87fd4a59 437
d1a156bb 438=back
87fd4a59 439
d1a156bb
MH
440=head1 Known Problems
441
442XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
443tests that had to be C<TODO>ed for the release would be noted here. Unfixed
444platform specific bugs also go here.
445
446[ List each fix as an =item entry ]
87fd4a59 447
d1a156bb
MH
448=over 4
449
450=item *
87fd4a59 451
d1a156bb 452XXX
a1e5b700 453
46a21c0a
SH
454=back
455
d1a156bb 456=head1 Errata From Previous Releases
f3d30b53 457
d1a156bb 458=over 4
2852b67a 459
d1a156bb 460=item *
2852b67a 461
d1a156bb
MH
462XXX Add anything here that we forgot to add, or were mistaken about, in
463the perldelta of a previous release.
2852b67a 464
d1a156bb 465=back
2852b67a 466
d1a156bb
MH
467=head1 Obituary
468
469XXX If any significant core contributor or member of the CPAN community has
470died, add a short obituary here.
471
472=head1 Acknowledgements
2852b67a 473
d1a156bb 474XXX Generate this with:
2852b67a 475
d1a156bb 476 perl Porting/acknowledgements.pl v5.31.8..HEAD
8424e368 477
44691e6f
AB
478=head1 Reporting Bugs
479
46a21c0a 480If you find what you think is a bug, you might check the perl bug database
8034715d 481at L<https://github.com/Perl/perl5/issues>. There may also be information at
46a21c0a 482L<http://www.perl.org/>, the Perl Home Page.
44691e6f 483
8166b4e0
DB
484If you believe you have an unreported bug, please open an issue at
485L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a
486tiny but sufficient test case.
44691e6f 487
87c118b9 488If the bug you are reporting has security implications which make it
8166b4e0 489inappropriate to send to a public issue tracker, then see
46a21c0a
SH
490L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
491for details of how to report the issue.
44691e6f 492
390ae6f9
S
493=head1 Give Thanks
494
46a21c0a
SH
495If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
496you can do so by running the C<perlthanks> program:
390ae6f9
S
497
498 perlthanks
499
500This will send an email to the Perl 5 Porters list with your show of thanks.
501
44691e6f
AB
502=head1 SEE ALSO
503
e08634c5
SH
504The F<Changes> file for an explanation of how to view exhaustive details on
505what changed.
44691e6f
AB
506
507The F<INSTALL> file for how to build Perl.
508
509The F<README> file for general stuff.
510
511The F<Artistic> and F<Copying> files for copyright information.
512
513=cut