This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Merge branch 'postderef' into blead
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
09f4604f
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.19.5
e128ab2c 9
4eabcf70 10=head1 DESCRIPTION
6db9054f 11
09f4604f 12This document describes differences between the 5.19.4 release and the 5.19.5
e08634c5 13release.
6db9054f 14
09f4604f
SH
15If you are upgrading from an earlier release such as 5.19.3, first read
16L<perl5194delta>, which describes differences between 5.19.3 and 5.19.4.
18ae6bbc 17
09f4604f 18=head1 Notice
18ae6bbc 19
09f4604f 20XXX Any important notices here
f2ab313d 21
09f4604f 22=head1 Core Enhancements
84d7ce3c 23
09f4604f
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.
f53b57fd 27
09f4604f 28[ List each enhancement as a =head2 entry ]
f53b57fd 29
a9c9e371
KW
30=head2 Unicode 6.3 now supported
31
32Perl now supports and is shipped with Unicode 6.3 (though Perl may be
33recompiled with any previous Unicode release as well). A detailed
34list of Unicode 6.3 changes is at
35L<http://www.unicode.org/versions/Unicode6.3.0/>.
36
09f4604f 37=head1 Security
972690a1 38
09f4604f
SH
39XXX Any security-related notices go here. In particular, any security
40vulnerabilities closed should be noted here rather than in the
41L</Selected Bug Fixes> section.
972690a1 42
09f4604f 43[ List each security issue as a =head2 entry ]
972690a1 44
ba03bc34 45=head1 Incompatible Changes
a3fb66a4 46
09f4604f 47XXX For a release on a stable branch, this section aspires to be:
b29f65fc 48
09f4604f
SH
49 There are no changes intentionally incompatible with 5.XXX.XXX
50 If any exist, they are bugs, and we request that you submit a
51 report. See L</Reporting Bugs> below.
a3fb66a4 52
09f4604f 53[ List each incompatible change as a =head2 entry ]
42bff0d9 54
09f4604f 55=head1 Deprecations
082a4c42 56
09f4604f 57XXX Any deprecated features, syntax, modules etc. should be listed here.
082a4c42 58
09f4604f 59=head2 Module removals
082a4c42 60
09f4604f 61XXX Remove this section if inapplicable.
00c5962f 62
09f4604f
SH
63The following modules will be removed from the core distribution in a
64future release, and will at that time need to be installed from CPAN.
65Distributions on CPAN which require these modules will need to list them as
66prerequisites.
00c5962f 67
09f4604f
SH
68The core versions of these modules will now issue C<"deprecated">-category
69warnings to alert you to this fact. To silence these deprecation warnings,
70install the modules in question from CPAN.
3b6e1650 71
09f4604f
SH
72Note that these are (with rare exceptions) fine modules that you are encouraged
73to continue to use. Their disinclusion from core primarily hinges on their
74necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
75not usually on concerns over their design.
00c5962f 76
09f4604f 77=over
8c24c1f7 78
09f4604f
SH
79XXX Note that deprecated modules should be listed here even if they are listed
80as an updated module in the L</Modules and Pragmata> section.
479090d3 81
09f4604f 82=back
479090d3 83
09f4604f 84[ List each other deprecation as a =head2 entry ]
479090d3 85
09f4604f 86=head1 Performance Enhancements
8c24c1f7 87
09f4604f
SH
88XXX Changes which enhance performance without changing behaviour go here.
89There may well be none in a stable release.
8c24c1f7 90
09f4604f 91[ List each enhancement as a =item entry ]
d5dcec3a 92
6ffbec2c
Z
93=over 4
94
95=item *
96
86a8e4b1
KW
97Perl has an optimizer for regular expression patterns. It analyzes the
98pattern to find things such as the minimum length a string has to be to
99match, etc. It now better handles code points that are above the Latin1
100range.
d5dcec3a 101
6ffbec2c
Z
102=back
103
09f4604f 104=head1 Modules and Pragmata
5565c738 105
09f4604f
SH
106XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
107go here. If Module::CoreList is updated, generate an initial draft of the
108following sections using F<Porting/corelist-perldelta.pl>, which prints stub
109entries to STDOUT. Results can be pasted in place of the '=head2' entries
110below. A paragraph summary for important changes should then be added by hand.
111In an ideal world, dual-life modules would have a F<Changes> file that could be
112cribbed.
5565c738 113
09f4604f 114[ Within each section, list entries as a =item entry ]
5565c738 115
09f4604f 116=head2 New Modules and Pragmata
8c24c1f7 117
09f4604f 118=over 4
8c24c1f7
SH
119
120=item *
121
09f4604f 122XXX
99366d6d 123
583aa5c2
RS
124=back
125
09f4604f 126=head2 Updated Modules and Pragmata
1944fb52
SH
127
128=over 4
129
130=item *
131
ff4ad1c0
SH
132L<autodie> has been upgraded from version 2.21 to 2.22.
133
134No changes have been made to the installed code other than the version bump to
135keep in sync with the latest CPAN release.
136
137=item *
138
fa5fbb39
SH
139L<Module::CoreList> has been upgraded from version 2.99 to 3.00.
140
141The list of Perl versions covered has been updated.
1944fb52 142
b7c730ff
SH
143=item *
144
145The podlators modules have been upgraded from version 2.5.1 to 2.5.2.
146
147Numerous updates and bug fixes are incorporated. See the F<Changes> file in
148the CPAN distribution for full details.
149
2d8e8368
SH
150=back
151
09f4604f 152=head2 Removed Modules and Pragmata
a71a93a7 153
2d8e8368 154=over 4
a71a93a7
TC
155
156=item *
157
09f4604f 158XXX
a71a93a7 159
1944fb52
SH
160=back
161
09f4604f 162=head1 Documentation
1944fb52 163
09f4604f
SH
164XXX Changes to files in F<pod/> go here. Consider grouping entries by
165file and be sure to link to the appropriate page, e.g. L<perlfunc>.
1944fb52 166
09f4604f 167=head2 New Documentation
1944fb52 168
09f4604f 169XXX Changes which create B<new> files in F<pod/> go here.
195e3ea0 170
09f4604f 171=head3 L<XXX>
a3fb66a4 172
09f4604f 173XXX Description of the purpose of the new file here
a3fb66a4 174
09f4604f 175=head2 Changes to Existing Documentation
a3fb66a4 176
09f4604f
SH
177XXX Changes which significantly change existing files in F<pod/> go here.
178However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
179section.
a3fb66a4 180
09f4604f 181=head3 L<XXX>
2d8e8368
SH
182
183=over 4
184
185=item *
186
09f4604f 187XXX Description of the change here
2d8e8368
SH
188
189=back
190
c0ca71c9
AP
191=head1 Diagnostics
192
193The following additions or changes have been made to diagnostic output,
194including warnings and fatal error messages. For the complete list of
195diagnostic messages, see L<perldiag>.
196
09f4604f
SH
197XXX New or changed warnings emitted by the core's C<C> code go here. Also
198include any changes in L<perldiag> that reconcile it to the C<C> code.
199
c0ca71c9
AP
200=head2 New Diagnostics
201
09f4604f
SH
202XXX Newly added diagnostic messages go under here, separated into New Errors
203and New Warnings
204
12dcbffb 205=head3 New Errors
583aa5c2 206
38663f11 207=over 4
583aa5c2 208
b8a02ff1 209=item *
583aa5c2 210
09f4604f 211XXX L<message|perldiag/"message">
4a0af295 212
b8a02ff1 213=back
583aa5c2 214
12dcbffb 215=head3 New Warnings
96d496e4 216
38663f11 217=over 4
b8a02ff1
DG
218
219=item *
220
09f4604f 221XXX L<message|perldiag/"message">
dcc95d06 222
12dcbffb 223=back
1310e590 224
ba03bc34
SH
225=head2 Changes to Existing Diagnostics
226
09f4604f 227XXX Changes (i.e. rewording) of diagnostic messages go here
c1d900c3 228
09f4604f 229=over 4
e38fc308 230
4a0af295
SH
231=item *
232
09f4604f 233XXX Describe change here
4a0af295 234
ba03bc34 235=back
a34da6c4 236
ba03bc34 237=head1 Utility Changes
a34da6c4 238
09f4604f
SH
239XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
240Most of these are built within the directories F<utils> and F<x2p>.
7f1d4316 241
09f4604f
SH
242[ List utility changes as a =head3 entry for each utility and =item
243entries for each change
244Use L<XXX> with program names to get proper documentation linking. ]
ef947715 245
09f4604f 246=head3 L<XXX>
ef947715 247
12dcbffb 248=over 4
21c01741 249
467582e8
FC
250=item *
251
09f4604f 252XXX
467582e8 253
ba03bc34 254=back
64da853d 255
09f4604f 256=head1 Configuration and Compilation
8c24c1f7 257
09f4604f
SH
258XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
259go here. Any other changes to the Perl build process should be listed here.
260However, any platform-specific changes should be listed in the
261L</Platform Support> section, instead.
8c24c1f7 262
09f4604f 263[ List changes as a =item entry ].
215588ba 264
09f4604f 265=over 4
b895ac6f
SH
266
267=item *
268
09f4604f 269XXX
8c24c1f7 270
09f4604f 271=back
215588ba 272
09f4604f 273=head1 Testing
215588ba 274
09f4604f
SH
275XXX Any significant changes to the testing of a freshly built perl should be
276listed here. Changes which create B<new> files in F<t/> go here as do any
277large changes to the testing harness (e.g. when parallel testing was added).
278Changes to existing files in F<t/> aren't worth summarizing, although the bugs
279that they represent may be covered elsewhere.
b895ac6f 280
09f4604f 281[ List each test improvement as a =item entry ]
b895ac6f 282
09f4604f 283=over 4
8c24c1f7
SH
284
285=item *
286
09f4604f 287XXX
eaed284b 288
ba03bc34 289=back
0335212c 290
ba03bc34 291=head1 Platform Support
0335212c 292
09f4604f 293XXX Any changes to platform support should be listed in the sections below.
019705bc 294
09f4604f
SH
295[ Within the sections, list each platform as a =item entry with specific
296changes as paragraphs below it. ]
297
298=head2 New Platforms
25921d77 299
09f4604f
SH
300XXX List any platforms that this version of perl compiles on, that previous
301versions did not. These will either be enabled by new files in the F<hints/>
302directories, or new subdirectories and F<README> files at the top level of the
303source tree.
84d7ce3c 304
09f4604f 305=over 4
84d7ce3c 306
09f4604f 307=item XXX-some-platform
25921d77 308
09f4604f 309XXX
28ea507e 310
ba03bc34 311=back
28ea507e 312
ba03bc34 313=head2 Discontinued Platforms
28ea507e 314
09f4604f 315XXX List any platforms that this version of perl no longer compiles on.
7b0e9f13 316
ba03bc34 317=over 4
074d6753 318
09f4604f 319=item XXX-some-platform
074d6753 320
09f4604f 321XXX
4e5b563d 322
ba03bc34 323=back
4e5b563d 324
ba03bc34 325=head2 Platform-Specific Notes
ee818f56 326
09f4604f
SH
327XXX List any changes for specific platforms. This could include configuration
328and compilation changes or changes in portability/compatibility. However,
329changes within modules for platforms should generally be listed in the
330L</Modules and Pragmata> section.
ff3b1402 331
09f4604f 332=over 4
efcbb8b2 333
09f4604f 334=item XXX-some-platform
846aaad8 335
09f4604f 336XXX
846aaad8 337
ba03bc34 338=back
efcbb8b2 339
ba03bc34 340=head1 Internal Changes
36813eeb 341
09f4604f
SH
342XXX Changes which affect the interface available to C<XS> code go here. Other
343significant internal changes for future core maintainers should be noted as
344well.
6760cac5 345
09f4604f 346[ List each change as a =item entry ]
671f9ff7 347
09f4604f 348=over 4
6a67a797 349
972690a1
KW
350=item *
351
09f4604f 352XXX
972690a1 353
ba03bc34 354=back
671f9ff7 355
ba03bc34 356=head1 Selected Bug Fixes
912a9a8f 357
09f4604f
SH
358XXX Important bug fixes in the core language are summarized here. Bug fixes in
359files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
85037c5c 360
09f4604f 361[ List each fix as a =item entry ]
1261f9a2 362
09f4604f 363=over 4
1144b44d
FC
364
365=item *
366
09f4604f 367XXX
82d5eae5 368
09f4604f 369=back
cfbe45f9 370
09f4604f 371=head1 Known Problems
853f2d20 372
09f4604f
SH
373XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
374tests that had to be C<TODO>ed for the release would be noted here. Unfixed
375platform specific bugs also go here.
853f2d20 376
09f4604f 377[ List each fix as a =item entry ]
84fd7372 378
09f4604f 379=over 4
84fd7372 380
84d7ce3c
SH
381=item *
382
09f4604f 383XXX
84d7ce3c 384
09f4604f 385=back
176f22e8 386
09f4604f 387=head1 Obituary
176f22e8 388
09f4604f
SH
389XXX If any significant core contributor has died, we've added a short obituary
390here.
18e2e6cd 391
583aa5c2 392=head1 Acknowledgements
a75569c0 393
09f4604f
SH
394XXX Generate this with:
395
396 perl Porting/acknowledgements.pl v5.19.4..HEAD
f5b73711 397
44691e6f
AB
398=head1 Reporting Bugs
399
e08634c5
SH
400If you find what you think is a bug, you might check the articles recently
401posted to the comp.lang.perl.misc newsgroup and the perl bug database at
402http://rt.perl.org/perlbug/ . There may also be information at
403http://www.perl.org/ , the Perl Home Page.
44691e6f 404
e08634c5
SH
405If you believe you have an unreported bug, please run the L<perlbug> program
406included with your release. Be sure to trim your bug down to a tiny but
407sufficient test case. Your bug report, along with the output of C<perl -V>,
408will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
409
410If the bug you are reporting has security implications, which make it
e08634c5
SH
411inappropriate to send to a publicly archived mailing list, then please send it
412to perl5-security-report@perl.org. This points to a closed subscription
413unarchived mailing list, which includes all the core committers, who will be
414able to help assess the impact of issues, figure out a resolution, and help
f9001595 415co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
416platforms on which Perl is supported. Please only use this address for
417security issues in the Perl core, not for modules independently distributed on
418CPAN.
44691e6f
AB
419
420=head1 SEE ALSO
421
e08634c5
SH
422The F<Changes> file for an explanation of how to view exhaustive details on
423what changed.
44691e6f
AB
424
425The F<INSTALL> file for how to build Perl.
426
427The F<README> file for general stuff.
428
429The F<Artistic> and F<Copying> files for copyright information.
430
431=cut