This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Another way to detect C99.
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
39c4a6cf
PM
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.21.4
c68523cb 9
238894db 10=head1 DESCRIPTION
c68523cb 11
39c4a6cf 12This document describes differences between the 5.21.3 release and the 5.21.4
238894db 13release.
c68523cb 14
39c4a6cf
PM
15If you are upgrading from an earlier release such as 5.21.2, first read
16L<perl5213delta>, which describes differences between 5.21.2 and 5.21.3.
7065301c 17
39c4a6cf 18=head1 Notice
7e957246 19
39c4a6cf 20XXX Any important notices here
7e957246 21
39c4a6cf 22=head1 Core Enhancements
f88f10f5 23
39c4a6cf
PM
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.
21f3b41e 27
39c4a6cf 28[ List each enhancement as a =head2 entry ]
f88f10f5 29
0346c3a9 30=head1 Security
7e957246 31
39c4a6cf
PM
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.
13900f93 35
39c4a6cf 36[ List each security issue as a =head2 entry ]
8bdb3f93 37
13900f93 38=head1 Incompatible Changes
8bdb3f93 39
39c4a6cf 40XXX For a release on a stable branch, this section aspires to be:
1178d2cf 41
39c4a6cf
PM
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.
1178d2cf 45
39c4a6cf 46[ List each incompatible change as a =head2 entry ]
f6f3144e 47
39c4a6cf 48=head1 Deprecations
7065301c 49
39c4a6cf 50XXX Any deprecated features, syntax, modules etc. should be listed here.
7065301c 51
39c4a6cf 52=head2 Module removals
b3e82ed1 53
39c4a6cf 54XXX Remove this section if inapplicable.
ca58223b 55
39c4a6cf
PM
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.
ca58223b 60
39c4a6cf
PM
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.
23b03637 64
39c4a6cf
PM
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.
23b03637 69
39c4a6cf 70=over
85e8fb10 71
39c4a6cf 72=item XXX
85e8fb10 73
39c4a6cf
PM
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.
134f90c2 76
39c4a6cf 77=back
134f90c2 78
39c4a6cf 79[ List each other deprecation as a =head2 entry ]
ff433f2d 80
39c4a6cf 81=head1 Performance Enhancements
ff433f2d 82
39c4a6cf
PM
83XXX Changes which enhance performance without changing behaviour go here.
84There may well be none in a stable release.
134f90c2 85
39c4a6cf 86[ List each enhancement as a =item entry ]
134f90c2 87
39c4a6cf 88=over 4
7d19f6a1 89
7d19f6a1
PM
90=item *
91
39c4a6cf 92XXX
55e8b286 93
39c4a6cf 94=back
55e8b286 95
39c4a6cf 96=head1 Modules and Pragmata
d99849ae 97
39c4a6cf
PM
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.
d99849ae 103
39c4a6cf 104[ Within each section, list entries as a =item entry ]
ff433f2d 105
39c4a6cf 106=head2 New Modules and Pragmata
ff433f2d 107
39c4a6cf 108=over 4
ff433f2d
PM
109
110=item *
111
39c4a6cf 112XXX
0bb39c26 113
39c4a6cf 114=back
0bb39c26 115
39c4a6cf 116=head2 Updated Modules and Pragmata
9c97a342 117
39c4a6cf 118=over 4
d99849ae
PM
119
120=item *
121
39c4a6cf 122L<XXX> has been upgraded from version A.xx to B.yy.
6ab3666b 123
233a4069
JK
124=item *
125
126L<File::Find> has been upgraded from version 1.27 to 1.28.
127C<find()> and C<finddepth()> will now warn if passed inappropriate or
128misspelled options.
129
39c4a6cf 130=back
9c97a342 131
39c4a6cf 132=head2 Removed Modules and Pragmata
d99849ae 133
39c4a6cf 134=over 4
d99849ae 135
ff433f2d
PM
136=item *
137
39c4a6cf 138XXX
ff433f2d 139
13900f93 140=back
aac7f82f 141
13900f93 142=head1 Documentation
aac7f82f 143
39c4a6cf
PM
144XXX Changes to files in F<pod/> go here. Consider grouping entries by
145file and be sure to link to the appropriate page, e.g. L<perlfunc>.
6d9b7c7c 146
39c4a6cf 147=head2 New Documentation
2a395b86 148
39c4a6cf 149XXX Changes which create B<new> files in F<pod/> go here.
2a395b86 150
39c4a6cf 151=head3 L<XXX>
2a395b86 152
39c4a6cf 153XXX Description of the purpose of the new file here
2a395b86 154
39c4a6cf 155=head2 Changes to Existing Documentation
2a395b86 156
39c4a6cf
PM
157XXX Changes which significantly change existing files in F<pod/> go here.
158However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
159section.
160
161=head3 L<XXX>
2a395b86
PM
162
163=over 4
164
165=item *
166
39c4a6cf 167XXX Description of the change here
2a395b86
PM
168
169=back
170
39c4a6cf 171=head1 Diagnostics
2a395b86 172
39c4a6cf
PM
173The following additions or changes have been made to diagnostic output,
174including warnings and fatal error messages. For the complete list of
175diagnostic messages, see L<perldiag>.
2a395b86 176
39c4a6cf
PM
177XXX New or changed warnings emitted by the core's C<C> code go here. Also
178include any changes in L<perldiag> that reconcile it to the C<C> code.
2a395b86 179
39c4a6cf 180=head2 New Diagnostics
0f4a583b 181
39c4a6cf
PM
182XXX Newly added diagnostic messages go under here, separated into New Errors
183and New Warnings
2a395b86 184
39c4a6cf 185=head3 New Errors
2a395b86
PM
186
187=over 4
188
189=item *
190
39c4a6cf 191XXX L<message|perldiag/"message">
2a395b86
PM
192
193=back
194
39c4a6cf 195=head3 New Warnings
2a395b86
PM
196
197=over 4
198
199=item *
200
39c4a6cf 201XXX L<message|perldiag/"message">
2a395b86
PM
202
203=back
6d9b7c7c 204
39c4a6cf
PM
205=head2 Changes to Existing Diagnostics
206
207XXX Changes (i.e. rewording) of diagnostic messages go here
7f55cec0 208
13900f93 209=over 4
7f55cec0
SH
210
211=item *
212
39c4a6cf 213XXX Describe change here
aac7f82f 214
13900f93 215=back
aac7f82f 216
39c4a6cf 217=head1 Utility Changes
091fed7c 218
39c4a6cf
PM
219XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
220Most of these are built within the directory F<utils>.
902c1f75 221
39c4a6cf
PM
222[ List utility changes as a =head2 entry for each utility and =item
223entries for each change
224Use L<XXX> with program names to get proper documentation linking. ]
2901561d 225
39c4a6cf 226=head2 L<XXX>
4594cf53 227
13900f93 228=over 4
96dcbc37
DD
229
230=item *
231
39c4a6cf 232XXX
a1d26ccd 233
39c4a6cf 234=back
a1d26ccd 235
39c4a6cf 236=head1 Configuration and Compilation
7065301c 237
39c4a6cf
PM
238XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
239go here. Any other changes to the Perl build process should be listed here.
240However, any platform-specific changes should be listed in the
241L</Platform Support> section, instead.
58f25ac1 242
39c4a6cf 243[ List changes as a =item entry ].
13900f93
A
244
245=over 4
58f25ac1
MH
246
247=item *
248
39c4a6cf 249XXX
a5873648 250
39c4a6cf 251=back
a5873648 252
39c4a6cf 253=head1 Testing
a5873648 254
39c4a6cf
PM
255XXX Any significant changes to the testing of a freshly built perl should be
256listed here. Changes which create B<new> files in F<t/> go here as do any
257large changes to the testing harness (e.g. when parallel testing was added).
258Changes to existing files in F<t/> aren't worth summarizing, although the bugs
259that they represent may be covered elsewhere.
a5873648 260
39c4a6cf 261[ List each test improvement as a =item entry ]
a5873648 262
39c4a6cf 263=over 4
a5873648
PM
264
265=item *
266
39c4a6cf 267XXX
a5873648 268
58f25ac1
MH
269=back
270
39c4a6cf 271=head1 Platform Support
b10906fb 272
39c4a6cf 273XXX Any changes to platform support should be listed in the sections below.
b10906fb 274
39c4a6cf
PM
275[ Within the sections, list each platform as a =item entry with specific
276changes as paragraphs below it. ]
b10906fb 277
39c4a6cf 278=head2 New Platforms
b10906fb 279
39c4a6cf
PM
280XXX List any platforms that this version of perl compiles on, that previous
281versions did not. These will either be enabled by new files in the F<hints/>
282directories, or new subdirectories and F<README> files at the top level of the
283source tree.
13900f93 284
7065301c 285=over 4
24a38d90 286
39c4a6cf 287=item XXX-some-platform
24a38d90 288
39c4a6cf 289XXX
bb076206 290
7065301c
RS
291=back
292
39c4a6cf 293=head2 Discontinued Platforms
097675bf 294
39c4a6cf 295XXX List any platforms that this version of perl no longer compiles on.
b3211734 296
6e97d65d 297=over 4
b3211734 298
39c4a6cf 299=item XXX-some-platform
7065301c 300
39c4a6cf 301XXX
13900f93 302
39c4a6cf 303=back
7d0ccdba 304
39c4a6cf 305=head2 Platform-Specific Notes
7d0ccdba 306
39c4a6cf
PM
307XXX List any changes for specific platforms. This could include configuration
308and compilation changes or changes in portability/compatibility. However,
309changes within modules for platforms should generally be listed in the
310L</Modules and Pragmata> section.
6e97d65d 311
39c4a6cf 312=over 4
6e97d65d 313
39c4a6cf 314=item XXX-some-platform
6e97d65d 315
39c4a6cf 316XXX
7d0ccdba 317
7065301c
RS
318=back
319
320=head1 Internal Changes
321
39c4a6cf
PM
322XXX Changes which affect the interface available to C<XS> code go here. Other
323significant internal changes for future core maintainers should be noted as
324well.
c9fcb674 325
39c4a6cf 326[ List each change as a =item entry ]
a835cd47 327
39c4a6cf 328=over 4
c1284011 329
1c43698b
PM
330=item *
331
39c4a6cf 332XXX
1c43698b 333
6d9b7c7c 334=back
c1284011 335
6d9b7c7c 336=head1 Selected Bug Fixes
375f5f06 337
39c4a6cf
PM
338XXX Important bug fixes in the core language are summarized here. Bug fixes in
339files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
340
341[ List each fix as a =item entry ]
342
0346c3a9 343=over 4
375f5f06 344
2884baee
MH
345=item *
346
39c4a6cf 347XXX
2884baee 348
39c4a6cf 349=back
b756670b 350
39c4a6cf 351=head1 Known Problems
b756670b 352
39c4a6cf
PM
353XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
354tests that had to be C<TODO>ed for the release would be noted here. Unfixed
355platform specific bugs also go here.
e917e94e 356
39c4a6cf
PM
357[ List each fix as a =item entry ]
358
359=over 4
e917e94e 360
26dd5fd6
PM
361=item *
362
39c4a6cf 363XXX
26dd5fd6 364
13900f93
A
365=back
366
39c4a6cf 367=head1 Errata From Previous Releases
e831f11a 368
39c4a6cf
PM
369=over 4
370
371=item *
ff433f2d 372
39c4a6cf
PM
373XXX Add anything here that we forgot to add, or were mistaken about, in
374the perldelta of a previous release.
ff433f2d 375
39c4a6cf
PM
376=back
377
378=head1 Obituary
ff433f2d 379
39c4a6cf
PM
380XXX If any significant core contributor has died, we've added a short obituary
381here.
ff433f2d 382
39c4a6cf 383=head1 Acknowledgements
ff433f2d 384
39c4a6cf 385XXX Generate this with:
e831f11a 386
39c4a6cf 387 perl Porting/acknowledgements.pl v5.21.3..HEAD
f5b73711 388
44691e6f
AB
389=head1 Reporting Bugs
390
e08634c5
SH
391If you find what you think is a bug, you might check the articles recently
392posted to the comp.lang.perl.misc newsgroup and the perl bug database at
238894db 393https://rt.perl.org/ . There may also be information at
7ef8b31d 394http://www.perl.org/ , the Perl Home Page.
44691e6f 395
e08634c5
SH
396If you believe you have an unreported bug, please run the L<perlbug> program
397included with your release. Be sure to trim your bug down to a tiny but
398sufficient test case. Your bug report, along with the output of C<perl -V>,
399will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
400
401If the bug you are reporting has security implications, which make it
e08634c5
SH
402inappropriate to send to a publicly archived mailing list, then please send it
403to perl5-security-report@perl.org. This points to a closed subscription
404unarchived mailing list, which includes all the core committers, who will be
405able to help assess the impact of issues, figure out a resolution, and help
f9001595 406co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
407platforms on which Perl is supported. Please only use this address for
408security issues in the Perl core, not for modules independently distributed on
409CPAN.
44691e6f
AB
410
411=head1 SEE ALSO
412
e08634c5
SH
413The F<Changes> file for an explanation of how to view exhaustive details on
414what changed.
44691e6f
AB
415
416The F<INSTALL> file for how to build Perl.
417
418The F<README> file for general stuff.
419
420The F<Artistic> and F<Copying> files for copyright information.
421
422=cut