This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Stop CPAN from indexing mad/
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
916c45d9
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.17.4
e128ab2c 9
4eabcf70 10=head1 DESCRIPTION
6db9054f 11
916c45d9 12This document describes differences between the 5.17.3 release and the 5.17.4
e08634c5 13release.
6db9054f 14
916c45d9
SH
15If you are upgrading from an earlier release such as 5.17.2, first read
16L<perl5173delta>, which describes differences between 5.17.2 and 5.17.3.
9c5f5e7a 17
916c45d9 18=head1 Notice
afae8808 19
916c45d9 20XXX Any important notices here
afae8808 21
916c45d9 22=head1 Core Enhancements
9c5f5e7a 23
916c45d9
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.
9c5f5e7a 27
916c45d9 28[ List each enhancement as a =head2 entry ]
9c5f5e7a 29
83d881f0
KW
30=head2 Latest Unicode 6.2 beta is included
31
32This is supposed to be the final data for 6.2, unless glitches are
33found. The earlier experimental 6.2 beta data has been reverted, and
34this used instead. Not all the changes that were proposed for 6.2 and
35that were in the earlier beta versions are actually going into 6.2. In
36particular, there are no changes from 6.1 in the General_Category of any
37characters. 6.2 does revise the C<\X> handling for the REGIONAL
38INDICATOR characters that were added in Unicode 6.0. Perl now for the
39first time fully handles this revision.
40
916c45d9 41=head1 Security
9c5f5e7a 42
916c45d9
SH
43XXX Any security-related notices go here. In particular, any security
44vulnerabilities closed should be noted here rather than in the
45L</Selected Bug Fixes> section.
9c5f5e7a 46
916c45d9 47[ List each security issue as a =head2 entry ]
9c5f5e7a 48
916c45d9 49=head1 Incompatible Changes
9c5f5e7a 50
916c45d9 51XXX For a release on a stable branch, this section aspires to be:
9c5f5e7a 52
916c45d9
SH
53 There are no changes intentionally incompatible with 5.XXX.XXX
54 If any exist, they are bugs, and we request that you submit a
55 report. See L</Reporting Bugs> below.
9c5f5e7a 56
916c45d9 57[ List each incompatible change as a =head2 entry ]
9c5f5e7a 58
916c45d9 59=head1 Deprecations
9c5f5e7a 60
916c45d9
SH
61XXX Any deprecated features, syntax, modules etc. should be listed here. In
62particular, deprecated modules should be listed here even if they are listed as
63an updated module in the L</Modules and Pragmata> section.
9c5f5e7a 64
916c45d9 65[ List each deprecation as a =head2 entry ]
9c5f5e7a 66
916c45d9 67=head1 Performance Enhancements
9c5f5e7a 68
916c45d9
SH
69XXX Changes which enhance performance without changing behaviour go here.
70There may well be none in a stable release.
ed2b0264 71
916c45d9 72[ List each enhancement as a =item entry ]
ed2b0264 73
916c45d9 74=over 4
338a1057
SH
75
76=item *
77
a3d51778
KW
78Speed up in regular expression matching against Unicode properties. The
79largest gain is for C<\X>, the Unicode "extended grapheme cluster". The
80gain for it is about 35% - 40%. Bracketed character classes, e.g.,
81C<[0-9\x{100}]> containing code points above 255 are also now faster.
0ace302a 82
916c45d9 83=back
0ace302a 84
916c45d9 85=head1 Modules and Pragmata
9c5f5e7a 86
916c45d9
SH
87XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
88go here. If Module::CoreList is updated, generate an initial draft of the
89following sections using F<Porting/corelist-perldelta.pl>, which prints stub
90entries to STDOUT. Results can be pasted in place of the '=head2' entries
91below. A paragraph summary for important changes should then be added by hand.
92In an ideal world, dual-life modules would have a F<Changes> file that could be
93cribbed.
9c5f5e7a 94
916c45d9 95[ Within each section, list entries as a =item entry ]
d4ada64a 96
916c45d9 97=head2 New Modules and Pragmata
d4ada64a 98
916c45d9 99=over 4
63870e6d 100
930a023a
SM
101=item *
102
916c45d9 103XXX
33f804f6 104
916c45d9 105=back
4cc02608 106
916c45d9 107=head2 Updated Modules and Pragmata
4cc02608 108
916c45d9 109=over 4
e7b92d54
SH
110
111=item *
112
2a527d37
SH
113L<DB_File> has been upgraded from version 1.826 to 1.827. The main Perl module
114no longer uses the C<"@_"> construct.
115
116=item *
117
846de5c9
SH
118L<File::Copy> has been upgraded from version 2.23 to 2.24. C<copy()> no longer
119zeros files when copying into the same directory, and also now fails (as it has
120long been documented to do) when attempting to copy a file over itself.
121
122=item *
123
2a527d37
SH
124L<Locale::Codes> has been upgraded from version 3.22 to 3.23. It includes some
125new codes.
126
127=item *
128
aff163d9
SH
129L<Socket> has been upgraded from version 2.004 to 2.006.
130C<unpack_sockaddr_in()> and C<unpack_sockaddr_in6()> now return just the IP
131address in scalar context, and C<inet_ntop()> now guards against incorrect
132length scalars being passed in.
9c5f5e7a 133
916c45d9 134=back
9c5f5e7a 135
916c45d9 136=head2 Removed Modules and Pragmata
9c5f5e7a 137
916c45d9 138=over 4
44db8156
SH
139
140=item *
141
916c45d9 142XXX
4f85bc45 143
4eabcf70 144=back
72267260 145
4eabcf70 146=head1 Documentation
72267260 147
916c45d9
SH
148XXX Changes to files in F<pod/> go here. Consider grouping entries by
149file and be sure to link to the appropriate page, e.g. L<perlfunc>.
95c6c5c5 150
916c45d9 151=head2 New Documentation
95c6c5c5 152
916c45d9 153XXX Changes which create B<new> files in F<pod/> go here.
95c6c5c5 154
916c45d9 155=head3 L<XXX>
95c6c5c5 156
916c45d9 157XXX Description of the purpose of the new file here
95c6c5c5 158
916c45d9
SH
159=head2 Changes to Existing Documentation
160
161XXX Changes which significantly change existing files in F<pod/> go here.
162However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
163section.
95c6c5c5 164
916c45d9 165=head3 L<XXX>
e114da46
FC
166
167=over 4
168
169=item *
170
916c45d9 171XXX Description of the change here
e114da46
FC
172
173=back
174
4eabcf70 175=head1 Diagnostics
05c8f9ed 176
4eabcf70
TC
177The following additions or changes have been made to diagnostic output,
178including warnings and fatal error messages. For the complete list of
179diagnostic messages, see L<perldiag>.
ceb0881c 180
916c45d9
SH
181XXX New or changed warnings emitted by the core's C<C> code go here. Also
182include any changes in L<perldiag> that reconcile it to the C<C> code.
183
4eabcf70 184=head2 New Diagnostics
42d72fc5 185
916c45d9
SH
186XXX Newly added diagnostic messages go under here, separated into New Errors
187and New Warnings
188
4eabcf70 189=head3 New Errors
8e125188 190
e96e0834 191=over 4
e128ab2c 192
e2f0c3bb
FC
193=item *
194
916c45d9 195XXX L<message|perldiag/"message">
3c774534 196
4eabcf70 197=back
e2f0c3bb 198
4eabcf70 199=head3 New Warnings
90519d0f 200
4eabcf70 201=over 4
90519d0f
FC
202
203=item *
204
916c45d9 205XXX L<message|perldiag/"message">
90519d0f 206
61174fb5 207=back
422287bf 208
916c45d9 209=head2 Changes to Existing Diagnostics
c95d4104 210
916c45d9 211XXX Changes (i.e. rewording) of diagnostic messages go here
7ab2ea42 212
4eabcf70 213=over 4
7ab2ea42 214
916c45d9 215=item *
7ab2ea42 216
916c45d9 217XXX Describe change here
90519d0f 218
4eabcf70 219=back
90519d0f 220
916c45d9 221=head1 Utility Changes
90519d0f 222
916c45d9
SH
223XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
224Most of these are built within the directories F<utils> and F<x2p>.
d91f1bc9 225
916c45d9
SH
226[ List utility changes as a =head3 entry for each utility and =item
227entries for each change
228Use L<XXX> with program names to get proper documentation linking. ]
d91f1bc9 229
916c45d9 230=head3 L<XXX>
90519d0f 231
4eabcf70 232=over 4
90519d0f
FC
233
234=item *
235
916c45d9 236XXX
e9f497c4 237
916c45d9 238=back
e9f497c4 239
916c45d9 240=head1 Configuration and Compilation
d7f7c515 241
916c45d9
SH
242XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
243go here. Any other changes to the Perl build process should be listed here.
244However, any platform-specific changes should be listed in the
245L</Platform Support> section, instead.
d7f7c515 246
916c45d9 247[ List changes as a =item entry ].
afc04f16 248
916c45d9 249=over 4
afc04f16 250
b4cf37f5
FC
251=item *
252
916c45d9 253XXX
b4cf37f5 254
916c45d9 255=back
b4cf37f5 256
916c45d9 257=head1 Testing
b4cf37f5 258
916c45d9
SH
259XXX Any significant changes to the testing of a freshly built perl should be
260listed here. Changes which create B<new> files in F<t/> go here as do any
261large changes to the testing harness (e.g. when parallel testing was added).
262Changes to existing files in F<t/> aren't worth summarizing, although the bugs
263that they represent may be covered elsewhere.
ea9f761d 264
916c45d9 265[ List each test improvement as a =item entry ]
70306497 266
916c45d9 267=over 4
70306497 268
63164165
FC
269=item *
270
916c45d9 271XXX
63164165 272
916c45d9 273=back
9da700a7 274
916c45d9 275=head1 Platform Support
9da700a7 276
916c45d9 277XXX Any changes to platform support should be listed in the sections below.
9702222b 278
916c45d9
SH
279[ Within the sections, list each platform as a =item entry with specific
280changes as paragraphs below it. ]
e4963eb6 281
916c45d9 282=head2 New Platforms
e4963eb6 283
916c45d9
SH
284XXX List any platforms that this version of perl compiles on, that previous
285versions did not. These will either be enabled by new files in the F<hints/>
286directories, or new subdirectories and F<README> files at the top level of the
287source tree.
3771623e 288
916c45d9 289=over 4
3771623e 290
916c45d9 291=item XXX-some-platform
9702222b 292
916c45d9 293XXX
3e0c76ce 294
916c45d9 295=back
610c7be4 296
916c45d9 297=head2 Discontinued Platforms
610c7be4 298
916c45d9 299=over 4
c58f5a32 300
043fec90 301=item VM/ESA
c58f5a32 302
043fec90
NC
303Support for VM/ESA has been removed. The port was tested on 2.3.0, which
304IBM ended service on in March 2002. 2.4.0 ended service in June 2003, and
305was superseded by Z/VM. The current version of Z/VM is V6.2.0, and scheduled
306for end of service on 2015/04/30.
a21a3918 307
916c45d9 308=back
a21a3918 309
916c45d9 310=head2 Platform-Specific Notes
a21a3918 311
916c45d9
SH
312XXX List any changes for specific platforms. This could include configuration
313and compilation changes or changes in portability/compatibility. However,
314changes within modules for platforms should generally be listed in the
315L</Modules and Pragmata> section.
a21a3918 316
916c45d9 317=over 4
60ca243a 318
916c45d9 319=item XXX-some-platform
60ca243a 320
916c45d9 321XXX
3771623e 322
916c45d9 323=back
d91f1bc9 324
916c45d9 325=head1 Internal Changes
d91f1bc9 326
916c45d9
SH
327XXX Changes which affect the interface available to C<XS> code go here. Other
328significant internal changes for future core maintainers should be noted as
329well.
3771623e 330
916c45d9 331[ List each change as a =item entry ]
b4d67305 332
916c45d9 333=over 4
b4d67305 334
3c774534
SH
335=item *
336
916c45d9 337XXX
d91f1bc9 338
916c45d9 339=back
d91f1bc9 340
916c45d9 341=head1 Selected Bug Fixes
d91f1bc9 342
916c45d9
SH
343XXX Important bug fixes in the core language are summarized here. Bug fixes in
344files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
d91f1bc9 345
916c45d9 346[ List each fix as a =item entry ]
d91f1bc9 347
916c45d9 348=over 4
d91f1bc9
SH
349
350=item *
351
916c45d9 352XXX
d91f1bc9 353
916c45d9 354=back
d91f1bc9 355
916c45d9 356=head1 Known Problems
d91f1bc9 357
916c45d9
SH
358XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
359tests that had to be C<TODO>ed for the release would be noted here. Unfixed
360platform specific bugs also go here.
d91f1bc9 361
916c45d9 362[ List each fix as a =item entry ]
216d99a6 363
916c45d9 364=over 4
216d99a6
FC
365
366=item *
367
916c45d9 368XXX
216d99a6 369
4eabcf70 370=back
90519d0f 371
916c45d9 372=head1 Obituary
05bee12a 373
916c45d9
SH
374XXX If any significant core contributor has died, we've added a short obituary
375here.
05bee12a 376
916c45d9 377=head1 Acknowledgements
05bee12a 378
916c45d9 379XXX Generate this with:
05bee12a 380
916c45d9 381 perl Porting/acknowledgements.pl v5.17.3..HEAD
29cf780c 382
44691e6f
AB
383=head1 Reporting Bugs
384
e08634c5
SH
385If you find what you think is a bug, you might check the articles recently
386posted to the comp.lang.perl.misc newsgroup and the perl bug database at
387http://rt.perl.org/perlbug/ . There may also be information at
388http://www.perl.org/ , the Perl Home Page.
44691e6f 389
e08634c5
SH
390If you believe you have an unreported bug, please run the L<perlbug> program
391included with your release. Be sure to trim your bug down to a tiny but
392sufficient test case. Your bug report, along with the output of C<perl -V>,
393will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
394
395If the bug you are reporting has security implications, which make it
e08634c5
SH
396inappropriate to send to a publicly archived mailing list, then please send it
397to perl5-security-report@perl.org. This points to a closed subscription
398unarchived mailing list, which includes all the core committers, who will be
399able to help assess the impact of issues, figure out a resolution, and help
f9001595 400co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
401platforms on which Perl is supported. Please only use this address for
402security issues in the Perl core, not for modules independently distributed on
403CPAN.
44691e6f
AB
404
405=head1 SEE ALSO
406
e08634c5
SH
407The F<Changes> file for an explanation of how to view exhaustive details on
408what changed.
44691e6f
AB
409
410The F<INSTALL> file for how to build Perl.
411
412The F<README> file for general stuff.
413
414The F<Artistic> and F<Copying> files for copyright information.
415
416=cut