This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta for 817480137a8b
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
e0f0cf8a
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.29.7
e4c43fa1 9
4026b091
S
10=head1 DESCRIPTION
11
e0f0cf8a 12This document describes differences between the 5.29.6 release and the 5.29.7
4026b091
S
13release.
14
e0f0cf8a
A
15If you are upgrading from an earlier release such as 5.29.5, first read
16L<perl5296delta>, which describes differences between 5.29.5 and 5.29.6.
17
18=head1 Notice
19
20XXX Any important notices here
21
22=head1 Core Enhancements
23
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.
27
28[ List each enhancement as a =head2 entry ]
4380f76d 29
4380f76d 30=head1 Security
4234ac96 31
e0f0cf8a
A
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.
0ce66d44 35
e0f0cf8a 36[ List each security issue as a =head2 entry ]
0ce66d44 37
e0f0cf8a 38=head1 Incompatible Changes
4380f76d 39
e0f0cf8a 40XXX For a release on a stable branch, this section aspires to be:
928a385c 41
e0f0cf8a
A
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.
928a385c 45
e0f0cf8a 46[ List each incompatible change as a =head2 entry ]
0ce66d44 47
e0f0cf8a 48=head1 Deprecations
0ce66d44 49
e0f0cf8a 50XXX Any deprecated features, syntax, modules etc. should be listed here.
0ce66d44 51
e0f0cf8a 52=head2 Module removals
0ce66d44 53
e0f0cf8a 54XXX Remove this section if not applicable.
0ce66d44 55
e0f0cf8a
A
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.
0ce66d44 60
e0f0cf8a
A
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.
64
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.
69
70=over
71
72=item XXX
73
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.
21d34e95 76
4380f76d
KE
77=back
78
e0f0cf8a 79[ List each other deprecation as a =head2 entry ]
21d34e95 80
e0f0cf8a
A
81=head1 Performance Enhancements
82
83XXX Changes which enhance performance without changing behaviour go here.
84There may well be none in a stable release.
85
86[ List each enhancement as an =item entry ]
21d34e95 87
4380f76d 88=over 4
4234ac96 89
15f62f05 90=item *
4234ac96 91
e0f0cf8a 92XXX
72b2b1d9 93
e0f0cf8a 94=back
72b2b1d9 95
e0f0cf8a 96=head1 Modules and Pragmata
1ab3a811 97
e0f0cf8a
A
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.
1ab3a811 103
e0f0cf8a
A
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.)
1ab3a811 109
e0f0cf8a
A
110[ Within each section, list entries as an =item entry ]
111
112=head2 New Modules and Pragmata
1ab3a811 113
e0f0cf8a 114=over 4
2029a7cc
A
115
116=item *
117
e0f0cf8a
A
118XXX Remove this section if not applicable.
119
120=back
121
122=head2 Updated Modules and Pragmata
123
124=over 4
2029a7cc
A
125
126=item *
127
e0f0cf8a 128L<XXX> has been upgraded from version A.xx to B.yy.
1ab3a811 129
e0f0cf8a 130If there was something important to note about this change, include that here.
1ab3a811 131
e0f0cf8a 132=back
fdfb42a0 133
e0f0cf8a 134=head2 Removed Modules and Pragmata
fdfb42a0 135
e0f0cf8a 136=over 4
11d2c931
JK
137
138=item *
139
e0f0cf8a 140XXX
e116fd3c 141
4234ac96
AC
142=back
143
15f62f05 144=head1 Documentation
4234ac96 145
e0f0cf8a
A
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>.
148
149=head2 New Documentation
150
151XXX Changes which create B<new> files in F<pod/> go here.
152
153=head3 L<XXX>
154
155XXX Description of the purpose of the new file here
156
15f62f05 157=head2 Changes to Existing Documentation
4234ac96 158
15f62f05
KE
159We have attempted to update the documentation to reflect the changes
160listed in this document. If you find any we have missed, send email
161to L<perlbug@perl.org|mailto:perlbug@perl.org>.
4234ac96 162
e0f0cf8a
A
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.
166
15f62f05
KE
167Additionally, the following selected changes have been made:
168
e0f0cf8a 169=head3 L<XXX>
0ce66d44
A
170
171=over 4
172
0deccbc4
A
173=item *
174
e0f0cf8a 175XXX Description of the change here
0deccbc4
A
176
177=back
0ce66d44 178
e0f0cf8a
A
179=head1 Diagnostics
180
181The following additions or changes have been made to diagnostic output,
182including warnings and fatal error messages. For the complete list of
183diagnostic messages, see L<perldiag>.
184
185XXX New or changed warnings emitted by the core's C<C> code go here. Also
186include any changes in L<perldiag> that reconcile it to the C<C> code.
187
188=head2 New Diagnostics
189
190XXX Newly added diagnostic messages go under here, separated into New Errors
191and New Warnings
192
193=head3 New Errors
4234ac96
AC
194
195=over 4
21d34e95 196
8de8eb77 197=item *
21d34e95 198
e0f0cf8a 199XXX L<message|perldiag/"message">
0ce66d44
A
200
201=back
202
e0f0cf8a 203=head3 New Warnings
0ce66d44 204
e0f0cf8a 205=over 4
0deccbc4 206
0ce66d44
A
207=item *
208
e0f0cf8a 209XXX L<message|perldiag/"message">
4380f76d
KE
210
211=back
212
4380f76d
KE
213=head2 Changes to Existing Diagnostics
214
e0f0cf8a
A
215XXX Changes (i.e. rewording) of diagnostic messages go here
216
4380f76d
KE
217=over 4
218
219=item *
220
fee5d599
TC
221L<Prototype not terminated|perldiag/"Prototype not terminated">
222
223The file and line number is now reported for this error. [perl
224#133524]
4380f76d
KE
225
226=back
227
228=head1 Utility Changes
229
e0f0cf8a
A
230XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
231Most of these are built within the directory F<utils>.
232
233[ List utility changes as a =head2 entry for each utility and =item
234entries for each change
235Use L<XXX> with program names to get proper documentation linking. ]
236
237=head2 L<XXX>
4380f76d
KE
238
239=over 4
240
241=item *
242
e0f0cf8a
A
243XXX
244
245=back
246
247=head1 Configuration and Compilation
248
249XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
250go here. Any other changes to the Perl build process should be listed here.
251However, any platform-specific changes should be listed in the
252L</Platform Support> section, instead.
253
254[ List changes as an =item entry ].
255
256=over 4
257
258=item *
259
260XXX
0ce66d44 261
4234ac96
AC
262=back
263
264=head1 Testing
265
e0f0cf8a
A
266XXX Any significant changes to the testing of a freshly built perl should be
267listed here. Changes which create B<new> files in F<t/> go here as do any
268large changes to the testing harness (e.g. when parallel testing was added).
269Changes to existing files in F<t/> aren't worth summarizing, although the bugs
270that they represent may be covered elsewhere.
271
272XXX If there were no significant test changes, say this:
273
274Tests were added and changed to reflect the other additions and changes
275in this release.
276
277XXX If instead there were significant changes, say this:
278
4380f76d
KE
279Tests were added and changed to reflect the other additions and
280changes in this release. Furthermore, these significant changes were
281made:
282
e0f0cf8a
A
283[ List each test improvement as an =item entry ]
284
4380f76d
KE
285=over 4
286
287=item *
288
e0f0cf8a 289XXX
4380f76d
KE
290
291=back
292
4234ac96
AC
293=head1 Platform Support
294
e0f0cf8a 295XXX Any changes to platform support should be listed in the sections below.
4380f76d 296
e0f0cf8a
A
297[ Within the sections, list each platform as an =item entry with specific
298changes as paragraphs below it. ]
7a54f67e 299
e0f0cf8a 300=head2 New Platforms
4380f76d 301
e0f0cf8a
A
302XXX List any platforms that this version of perl compiles on, that previous
303versions did not. These will either be enabled by new files in the F<hints/>
304directories, or new subdirectories and F<README> files at the top level of the
305source tree.
306
307=over 4
0ce66d44 308
e0f0cf8a 309=item XXX-some-platform
0ce66d44 310
e0f0cf8a 311XXX
4380f76d
KE
312
313=back
314
e0f0cf8a 315=head2 Discontinued Platforms
4380f76d 316
e0f0cf8a 317XXX List any platforms that this version of perl no longer compiles on.
21d34e95 318
e0f0cf8a 319=over 4
0ce66d44 320
e0f0cf8a 321=item XXX-some-platform
0ce66d44 322
e0f0cf8a 323XXX
4380f76d
KE
324
325=back
326
e0f0cf8a
A
327=head2 Platform-Specific Notes
328
329XXX List any changes for specific platforms. This could include configuration
330and compilation changes or changes in portability/compatibility. However,
331changes within modules for platforms should generally be listed in the
332L</Modules and Pragmata> section.
4380f76d 333
4380f76d 334=over 4
10056dd2 335
e0f0cf8a 336=item XXX-some-platform
ea89b333 337
e0f0cf8a 338XXX
20ccb10a 339
e0f0cf8a 340=back
20ccb10a 341
e0f0cf8a 342=head1 Internal Changes
20ccb10a 343
e0f0cf8a
A
344XXX Changes which affect the interface available to C<XS> code go here. Other
345significant internal changes for future core maintainers should be noted as
346well.
20ccb10a 347
e0f0cf8a 348[ List each change as an =item entry ]
20ccb10a 349
e0f0cf8a 350=over 4
0ce66d44
A
351
352=item *
353
e0f0cf8a 354XXX
b20a43d7 355
e0f0cf8a 356=back
b20a43d7 357
e0f0cf8a 358=head1 Selected Bug Fixes
b20a43d7 359
e0f0cf8a
A
360XXX Important bug fixes in the core language are summarized here. Bug fixes in
361files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
0ce66d44 362
e0f0cf8a 363[ List each fix as an =item entry ]
0ce66d44 364
e0f0cf8a 365=over 4
0ce66d44
A
366
367=item *
368
429944ca
TC
369A bare C<eof> call with no previous file handle now returns true.
370[perl #133721]
0ce66d44 371
ff2d4c11
TC
372=item *
373
374Failing to compile a format now aborts compilation. Like other errors
375in sub-parses this could leave the parser in a strange state, possibly
376crashing perl if compilation continued. [perl #132158]
377
e0f0cf8a 378=back
0ce66d44 379
e0f0cf8a 380=head1 Known Problems
ea89b333 381
e0f0cf8a
A
382XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
383tests that had to be C<TODO>ed for the release would be noted here. Unfixed
384platform specific bugs also go here.
ea89b333 385
e0f0cf8a 386[ List each fix as an =item entry ]
285b03a6
A
387
388=over 4
389
390=item *
391
e0f0cf8a 392XXX
285b03a6 393
e0f0cf8a 394=back
285b03a6 395
e0f0cf8a 396=head1 Errata From Previous Releases
285b03a6 397
e0f0cf8a 398=over 4
285b03a6 399
e0f0cf8a 400=item *
c4070876 401
e0f0cf8a
A
402XXX Add anything here that we forgot to add, or were mistaken about, in
403the perldelta of a previous release.
c4070876 404
e0f0cf8a 405=back
990f9aa0 406
e0f0cf8a 407=head1 Obituary
990f9aa0 408
e0f0cf8a
A
409XXX If any significant core contributor or member of the CPAN community has
410died, add a short obituary here.
990f9aa0 411
e0f0cf8a 412=head1 Acknowledgements
990f9aa0 413
e0f0cf8a 414XXX Generate this with:
990f9aa0 415
e0f0cf8a 416 perl Porting/acknowledgements.pl v5.29.6..HEAD
f5b73711 417
44691e6f
AB
418=head1 Reporting Bugs
419
373fec1e 420If you find what you think is a bug, you might check the perl bug database
15f62f05
KE
421at L<https://rt.perl.org/>. There may also be information at
422L<http://www.perl.org/>, the Perl Home Page.
44691e6f 423
e08634c5
SH
424If you believe you have an unreported bug, please run the L<perlbug> program
425included with your release. Be sure to trim your bug down to a tiny but
426sufficient test case. Your bug report, along with the output of C<perl -V>,
b5cbfe35 427will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f 428
87c118b9
DM
429If the bug you are reporting has security implications which make it
430inappropriate to send to a publicly archived mailing list, then see
373fec1e
SH
431L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
432for details of how to report the issue.
44691e6f 433
390ae6f9
S
434=head1 Give Thanks
435
373fec1e
SH
436If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
437you can do so by running the C<perlthanks> program:
390ae6f9
S
438
439 perlthanks
440
441This will send an email to the Perl 5 Porters list with your show of thanks.
442
44691e6f
AB
443=head1 SEE ALSO
444
e08634c5
SH
445The F<Changes> file for an explanation of how to view exhaustive details on
446what changed.
44691e6f
AB
447
448The F<INSTALL> file for how to build Perl.
449
450The F<README> file for general stuff.
451
452The F<Artistic> and F<Copying> files for copyright information.
453
454=cut