This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Make perlbug look up the list of local patches at run time
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
38663f11
DG
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.19.2
e128ab2c 9
4eabcf70 10=head1 DESCRIPTION
6db9054f 11
38663f11 12This document describes differences between the 5.19.1 release and the 5.19.2
e08634c5 13release.
6db9054f 14
38663f11
DG
15If you are upgrading from an earlier release such as 5.19.0, first read
16L<perl5191delta>, which describes differences between 5.19.0 and 5.19.1.
42bff0d9 17
38663f11 18=head1 Notice
42bff0d9 19
38663f11 20XXX Any important notices here
d69d1f92 21
38663f11 22=head1 Core Enhancements
287d2d21 23
38663f11
DG
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.
287d2d21 27
38663f11 28[ List each enhancement as a =head2 entry ]
287d2d21 29
38663f11 30=head1 Security
42bff0d9 31
38663f11
DG
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.
42bff0d9 35
38663f11 36[ List each security issue as a =head2 entry ]
42bff0d9 37
38663f11 38=head1 Incompatible Changes
42bff0d9 39
38663f11 40XXX For a release on a stable branch, this section aspires to be:
42bff0d9 41
38663f11
DG
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.
42bff0d9 45
38663f11 46[ List each incompatible change as a =head2 entry ]
42bff0d9 47
38663f11 48=head1 Deprecations
42bff0d9 49
38663f11 50XXX Any deprecated features, syntax, modules etc. should be listed here.
42bff0d9 51
38663f11 52=head2 Module removals
42bff0d9 53
38663f11 54XXX Remove this section if inapplicable.
42bff0d9 55
38663f11
DG
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.
42bff0d9 59
38663f11
DG
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.
42bff0d9 63
38663f11
DG
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.
42bff0d9 68
38663f11 69=over
42bff0d9 70
38663f11
DG
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.
42bff0d9 73
38663f11 74=back
42bff0d9 75
38663f11 76[ List each other deprecation as a =head2 entry ]
42bff0d9 77
38663f11 78=head1 Performance Enhancements
42bff0d9 79
38663f11
DG
80XXX Changes which enhance performance without changing behaviour go here.
81There may well be none in a stable release.
42bff0d9 82
38663f11 83[ List each enhancement as a =item entry ]
42bff0d9 84
38663f11 85=over 4
42bff0d9
DG
86
87=item *
88
38663f11 89XXX
42bff0d9 90
38663f11 91=back
42bff0d9 92
38663f11 93=head1 Modules and Pragmata
42bff0d9 94
38663f11
DG
95XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
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.
42bff0d9 102
38663f11 103[ Within each section, list entries as a =item entry ]
42bff0d9 104
38663f11 105=head2 New Modules and Pragmata
42bff0d9 106
38663f11 107=over 4
42bff0d9
DG
108
109=item *
110
38663f11 111XXX
42bff0d9 112
38663f11 113=back
42bff0d9 114
38663f11 115=head2 Updated Modules and Pragmata
42bff0d9 116
38663f11 117=over 4
42bff0d9
DG
118
119=item *
120
38663f11 121L<XXX> has been upgraded from version A.xx to B.yy.
42bff0d9 122
38663f11 123=back
42bff0d9 124
38663f11 125=head2 Removed Modules and Pragmata
42bff0d9 126
38663f11 127=over 4
42bff0d9
DG
128
129=item *
130
38663f11 131XXX
42bff0d9 132
38663f11 133=back
42bff0d9 134
38663f11 135=head1 Documentation
42bff0d9 136
38663f11
DG
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>.
42bff0d9 139
38663f11 140=head2 New Documentation
42bff0d9 141
38663f11 142XXX Changes which create B<new> files in F<pod/> go here.
42bff0d9 143
38663f11 144=head3 L<XXX>
42bff0d9 145
38663f11 146XXX Description of the purpose of the new file here
42bff0d9 147
38663f11 148=head2 Changes to Existing Documentation
42bff0d9 149
38663f11
DG
150XXX Changes which significantly change existing files in F<pod/> go here.
151However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
152section.
dbd04185 153
41f6d116 154=head3 L<perlexperiment>
dbd04185 155
38663f11 156=over 4
583aa5c2 157
1fdd5e53
KW
158=item *
159
41f6d116
RS
160Code in regular expressions, regular expression backtracking verbs,
161and lvalue subroutines are no longer listed as experimental. (This
162also affects L<perlre> and L<perlsub>.)
42bff0d9 163
38663f11 164=back
42bff0d9 165
38663f11 166=head1 Diagnostics
42bff0d9 167
38663f11
DG
168The following additions or changes have been made to diagnostic output,
169including warnings and fatal error messages. For the complete list of
170diagnostic messages, see L<perldiag>.
42bff0d9 171
38663f11
DG
172XXX New or changed warnings emitted by the core's C<C> code go here. Also
173include any changes in L<perldiag> that reconcile it to the C<C> code.
42bff0d9 174
38663f11 175=head2 New Diagnostics
42bff0d9 176
38663f11
DG
177XXX Newly added diagnostic messages go under here, separated into New Errors
178and New Warnings
42bff0d9 179
38663f11 180=head3 New Errors
42bff0d9 181
38663f11 182=over 4
42bff0d9
DG
183
184=item *
185
38663f11 186XXX L<message|perldiag/"message">
1fdd5e53 187
583aa5c2
RS
188=back
189
38663f11 190=head3 New Warnings
583aa5c2 191
38663f11 192=over 4
583aa5c2 193
b8a02ff1 194=item *
583aa5c2 195
38663f11 196XXX L<message|perldiag/"message">
583aa5c2 197
b8a02ff1 198=back
583aa5c2 199
38663f11 200=head2 Changes to Existing Diagnostics
96d496e4 201
38663f11 202XXX Changes (i.e. rewording) of diagnostic messages go here
b8a02ff1 203
38663f11 204=over 4
b8a02ff1
DG
205
206=item *
207
38663f11 208XXX Describe change here
96d496e4
RS
209
210=back
211
38663f11 212=head1 Utility Changes
d7bfa554 213
38663f11
DG
214XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
215Most of these are built within the directories F<utils> and F<x2p>.
d7bfa554 216
38663f11
DG
217[ List utility changes as a =head3 entry for each utility and =item
218entries for each change
219Use L<XXX> with program names to get proper documentation linking. ]
d7bfa554 220
38663f11 221=head3 L<XXX>
583aa5c2
RS
222
223=over 4
1993add8 224
e9912eaa 225=item *
ec985017 226
38663f11 227XXX
583aa5c2
RS
228
229=back
230
38663f11 231=head1 Configuration and Compilation
583aa5c2 232
38663f11
DG
233XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
234go here. Any other changes to the Perl build process should be listed here.
235However, any platform-specific changes should be listed in the
236L</Platform Support> section, instead.
583aa5c2 237
38663f11 238[ List changes as a =item entry ].
583aa5c2
RS
239
240=over 4
71e6aba6 241
d5f315e8
KW
242=item *
243
38663f11 244XXX
d5f315e8 245
337fb649 246=back
2426c394 247
38663f11 248=head1 Testing
357b01df 249
38663f11
DG
250XXX Any significant changes to the testing of a freshly built perl should be
251listed here. Changes which create B<new> files in F<t/> go here as do any
252large changes to the testing harness (e.g. when parallel testing was added).
253Changes to existing files in F<t/> aren't worth summarizing, although the bugs
254that they represent may be covered elsewhere.
4724da03 255
38663f11 256[ List each test improvement as a =item entry ]
357b01df 257
583aa5c2 258=over 4
357b01df 259
583aa5c2 260=item *
357b01df 261
38663f11 262XXX
4724da03 263
38663f11 264=back
4724da03 265
38663f11 266=head1 Platform Support
4724da03 267
38663f11 268XXX Any changes to platform support should be listed in the sections below.
4724da03 269
38663f11
DG
270[ Within the sections, list each platform as a =item entry with specific
271changes as paragraphs below it. ]
4724da03 272
38663f11 273=head2 New Platforms
4724da03 274
38663f11
DG
275XXX List any platforms that this version of perl compiles on, that previous
276versions did not. These will either be enabled by new files in the F<hints/>
277directories, or new subdirectories and F<README> files at the top level of the
278source tree.
4724da03 279
38663f11 280=over 4
357b01df 281
38663f11 282=item XXX-some-platform
583aa5c2 283
38663f11 284XXX
4724da03 285
38663f11 286=back
583aa5c2 287
583aa5c2
RS
288=head2 Discontinued Platforms
289
38663f11
DG
290XXX List any platforms that this version of perl no longer compiles on.
291
583aa5c2
RS
292=over 4
293
38663f11 294=item XXX-some-platform
d7bfa554 295
38663f11 296XXX
d7bfa554 297
583aa5c2
RS
298=back
299
300=head2 Platform-Specific Notes
301
38663f11
DG
302XXX List any changes for specific platforms. This could include configuration
303and compilation changes or changes in portability/compatibility. However,
304changes within modules for platforms should generally be listed in the
305L</Modules and Pragmata> section.
583aa5c2 306
38663f11 307=over 4
a34da6c4 308
38663f11 309=item XXX-some-platform
a34da6c4 310
38663f11 311XXX
a34da6c4 312
583aa5c2
RS
313=back
314
315=head1 Internal Changes
316
38663f11
DG
317XXX Changes which affect the interface available to C<XS> code go here. Other
318significant internal changes for future core maintainers should be noted as
319well.
583aa5c2 320
38663f11 321[ List each change as a =item entry ]
583aa5c2 322
38663f11 323=over 4
1de7c8e6 324
d7bfa554
DG
325=item *
326
eca6ff41
NC
327The Makefile shortcut targets for many rarely (or never) used testing and
328profiling targets have been removed, or merged into the only other Makefile
329target that uses them. Specifically, these targets are gone, along with
330documentation that referenced them or explained how to use them:
331
332 check.third check.utf16 check.utf8 coretest minitest.prep
333 minitest.utf16 perl.config.dashg perl.config.dashpg
334 perl.config.gcov perl.gcov perl.gprof perl.gprof.config perl.pixie
335 perl.pixie.atom perl.pixie.config perl.pixie.irix perl.third
336 perl.third.config pureperl purecovperl quantperl test.deparse
337 test.taintwarn test.third test.torture test.utf16 test.utf8
338 test_notty.deparse test_notty.third test_prep.third torturetest
339 ucheck ucheck.third ucheck.utf16 ucheck.valgrind utest utest.third
340 utest.utf16 utest.valgrind
341
342It's still possible to run the relevant commands by "hand" - no underlying
343functionality has been removed.
d7bfa554 344
583aa5c2
RS
345=back
346
347=head1 Selected Bug Fixes
348
38663f11
DG
349XXX Important bug fixes in the core language are summarized here. Bug fixes in
350files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
acfe52c8 351
38663f11 352[ List each fix as a =item entry ]
a2ef523e 353
38663f11 354=over 4
42dd67ca 355
e0d46238
FC
356=item *
357
38663f11 358XXX
d7bfa554 359
38663f11 360=back
d7bfa554 361
38663f11 362=head1 Known Problems
6810f0ad 363
38663f11
DG
364XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
365tests that had to be C<TODO>ed for the release would be noted here. Unfixed
366platform specific bugs also go here.
6810f0ad 367
38663f11 368[ List each fix as a =item entry ]
0e417e4d 369
38663f11 370=over 4
14fd9356
FC
371
372=item *
373
38663f11 374XXX
0e417e4d 375
38663f11 376=back
583aa5c2 377
38663f11 378=head1 Obituary
583aa5c2 379
38663f11
DG
380XXX If any significant core contributor has died, we've added a short obituary
381here.
583aa5c2 382
583aa5c2 383=head1 Acknowledgements
a75569c0 384
38663f11
DG
385XXX Generate this with:
386
387 perl Porting/acknowledgements.pl v5.19.1..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
393http://rt.perl.org/perlbug/ . There may also be information at
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