This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Bump re’s version
[perl5.git] / pod / perldelta.pod
CommitLineData
4c793fe3
FR
1=encoding utf8
2
3=head1 NAME
4
8f97a47a
TM
5[ this is a template for a new perldelta file. Any text flagged as
6XXX needs to be processed before release. ]
4c793fe3 7
8f97a47a 8perldelta - what is new for perl v5.13.7
a12cf05f 9
8f97a47a 10=head1 DESCRIPTION
fb121860 11
8f97a47a
TM
12This document describes differences between the 5.13.6 release and
13the 5.13.7 release.
eb32ee41 14
8f97a47a
TM
15If you are upgrading from an earlier release such as 5.13.5, first read
16L<perl5136delta>, which describes differences between 5.13.5 and
175.13.6.
eb32ee41 18
8f97a47a 19=head1 Notice
eb32ee41 20
8f97a47a 21XXX Any important notices here
5e26bbbe 22
8f97a47a 23=head1 Core Enhancements
5e26bbbe 24
8f97a47a
TM
25XXX New core language features go here. Summarise user-visible core language
26enhancements. Particularly prominent performance optimisations could go
27here, but most should go in the L</Performance Enhancements> section.
5e26bbbe 28
8f97a47a 29[ List each enhancement as a =head2 entry ]
4f65bc30 30
c035a075
DG
31=head2 Single term prototype
32
33The C<+> prototype is a special alternative to C<$> that will act like
34C<\[@%]> when given a literal array or hash variable, but will otherwise
35force scalar context on the argument. This is useful for functions which
36should accept either a literal array or an array reference as the argument:
37
38 sub smartpush (+@) {
39 my $aref = shift;
40 die "Not an array or arrayref" unless ref $aref eq 'ARRAY';
41 push @$aref, @_;
42 }
43
44When using the C<+> prototype, your function must check that the argument
45is of an acceptable type.
46
8f97a47a 47=head1 Security
4f65bc30 48
8f97a47a
TM
49XXX Any security-related notices go here. In particular, any security
50vulnerabilities closed should be noted here rather than in the
51L</Selected Bug Fixes> section.
0eec0a4c 52
8f97a47a 53[ List each security issue as a =head2 entry ]
0eec0a4c 54
4c793fe3
FR
55=head1 Incompatible Changes
56
8f97a47a 57XXX For a release on a stable branch, this section aspires to be:
9de15fec 58
8f97a47a
TM
59 There are no changes intentionally incompatible with 5.XXX.XXX. If any
60 exist, they are bugs and reports are welcome.
9de15fec 61
8f97a47a 62[ List each incompatible change as a =head2 entry ]
9de15fec 63
8f97a47a 64=head1 Deprecations
6904a83f 65
8f97a47a
TM
66XXX Any deprecated features, syntax, modules etc. should be listed here.
67In particular, deprecated modules should be listed here even if they are
68listed as an updated module in the L</Modules and Pragmata> section.
6904a83f 69
8f97a47a 70[ List each deprecation as a =head2 entry ]
afa74577 71
4c793fe3
FR
72=head1 Performance Enhancements
73
8f97a47a
TM
74XXX Changes which enhance performance without changing behaviour go here. There
75may well be none in a stable release.
4c793fe3 76
8f97a47a 77[ List each enhancement as a =item entry ]
e2babdfb 78
8f97a47a 79=over 4
e2babdfb 80
b141c43c
FR
81=item *
82
8f97a47a 83XXX
b141c43c 84
4c793fe3
FR
85=back
86
87=head1 Modules and Pragmata
88
8f97a47a
TM
89XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
90go here. If Module::CoreList is updated, generate an initial draft of the
91following sections using F<Porting/corelist-perldelta.pl>, which prints stub
92entries to STDOUT. Results can be pasted in place of the '=head2' entries
93below. A paragraph summary for important changes should then be added by hand.
94In an ideal world, dual-life modules would have a F<Changes> file that could be
95cribbed.
e2941eb0 96
8f97a47a 97[ Within each section, list entries as a =item entry ]
e2941eb0 98
8f97a47a 99=head2 New Modules and Pragmata
25e68b8b 100
8f97a47a 101=over 4
463da0ac
CBW
102
103=item *
104
8f97a47a 105XXX
6481ebaf 106
8f97a47a 107=back
6481ebaf 108
8f97a47a 109=head2 Updated Modules and Pragmata
6481ebaf 110
8f97a47a 111=over 4
ac4c9720
CBW
112
113=item *
114
8f97a47a 115XXX
dfa4c013 116
8f97a47a 117=back
dfa4c013 118
8f97a47a 119=head2 Removed Modules and Pragmata
c02ee425 120
8f97a47a 121=over 4
1393fe00
CBW
122
123=item *
124
8f97a47a 125XXX
c9a84c8b 126
8f97a47a 127=back
918184d1 128
8f97a47a 129=head1 Documentation
918184d1 130
8f97a47a
TM
131XXX Changes to files in F<pod/> go here. Consider grouping entries by
132file and be sure to link to the appropriate page, e.g. L<perlfunc>.
918184d1 133
8f97a47a 134=head2 New Documentation
dca41e57 135
8f97a47a 136XXX Changes which create B<new> files in F<pod/> go here.
dca41e57 137
8f97a47a 138=head3 L<XXX>
c9a84c8b 139
8f97a47a 140XXX Description of the purpose of the new file here
4c793fe3 141
ee0887a9 142=head2 Changes to Existing Documentation
fc1418b7 143
8f97a47a
TM
144XXX Changes which significantly change existing files in F<pod/> go here.
145However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
146section.
147
148=head3 L<XXX>
e2babdfb 149
7bc3efda
SH
150=over 4
151
152=item *
153
8f97a47a 154XXX Description of the change here
7bc3efda
SH
155
156=back
e2babdfb 157
4c793fe3
FR
158=head1 Diagnostics
159
160The following additions or changes have been made to diagnostic output,
161including warnings and fatal error messages. For the complete list of
162diagnostic messages, see L<perldiag>.
163
8f97a47a
TM
164XXX New or changed warnings emitted by the core's C<C> code go here. Also
165include any changes in L<perldiag> that reconcile it to the C<C> code.
4c793fe3 166
8f97a47a 167[ Within each section, list entries as a =item entry ]
4c793fe3 168
8f97a47a 169=head2 New Diagnostics
4c793fe3 170
8f97a47a 171XXX Newly added diagnostic messages go here
dc08898c
FC
172
173=over 4
174
175=item *
176
8f97a47a 177XXX
dc08898c
FC
178
179=back
180
8f97a47a 181=head2 Changes to Existing Diagnostics
4c793fe3 182
8f97a47a 183XXX Changes (i.e. rewording) of diagnostic messages go here
0c692eed 184
ee0887a9 185=over 4
0c692eed
FR
186
187=item *
188
8f97a47a 189XXX
4c793fe3
FR
190
191=back
192
8f97a47a 193=head1 Utility Changes
810f3b7c 194
8f97a47a
TM
195XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
196here. Most of these are built within the directories F<utils> and F<x2p>.
a9e68e41 197
8f97a47a
TM
198[ List utility changes as a =head3 entry for each utility and =item
199entries for each change
200Use L<XXX> with program names to get proper documentation linking. ]
a9e68e41 201
8f97a47a 202=head3 L<XXX>
85318b69 203
ee0887a9 204=over 4
80b6a949 205
e2babdfb
FR
206=item *
207
8f97a47a 208XXX
9ae8c3d9 209
ee0887a9 210=back
e2babdfb 211
8f97a47a 212=head1 Configuration and Compilation
e2babdfb 213
8f97a47a
TM
214XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
215go here. Any other changes to the Perl build process should be listed here.
216However, any platform-specific changes should be listed in the
217L</Platform Support> section, instead.
346e4e56 218
8f97a47a 219[ List changes as a =item entry ].
78846812 220
8f97a47a 221=over 4
e54f3f30
FC
222
223=item *
224
8f97a47a 225XXX
e54f3f30 226
8f97a47a 227=back
a5763045 228
8f97a47a 229=head1 Testing
5a9a79a4 230
8f97a47a
TM
231XXX Any significant changes to the testing of a freshly built perl should be
232listed here. Changes which create B<new> files in F<t/> go here as do any
233large changes to the testing harness (e.g. when parallel testing was added).
234Changes to existing files in F<t/> aren't worth summarising, although the bugs
235that they represent may be covered elsewhere.
5a9a79a4 236
8f97a47a 237[ List each test improvement as a =item entry ]
a7e93501 238
8f97a47a 239=over 4
a7e93501
FC
240
241=item *
242
8f97a47a 243XXX
a7e93501 244
8f97a47a 245=back
a7e93501 246
8f97a47a 247=head1 Platform Support
a7e93501 248
8f97a47a 249XXX Any changes to platform support should be listed in the sections below.
a7e93501 250
8f97a47a
TM
251[ Within the sections, list each platform as a =item entry with specific
252changes as paragraphs below it. ]
a7e93501 253
8f97a47a 254=head2 New Platforms
d4a59e54 255
8f97a47a
TM
256XXX List any platforms that this version of perl compiles on, that previous
257versions did not. These will either be enabled by new files in the F<hints/>
258directories, or new subdirectories and F<README> files at the top level of the
259source tree.
d4a59e54 260
8f97a47a 261=over 4
dc08898c 262
8f97a47a 263=item XXX-some-platform
dc08898c 264
8f97a47a 265XXX
dc08898c 266
8f97a47a 267=back
6904a83f 268
8f97a47a 269=head2 Discontinued Platforms
6904a83f 270
8f97a47a 271XXX List any platforms that this version of perl no longer compiles on.
6904a83f 272
8f97a47a 273=over 4
cffb3698 274
8f97a47a 275=item XXX-some-platform
ab4c2c27 276
8f97a47a 277XXX
ab4c2c27 278
8f97a47a 279=back
be1cc451 280
8f97a47a 281=head2 Platform-Specific Notes
be1cc451 282
8f97a47a
TM
283XXX List any changes for specific platforms. This could include configuration
284and compilation changes or changes in portability/compatibility. However,
285changes within modules for platforms should generally be listed in the
286L</Modules and Pragmata> section.
b20c4ee1 287
8f97a47a 288=over 4
b20c4ee1 289
8f97a47a 290=item XXX-some-platform
afa74577 291
8f97a47a 292XXX
afa74577 293
8f97a47a 294=back
c8bbf675 295
8f97a47a 296=head1 Internal Changes
c8bbf675 297
8f97a47a
TM
298XXX Changes which affect the interface available to C<XS> code go here.
299Other significant internal changes for future core maintainers should
300be noted as well.
07d5f7aa 301
8f97a47a 302[ List each test improvement as a =item entry ]
07d5f7aa 303
8f97a47a 304=over 4
07d5f7aa 305
9ae8c3d9
FC
306=item *
307
8f97a47a 308XXX
9ae8c3d9 309
8f97a47a 310=back
825563b9 311
8f97a47a 312=head1 Selected Bug Fixes
825563b9 313
8f97a47a
TM
314XXX Important bug fixes in the core language are summarised here.
315Bug fixes in files in F<ext/> and F<lib/> are best summarised in
316L</Modules and Pragmata>.
825563b9 317
8f97a47a 318[ List each fix as a =item entry ]
825563b9 319
8f97a47a 320=over 4
825563b9 321
020fe755
AB
322=item *
323
8f97a47a 324XXX
020fe755 325
8f97a47a 326=back
020fe755 327
8f97a47a 328=head1 Known Problems
020fe755 329
8f97a47a
TM
330XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
331tests that had to be C<TODO>ed for the release would be noted here, unless
332they were specific to a particular platform (see below).
62ff64ce 333
8f97a47a
TM
334This is a list of some significant unfixed bugs, which are regressions
335from either 5.XXX.XXX or 5.XXX.XXX.
62ff64ce 336
8f97a47a 337[ List each fix as a =item entry ]
62ff64ce 338
8f97a47a 339=over 4
62ff64ce
FC
340
341=item *
342
8f97a47a 343XXX
62ff64ce 344
4c793fe3
FR
345=back
346
8f97a47a 347=head1 Obituary
405fd67e 348
8f97a47a
TM
349XXX If any significant core contributor has died, we've added a short obituary
350here.
405fd67e 351
ee0887a9 352=head1 Acknowledgements
0195fb5f 353
8f97a47a 354XXX The list of people to thank goes here.
4c793fe3
FR
355
356=head1 Reporting Bugs
357
358If you find what you think is a bug, you might check the articles
359recently posted to the comp.lang.perl.misc newsgroup and the perl
360bug database at http://rt.perl.org/perlbug/ . There may also be
361information at http://www.perl.org/ , the Perl Home Page.
362
363If you believe you have an unreported bug, please run the B<perlbug>
364program included with your release. Be sure to trim your bug down
365to a tiny but sufficient test case. Your bug report, along with the
366output of C<perl -V>, will be sent off to perlbug@perl.org to be
367analysed by the Perl porting team.
368
369If the bug you are reporting has security implications, which make it
370inappropriate to send to a publicly archived mailing list, then please send
ee0887a9 371it to perl5-security-report@perl.org. This points to a closed subscription
4c793fe3
FR
372unarchived mailing list, which includes all the core committers, who be able
373to help assess the impact of issues, figure out a resolution, and help
374co-ordinate the release of patches to mitigate or fix the problem across all
ee0887a9 375platforms on which Perl is supported. Please only use this address for
4c793fe3
FR
376security issues in the Perl core, not for modules independently
377distributed on CPAN.
378
379=head1 SEE ALSO
380
381The F<Changes> file for an explanation of how to view exhaustive details
382on what changed.
383
384The F<INSTALL> file for how to build Perl.
385
386The F<README> file for general stuff.
387
388The F<Artistic> and F<Copying> files for copyright information.
389
390=cut