This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta: Clarify removal vs deprecation of modules
[perl5.git] / Porting / perldelta_template.pod
CommitLineData
bc7f466f
DM
1=encoding utf8
2
57b3b745
DM
3=head1 NAME
4
e08634c5
SH
5[ this is a template for a new perldelta file. Any text flagged as XXX needs
6to be processed before release. ]
57b3b745 7
bcfe7366 8perldelta - what is new for perl v5.tXXX.cXXX
57b3b745
DM
9
10=head1 DESCRIPTION
11
e08634c5
SH
12This document describes differences between the 5.sXXX.bXXX release and the 5.tXXX.cXXX
13release.
57b3b745 14
bcfe7366 15If you are upgrading from an earlier release such as 5.rXXX.aXXX, first read
e08634c5 16L<perl5XXXdelta>, which describes differences between 5.rXXX.aXXX and 5.sXXX.bXXX.
57b3b745
DM
17
18=head1 Notice
19
20XXX Any important notices here
21
be83b7f4
DG
22=head1 Core Enhancements
23
e08634c5
SH
24XXX New core language features go here. Summarize user-visible core language
25enhancements. Particularly prominent performance optimisations could go
be83b7f4
DG
26here, but most should go in the L</Performance Enhancements> section.
27
28[ List each enhancement as a =head2 entry ]
29
30=head1 Security
31
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.
35
36[ List each security issue as a =head2 entry ]
37
57b3b745
DM
38=head1 Incompatible Changes
39
40XXX For a release on a stable branch, this section aspires to be:
41
307f4217 42 There are no changes intentionally incompatible with 5.XXX.XXX
22b2f5f8
KW
43 If any exist, they are bugs, and we request that you submit a
44 report. See L</Reporting Bugs> below.
57b3b745 45
be83b7f4 46[ List each incompatible change as a =head2 entry ]
57b3b745 47
be83b7f4 48=head1 Deprecations
57b3b745 49
c68b7fe2 50XXX Any deprecated features, syntax, modules etc. should be listed here.
57b3b745 51
c68b7fe2
AP
52=head2 Module removals
53
54XXX Remove this section if inapplicable.
55
56The following modules will be removed from the core distribution in a future
57release, and will at that time need to be installed from CPAN. Distributions
58on CPAN which require these modules will need to list them as prerequisites.
59
60The core versions of these modules will now issue C<"deprecated">-category
61warnings to alert you to this fact. To silence these deprecation warnings,
62install the modules in question from CPAN.
63
64Note that these are (with rare exceptions) fine modules that you are encouraged
65to continue to use. Their disinclusion from core primarily hinges on their
66necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
67not usually on concerns over their design.
68
69=over
70
71XXX Note that deprecated modules should be listed here even if they are listed
72as an updated module in the L</Modules and Pragmata> section.
73
74=back
75
76[ List each other deprecation as a =head2 entry ]
57b3b745 77
be83b7f4
DG
78=head1 Performance Enhancements
79
e08634c5
SH
80XXX Changes which enhance performance without changing behaviour go here.
81There may well be none in a stable release.
be83b7f4
DG
82
83[ List each enhancement as a =item entry ]
84
85=over 4
86
87=item *
88
89XXX
90
91=back
57b3b745
DM
92
93=head1 Modules and Pragmata
94
42a0894d 95XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
88e14305
DG
96go here. If Module::CoreList is updated, generate an initial draft of the
97following sections using F<Porting/corelist-perldelta.pl>, which prints stub
98entries to STDOUT. Results can be pasted in place of the '=head2' entries
99below. A paragraph summary for important changes should then be added by hand.
100In an ideal world, dual-life modules would have a F<Changes> file that could be
101cribbed.
57b3b745 102
be83b7f4
DG
103[ Within each section, list entries as a =item entry ]
104
57b3b745
DM
105=head2 New Modules and Pragmata
106
be83b7f4 107=over 4
57b3b745 108
be83b7f4 109=item *
57b3b745 110
be83b7f4 111XXX
57b3b745 112
be83b7f4 113=back
57b3b745 114
be83b7f4 115=head2 Updated Modules and Pragmata
57b3b745
DM
116
117=over 4
118
be83b7f4
DG
119=item *
120
e08634c5 121L<XXX> has been upgraded from version A.xx to B.yy.
be83b7f4
DG
122
123=back
124
125=head2 Removed Modules and Pragmata
126
127=over 4
128
129=item *
57b3b745
DM
130
131XXX
132
133=back
134
be83b7f4
DG
135=head1 Documentation
136
137XXX Changes to files in F<pod/> go here. Consider grouping entries by
138file and be sure to link to the appropriate page, e.g. L<perlfunc>.
139
be83b7f4 140=head2 New Documentation
57b3b745
DM
141
142XXX Changes which create B<new> files in F<pod/> go here.
143
6f56ac39 144=head3 L<XXX>
57b3b745 145
6f56ac39 146XXX Description of the purpose of the new file here
57b3b745 147
be83b7f4 148=head2 Changes to Existing Documentation
57b3b745
DM
149
150XXX Changes which significantly change existing files in F<pod/> go here.
be83b7f4
DG
151However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
152section.
57b3b745 153
6f56ac39
DG
154=head3 L<XXX>
155
be83b7f4 156=over 4
57b3b745 157
6f56ac39 158=item *
57b3b745 159
6f56ac39 160XXX Description of the change here
be83b7f4
DG
161
162=back
163
164=head1 Diagnostics
165
166The following additions or changes have been made to diagnostic output,
167including warnings and fatal error messages. For the complete list of
168diagnostic messages, see L<perldiag>.
169
e08634c5 170XXX New or changed warnings emitted by the core's C<C> code go here. Also
be83b7f4
DG
171include any changes in L<perldiag> that reconcile it to the C<C> code.
172
be83b7f4
DG
173=head2 New Diagnostics
174
e08634c5
SH
175XXX Newly added diagnostic messages go under here, separated into New Errors
176and New Warnings
57b3b745 177
18a6db11
DG
178=head3 New Errors
179
57b3b745
DM
180=over 4
181
182=item *
183
18a6db11
DG
184XXX L<message|perldiag/"message">
185
186=back
187
188=head3 New Warnings
189
190=over 4
191
192=item *
193
194XXX L<message|perldiag/"message">
57b3b745
DM
195
196=back
197
be83b7f4 198=head2 Changes to Existing Diagnostics
57b3b745 199
be83b7f4 200XXX Changes (i.e. rewording) of diagnostic messages go here
57b3b745 201
be83b7f4
DG
202=over 4
203
204=item *
57b3b745 205
18a6db11 206XXX Describe change here
57b3b745 207
be83b7f4
DG
208=back
209
210=head1 Utility Changes
211
e08634c5
SH
212XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
213Most of these are built within the directories F<utils> and F<x2p>.
be83b7f4 214
6f56ac39
DG
215[ List utility changes as a =head3 entry for each utility and =item
216entries for each change
217Use L<XXX> with program names to get proper documentation linking. ]
218
219=head3 L<XXX>
be83b7f4
DG
220
221=over 4
222
6f56ac39 223=item *
57b3b745
DM
224
225XXX
226
be83b7f4
DG
227=back
228
229=head1 Configuration and Compilation
230
231XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
232go here. Any other changes to the Perl build process should be listed here.
233However, any platform-specific changes should be listed in the
234L</Platform Support> section, instead.
235
236[ List changes as a =item entry ].
57b3b745
DM
237
238=over 4
239
be83b7f4 240=item *
57b3b745
DM
241
242XXX
243
244=back
245
be83b7f4 246=head1 Testing
57b3b745 247
be83b7f4
DG
248XXX Any significant changes to the testing of a freshly built perl should be
249listed here. Changes which create B<new> files in F<t/> go here as do any
250large changes to the testing harness (e.g. when parallel testing was added).
e08634c5 251Changes to existing files in F<t/> aren't worth summarizing, although the bugs
be83b7f4
DG
252that they represent may be covered elsewhere.
253
254[ List each test improvement as a =item entry ]
57b3b745
DM
255
256=over 4
257
258=item *
259
260XXX
261
262=back
263
be83b7f4
DG
264=head1 Platform Support
265
266XXX Any changes to platform support should be listed in the sections below.
267
268[ Within the sections, list each platform as a =item entry with specific
269changes as paragraphs below it. ]
270
271=head2 New Platforms
57b3b745 272
be83b7f4 273XXX List any platforms that this version of perl compiles on, that previous
e08634c5 274versions did not. These will either be enabled by new files in the F<hints/>
be83b7f4
DG
275directories, or new subdirectories and F<README> files at the top level of the
276source tree.
57b3b745
DM
277
278=over 4
279
be83b7f4 280=item XXX-some-platform
57b3b745
DM
281
282XXX
283
284=back
285
be83b7f4 286=head2 Discontinued Platforms
57b3b745 287
be83b7f4 288XXX List any platforms that this version of perl no longer compiles on.
57b3b745
DM
289
290=over 4
291
be83b7f4 292=item XXX-some-platform
57b3b745
DM
293
294XXX
295
296=back
297
be83b7f4 298=head2 Platform-Specific Notes
57b3b745 299
e08634c5 300XXX List any changes for specific platforms. This could include configuration
be83b7f4
DG
301and compilation changes or changes in portability/compatibility. However,
302changes within modules for platforms should generally be listed in the
303L</Modules and Pragmata> section.
57b3b745
DM
304
305=over 4
306
be83b7f4 307=item XXX-some-platform
57b3b745
DM
308
309XXX
310
311=back
312
be83b7f4 313=head1 Internal Changes
57b3b745 314
e08634c5
SH
315XXX Changes which affect the interface available to C<XS> code go here. Other
316significant internal changes for future core maintainers should be noted as
317well.
57b3b745 318
6fdf246e 319[ List each change as a =item entry ]
57b3b745
DM
320
321=over 4
322
323=item *
324
325XXX
326
327=back
328
be83b7f4 329=head1 Selected Bug Fixes
57b3b745 330
e08634c5
SH
331XXX Important bug fixes in the core language are summarized here. Bug fixes in
332files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
57b3b745 333
be83b7f4 334[ List each fix as a =item entry ]
57b3b745
DM
335
336=over 4
337
338=item *
339
340XXX
341
342=back
343
be83b7f4 344=head1 Known Problems
57b3b745 345
e08634c5
SH
346XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
347tests that had to be C<TODO>ed for the release would be noted here. Unfixed
8ef13de7 348platform specific bugs also go here.
be83b7f4
DG
349
350[ List each fix as a =item entry ]
351
352=over 4
353
354=item *
355
356XXX
357
358=back
57b3b745 359
345e2394 360=head1 Obituary
57b3b745
DM
361
362XXX If any significant core contributor has died, we've added a short obituary
363here.
364
365=head1 Acknowledgements
366
f1c1ecab 367XXX Generate this with:
548e9a3a 368
4f9ffe59 369 perl Porting/acknowledgements.pl v5.18.0..HEAD
57b3b745 370
57b3b745
DM
371=head1 Reporting Bugs
372
e08634c5
SH
373If you find what you think is a bug, you might check the articles recently
374posted to the comp.lang.perl.misc newsgroup and the perl bug database at
375http://rt.perl.org/perlbug/ . There may also be information at
376http://www.perl.org/ , the Perl Home Page.
57b3b745 377
e08634c5
SH
378If you believe you have an unreported bug, please run the L<perlbug> program
379included with your release. Be sure to trim your bug down to a tiny but
380sufficient test case. Your bug report, along with the output of C<perl -V>,
381will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
57b3b745
DM
382
383If the bug you are reporting has security implications, which make it
e08634c5
SH
384inappropriate to send to a publicly archived mailing list, then please send it
385to perl5-security-report@perl.org. This points to a closed subscription
386unarchived mailing list, which includes all the core committers, who will be
387able to help assess the impact of issues, figure out a resolution, and help
57b3b745 388co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
389platforms on which Perl is supported. Please only use this address for
390security issues in the Perl core, not for modules independently distributed on
391CPAN.
57b3b745
DM
392
393=head1 SEE ALSO
394
e08634c5
SH
395The F<Changes> file for an explanation of how to view exhaustive details on
396what changed.
57b3b745
DM
397
398The F<INSTALL> file for how to build Perl.
399
400The F<README> file for general stuff.
401
402The F<Artistic> and F<Copying> files for copyright information.
403
404=cut