This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
sv.c: Remove redundant assignments
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
8c8d6154
SH
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.5
c68523cb 9
238894db 10=head1 DESCRIPTION
c68523cb 11
8c8d6154 12This document describes differences between the 5.21.4 release and the 5.21.5
238894db 13release.
c68523cb 14
8c8d6154
SH
15If you are upgrading from an earlier release such as 5.21.3, first read
16L<perl5214delta>, which describes differences between 5.21.3 and 5.21.4.
8435afd1 17
8c8d6154 18=head1 Notice
8435afd1 19
8c8d6154 20XXX Any important notices here
5cfa0642 21
8c8d6154 22=head1 Core Enhancements
5cfa0642 23
8c8d6154
SH
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.
8435afd1 27
8c8d6154 28[ List each enhancement as a =head2 entry ]
8435afd1 29
b15c1b56
AF
30=head2 Perl now supports POSIX 2008 locale currency additions.
31
32On platforms that are able to handle POSIX.1-2008, the
33hash returned by
34L<C<POSIX::localeconv()>|perllocale/The localeconv function>
35includes the international currency fields added by that version of the
36POSIX standard. These are
37C<int_n_cs_precedes>,
38C<int_n_sep_by_space>,
39C<int_n_sign_posn>,
40C<int_p_cs_precedes>,
41C<int_p_sep_by_space>,
42and
43C<int_p_sign_posn>.
44
8c8d6154 45=head1 Security
5cfa0642 46
8c8d6154
SH
47XXX Any security-related notices go here. In particular, any security
48vulnerabilities closed should be noted here rather than in the
49L</Selected Bug Fixes> section.
8435afd1 50
8c8d6154 51[ List each security issue as a =head2 entry ]
8435afd1 52
8c8d6154 53=head1 Incompatible Changes
5cfa0642 54
8c8d6154 55XXX For a release on a stable branch, this section aspires to be:
8435afd1 56
8c8d6154
SH
57 There are no changes intentionally incompatible with 5.XXX.XXX
58 If any exist, they are bugs, and we request that you submit a
59 report. See L</Reporting Bugs> below.
5b319db8 60
8c8d6154 61[ List each incompatible change as a =head2 entry ]
5cfa0642 62
8c8d6154 63=head1 Deprecations
d0ab07ee 64
8c8d6154 65XXX Any deprecated features, syntax, modules etc. should be listed here.
d0ab07ee 66
8c8d6154 67=head2 Module removals
5cfa0642 68
8c8d6154 69XXX Remove this section if inapplicable.
d0ab07ee 70
8c8d6154
SH
71The following modules will be removed from the core distribution in a
72future release, and will at that time need to be installed from CPAN.
73Distributions on CPAN which require these modules will need to list them as
74prerequisites.
8435afd1 75
8c8d6154
SH
76The core versions of these modules will now issue C<"deprecated">-category
77warnings to alert you to this fact. To silence these deprecation warnings,
78install the modules in question from CPAN.
46274848 79
8c8d6154
SH
80Note that these are (with rare exceptions) fine modules that you are encouraged
81to continue to use. Their disinclusion from core primarily hinges on their
82necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
83not usually on concerns over their design.
46274848 84
8c8d6154 85=over
d0ab07ee 86
8c8d6154 87=item XXX
5cfa0642 88
8c8d6154
SH
89XXX Note that deprecated modules should be listed here even if they are listed
90as an updated module in the L</Modules and Pragmata> section.
5cfa0642 91
8c8d6154 92=back
8435afd1 93
8c8d6154 94[ List each other deprecation as a =head2 entry ]
8435afd1 95
8c8d6154 96=head1 Performance Enhancements
5cfa0642 97
8c8d6154
SH
98XXX Changes which enhance performance without changing behaviour go here.
99There may well be none in a stable release.
8435afd1 100
8c8d6154 101[ List each enhancement as a =item entry ]
8435afd1 102
8c8d6154 103=over 4
5cfa0642 104
8435afd1
SH
105=item *
106
1dc08634
FC
107C<length> is up to 20% faster for non-magical/non-tied scalars containing a
108string if it is a non-utf8 string or if C<use bytes;> is in scope.
5cfa0642 109
8c8d6154 110=back
d0ab07ee 111
8c8d6154 112=head1 Modules and Pragmata
d0ab07ee 113
8c8d6154
SH
114XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
115go here. If Module::CoreList is updated, generate an initial draft of the
116following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
117for important changes should then be added by hand. In an ideal world,
118dual-life modules would have a F<Changes> file that could be cribbed.
5cfa0642 119
8c8d6154 120[ Within each section, list entries as a =item entry ]
8435afd1 121
8c8d6154 122=head2 New Modules and Pragmata
8435afd1 123
8c8d6154 124=over 4
5cfa0642 125
8435afd1
SH
126=item *
127
8c8d6154 128XXX
5cfa0642 129
39c4a6cf 130=back
9c97a342 131
8c8d6154 132=head2 Updated Modules and Pragmata
d99849ae 133
39c4a6cf 134=over 4
d99849ae 135
ff433f2d
PM
136=item *
137
84d03adf
SH
138L<Module::CoreList> has been upgraded from version 5.20140920 to 5.20141020.
139
140Updated to cover the latest releases of Perl.
ff433f2d 141
13900f93 142=back
aac7f82f 143
8c8d6154 144=head2 Removed Modules and Pragmata
aac7f82f 145
5cfa0642 146=over 4
6d9b7c7c 147
5cfa0642 148=item *
2a395b86 149
8c8d6154 150XXX
2a395b86 151
5cfa0642 152=back
2a395b86 153
8c8d6154 154=head1 Documentation
2a395b86 155
8c8d6154
SH
156XXX Changes to files in F<pod/> go here. Consider grouping entries by
157file and be sure to link to the appropriate page, e.g. L<perlfunc>.
5cfa0642 158
8c8d6154 159=head2 New Documentation
39c4a6cf 160
8c8d6154 161XXX Changes which create B<new> files in F<pod/> go here.
2a395b86 162
8c8d6154 163=head3 L<XXX>
2a395b86 164
8c8d6154 165XXX Description of the purpose of the new file here
2a395b86 166
8c8d6154 167=head2 Changes to Existing Documentation
8435afd1 168
8c8d6154
SH
169XXX Changes which significantly change existing files in F<pod/> go here.
170However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
171section.
8435afd1 172
8c8d6154 173=head3 L<XXX>
8435afd1
SH
174
175=over 4
2a395b86 176
12d22d1f
JK
177=item *
178
8c8d6154 179XXX Description of the change here
12d22d1f 180
2a395b86
PM
181=back
182
39c4a6cf 183=head1 Diagnostics
2a395b86 184
39c4a6cf
PM
185The following additions or changes have been made to diagnostic output,
186including warnings and fatal error messages. For the complete list of
187diagnostic messages, see L<perldiag>.
2a395b86 188
8c8d6154
SH
189XXX New or changed warnings emitted by the core's C<C> code go here. Also
190include any changes in L<perldiag> that reconcile it to the C<C> code.
2a395b86 191
8c8d6154 192=head2 New Diagnostics
2a395b86 193
8c8d6154
SH
194XXX Newly added diagnostic messages go under here, separated into New Errors
195and New Warnings
2a395b86 196
8c8d6154 197=head3 New Errors
5cfa0642 198
8c8d6154 199=over 4
2a395b86
PM
200
201=item *
202
8c8d6154 203XXX L<message|perldiag/"message">
2a395b86
PM
204
205=back
6d9b7c7c 206
8c8d6154 207=head3 New Warnings
39c4a6cf 208
13900f93 209=over 4
7f55cec0
SH
210
211=item *
212
8c8d6154 213XXX L<message|perldiag/"message">
623141a1 214
8c8d6154 215=back
aac7f82f 216
8c8d6154 217=head2 Changes to Existing Diagnostics
363d3025 218
8c8d6154 219XXX Changes (i.e. rewording) of diagnostic messages go here
334464b3 220
8c8d6154 221=over 4
334464b3
FC
222
223=item *
224
8c8d6154 225XXX Describe change here
ef5a9509 226
363d3025
FC
227=back
228
8c8d6154 229=head1 Utility Changes
4594cf53 230
8c8d6154
SH
231XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
232Most of these are built within the directory F<utils>.
96dcbc37 233
8c8d6154
SH
234[ List utility changes as a =head2 entry for each utility and =item
235entries for each change
236Use L<XXX> with program names to get proper documentation linking. ]
96dcbc37 237
8c8d6154 238=head2 L<XXX>
13900f93 239
8c8d6154 240=over 4
58f25ac1
MH
241
242=item *
243
8c8d6154 244XXX
a5873648 245
39c4a6cf 246=back
a5873648 247
55ba8847
JH
248=head1 Configuration and Compilation
249
8c8d6154
SH
250XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
251go here. Any other changes to the Perl build process should be listed here.
252However, any platform-specific changes should be listed in the
253L</Platform Support> section, instead.
55ba8847 254
8c8d6154 255[ List changes as a =item entry ].
a5873648 256
39c4a6cf 257=over 4
a5873648
PM
258
259=item *
260
8c8d6154 261XXX
7d0ccdba 262
7065301c
RS
263=back
264
8c8d6154 265=head1 Testing
d72cd2eb 266
8c8d6154
SH
267XXX Any significant changes to the testing of a freshly built perl should be
268listed here. Changes which create B<new> files in F<t/> go here as do any
269large changes to the testing harness (e.g. when parallel testing was added).
270Changes to existing files in F<t/> aren't worth summarizing, although the bugs
271that they represent may be covered elsewhere.
c1284011 272
8c8d6154 273[ List each test improvement as a =item entry ]
375f5f06 274
0346c3a9 275=over 4
375f5f06 276
2884baee
MH
277=item *
278
8c8d6154 279XXX
6f1a844b 280
8c8d6154 281=back
549ea8d4 282
8c8d6154 283=head1 Platform Support
549ea8d4 284
8c8d6154 285XXX Any changes to platform support should be listed in the sections below.
be0006e0 286
8c8d6154
SH
287[ Within the sections, list each platform as a =item entry with specific
288changes as paragraphs below it. ]
be0006e0 289
8c8d6154 290=head2 New Platforms
1699f5c2 291
8c8d6154
SH
292XXX List any platforms that this version of perl compiles on, that previous
293versions did not. These will either be enabled by new files in the F<hints/>
294directories, or new subdirectories and F<README> files at the top level of the
295source tree.
1699f5c2 296
8c8d6154 297=over 4
7e8b2071 298
8c8d6154 299=item XXX-some-platform
7e8b2071 300
8c8d6154 301XXX
f9acf899 302
8c8d6154 303=back
f9acf899 304
8c8d6154 305=head2 Discontinued Platforms
fd26b6f0 306
8c8d6154 307XXX List any platforms that this version of perl no longer compiles on.
fd26b6f0 308
8c8d6154 309=over 4
499333dc 310
8c8d6154 311=item XXX-some-platform
499333dc 312
8c8d6154 313XXX
8f0cd35a 314
8c8d6154 315=back
8f0cd35a 316
8c8d6154 317=head2 Platform-Specific Notes
aa292ef2 318
8c8d6154
SH
319XXX List any changes for specific platforms. This could include configuration
320and compilation changes or changes in portability/compatibility. However,
321changes within modules for platforms should generally be listed in the
322L</Modules and Pragmata> section.
aa292ef2 323
8c8d6154 324=over 4
739e9bee 325
8c8d6154 326=item XXX-some-platform
739e9bee 327
8c8d6154 328XXX
b23b2fdb 329
8c8d6154 330=back
b23b2fdb 331
8c8d6154 332=head1 Internal Changes
7d15b1a8 333
8c8d6154
SH
334XXX Changes which affect the interface available to C<XS> code go here. Other
335significant internal changes for future core maintainers should be noted as
336well.
7d15b1a8 337
8c8d6154 338[ List each change as a =item entry ]
bbca64cf 339
8c8d6154 340=over 4
bbca64cf 341
0064f8cc
KW
342=item *
343
8c8d6154 344XXX
6ff8f256 345
8c8d6154 346=back
6ff8f256 347
8c8d6154 348=head1 Selected Bug Fixes
80cc3290 349
8c8d6154
SH
350XXX Important bug fixes in the core language are summarized here. Bug fixes in
351files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
80cc3290 352
8c8d6154 353[ List each fix as a =item entry ]
13dd5671 354
8c8d6154 355=over 4
13dd5671 356
bdab7676
FC
357=item *
358
8c8d6154 359XXX
bdab7676 360
8c8d6154 361=back
3a085d00 362
8c8d6154 363=head1 Known Problems
caa66803 364
8c8d6154
SH
365XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
366tests that had to be C<TODO>ed for the release would be noted here. Unfixed
367platform specific bugs also go here.
caa66803 368
8c8d6154 369[ List each fix as a =item entry ]
91766151 370
8c8d6154 371=over 4
91766151 372
dd593f1d
FC
373=item *
374
8c8d6154 375XXX
fb3b7425 376
8c8d6154 377=back
fb3b7425 378
8c8d6154 379=head1 Errata From Previous Releases
b245455d 380
8c8d6154 381=over 4
b245455d 382
26dd5fd6
PM
383=item *
384
8c8d6154
SH
385XXX Add anything here that we forgot to add, or were mistaken about, in
386the perldelta of a previous release.
ff433f2d 387
39c4a6cf
PM
388=back
389
8c8d6154 390=head1 Obituary
c0c55a9b 391
8c8d6154
SH
392XXX If any significant core contributor has died, we've added a short obituary
393here.
c0c55a9b 394
8c8d6154 395=head1 Acknowledgements
c0c55a9b 396
8c8d6154 397XXX Generate this with:
e831f11a 398
8c8d6154 399 perl Porting/acknowledgements.pl v5.21.4..HEAD
f5b73711 400
44691e6f
AB
401=head1 Reporting Bugs
402
e08634c5
SH
403If you find what you think is a bug, you might check the articles recently
404posted to the comp.lang.perl.misc newsgroup and the perl bug database at
238894db 405https://rt.perl.org/ . There may also be information at
7ef8b31d 406http://www.perl.org/ , the Perl Home Page.
44691e6f 407
e08634c5
SH
408If you believe you have an unreported bug, please run the L<perlbug> program
409included with your release. Be sure to trim your bug down to a tiny but
410sufficient test case. Your bug report, along with the output of C<perl -V>,
411will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
412
413If the bug you are reporting has security implications, which make it
e08634c5
SH
414inappropriate to send to a publicly archived mailing list, then please send it
415to perl5-security-report@perl.org. This points to a closed subscription
416unarchived mailing list, which includes all the core committers, who will be
417able to help assess the impact of issues, figure out a resolution, and help
f9001595 418co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
419platforms on which Perl is supported. Please only use this address for
420security issues in the Perl core, not for modules independently distributed on
421CPAN.
44691e6f
AB
422
423=head1 SEE ALSO
424
e08634c5
SH
425The F<Changes> file for an explanation of how to view exhaustive details on
426what changed.
44691e6f
AB
427
428The F<INSTALL> file for how to build Perl.
429
430The F<README> file for general stuff.
431
432The F<Artistic> and F<Copying> files for copyright information.
433
434=cut