This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
For SDBM_File, stop EU::MM from generating its default subdirs rule.
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
ba03bc34
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.4
e128ab2c 9
4eabcf70 10=head1 DESCRIPTION
6db9054f 11
ba03bc34 12This document describes differences between the 5.19.3 release and the 5.19.4
e08634c5 13release.
6db9054f 14
ba03bc34
SH
15If you are upgrading from an earlier release such as 5.19.2, first read
16L<perl5193delta>, which describes differences between 5.19.2 and 5.19.3.
a3fb66a4 17
ba03bc34 18=head1 Notice
a3fb66a4 19
ba03bc34 20XXX Any important notices here
a3fb66a4 21
ba03bc34 22=head1 Core Enhancements
a3fb66a4 23
ba03bc34
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.
a3fb66a4 27
ba03bc34 28[ List each enhancement as a =head2 entry ]
a3fb66a4 29
ba03bc34 30=head1 Security
a3fb66a4 31
ba03bc34
SH
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.
4725e868 35
ba03bc34 36[ List each security issue as a =head2 entry ]
a3fb66a4 37
ba03bc34 38=head1 Incompatible Changes
a3fb66a4 39
ba03bc34 40XXX For a release on a stable branch, this section aspires to be:
a3fb66a4 41
ba03bc34
SH
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.
a3fb66a4 45
ba03bc34 46[ List each incompatible change as a =head2 entry ]
a3fb66a4 47
ba03bc34 48=head1 Deprecations
a3fb66a4 49
ba03bc34 50XXX Any deprecated features, syntax, modules etc. should be listed here.
a3fb66a4 51
ba03bc34 52=head2 Module removals
4725e868 53
ba03bc34 54XXX Remove this section if inapplicable.
669d990b 55
ba03bc34
SH
56The following modules will be removed from the core distribution in a
57future release, and will at that time need to be installed from CPAN.
58Distributions on CPAN which require these modules will need to list them as
59prerequisites.
669d990b 60
ba03bc34
SH
61The core versions of these modules will now issue C<"deprecated">-category
62warnings to alert you to this fact. To silence these deprecation warnings,
63install the modules in question from CPAN.
669d990b 64
ba03bc34
SH
65Note that these are (with rare exceptions) fine modules that you are encouraged
66to continue to use. Their disinclusion from core primarily hinges on their
67necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
68not usually on concerns over their design.
2cf99697 69
ba03bc34 70=over
2cf99697 71
ba03bc34
SH
72XXX Note that deprecated modules should be listed here even if they are listed
73as an updated module in the L</Modules and Pragmata> section.
21d55435 74
ba03bc34 75=back
0f0eae2c 76
ba03bc34 77[ List each other deprecation as a =head2 entry ]
21d55435 78
ba03bc34 79=head1 Performance Enhancements
a3fb66a4 80
ba03bc34
SH
81XXX Changes which enhance performance without changing behaviour go here.
82There may well be none in a stable release.
a3fb66a4 83
ba03bc34 84[ List each enhancement as a =item entry ]
a3fb66a4 85
ba03bc34 86=over 4
a3fb66a4 87
2c99af42
SH
88=item *
89
ba03bc34 90XXX
2c99af42 91
c0ca71c9 92=back
42bff0d9 93
ba03bc34 94=head1 Modules and Pragmata
195e3ea0 95
ba03bc34
SH
96XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
97go here. If Module::CoreList is updated, generate an initial draft of the
98following sections using F<Porting/corelist-perldelta.pl>, which prints stub
99entries to STDOUT. Results can be pasted in place of the '=head2' entries
100below. A paragraph summary for important changes should then be added by hand.
101In an ideal world, dual-life modules would have a F<Changes> file that could be
102cribbed.
195e3ea0 103
ba03bc34 104[ Within each section, list entries as a =item entry ]
195e3ea0 105
ba03bc34 106=head2 New Modules and Pragmata
195e3ea0
SH
107
108=over 4
109
110=item *
111
ba03bc34 112XXX
195e3ea0
SH
113
114=back
115
ba03bc34 116=head2 Updated Modules and Pragmata
42bff0d9 117
38663f11 118=over 4
42bff0d9
DG
119
120=item *
121
d5dcec3a
Z
122L<Carp> has been upgraded from version 1.31 to 1.32.
123
bf4588d0 124C<Carp> now won't vivify the C<overload::StrVal> glob or subroutine or the
bd098b9a
Z
125C<overload> stash.
126It also avoids some unwanted Unicode warnings on older Perls (which
127doesn't affect behaviour with current Perl).
bf4588d0
Z
128C<Carp::Heavy> detects version mismatch with C<Carp>, to give a good
129error message if a current (stub) C<Carp::Heavy> gets loaded by an old
130C<Carp> that expects C<Carp::Heavy> to provide subroutines.
d5dcec3a
Z
131
132=item *
133
a8479f0e
TC
134L<Math::BigInt> has been upgraded from version 1.9992 to 1.9993.
135
136Cleaned up the L<Math::BigInt> and L<Math::BigFloat> documentation to
137be more consistent with other perl documentation. [perl #86686]
138
139Added a bint() method for rounding towards zero. [perl #85296]
140
141=item *
142
37287258
SH
143L<Module::CoreList> has been upgraded from version 2.97 to 2.98.
144
145The list of Perl versions covered has been updated.
1fdd5e53 146
68cdd4b5
SH
147=item *
148
149L<Module::Metadata> has been upgraded from version 1.000014 to 1.000016.
150
151The module's DESCRIPTION has been re-worded regarding safety/security to
152satisfy CVE-2013-1437.
153
93f72154
SH
154=item *
155
156L<Perl::OSType> has been upgraded from 1.003 to 1.004.
157
158The Unix OSType 'bitrig' has been added.
159
583aa5c2
RS
160=back
161
ba03bc34 162=head2 Removed Modules and Pragmata
a3fb66a4
SH
163
164=over 4
165
166=item *
167
ba03bc34 168XXX
a3fb66a4
SH
169
170=back
171
ba03bc34 172=head1 Documentation
8fecfff0 173
ba03bc34
SH
174XXX Changes to files in F<pod/> go here. Consider grouping entries by
175file and be sure to link to the appropriate page, e.g. L<perlfunc>.
8fecfff0 176
ba03bc34 177=head2 New Documentation
8fecfff0 178
ba03bc34 179XXX Changes which create B<new> files in F<pod/> go here.
195e3ea0 180
ba03bc34 181=head3 L<XXX>
195e3ea0 182
ba03bc34 183XXX Description of the purpose of the new file here
195e3ea0 184
ba03bc34 185=head2 Changes to Existing Documentation
195e3ea0 186
ba03bc34
SH
187XXX Changes which significantly change existing files in F<pod/> go here.
188However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
189section.
195e3ea0 190
ba03bc34 191=head3 L<XXX>
a3fb66a4
SH
192
193=over 4
194
195=item *
196
ba03bc34 197XXX Description of the change here
a3fb66a4
SH
198
199=back
200
c0ca71c9
AP
201=head1 Diagnostics
202
203The following additions or changes have been made to diagnostic output,
204including warnings and fatal error messages. For the complete list of
205diagnostic messages, see L<perldiag>.
206
ba03bc34
SH
207XXX New or changed warnings emitted by the core's C<C> code go here. Also
208include any changes in L<perldiag> that reconcile it to the C<C> code.
209
c0ca71c9
AP
210=head2 New Diagnostics
211
ba03bc34
SH
212XXX Newly added diagnostic messages go under here, separated into New Errors
213and New Warnings
214
12dcbffb 215=head3 New Errors
583aa5c2 216
38663f11 217=over 4
583aa5c2 218
b8a02ff1 219=item *
583aa5c2 220
ba03bc34 221XXX L<message|perldiag/"message">
583aa5c2 222
b8a02ff1 223=back
583aa5c2 224
12dcbffb 225=head3 New Warnings
96d496e4 226
38663f11 227=over 4
b8a02ff1
DG
228
229=item *
230
ba03bc34 231XXX L<message|perldiag/"message">
487a71ff 232
12dcbffb 233=back
1310e590 234
ba03bc34
SH
235=head2 Changes to Existing Diagnostics
236
237XXX Changes (i.e. rewording) of diagnostic messages go here
e727f86a 238
12dcbffb 239=over 4
e727f86a 240
81ca6d44
FC
241=item *
242
ba03bc34 243XXX Describe change here
e38fc308 244
ba03bc34 245=back
a34da6c4 246
ba03bc34 247=head1 Utility Changes
a34da6c4 248
ba03bc34
SH
249XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
250Most of these are built within the directories F<utils> and F<x2p>.
558673e6 251
ba03bc34
SH
252[ List utility changes as a =head3 entry for each utility and =item
253entries for each change
254Use L<XXX> with program names to get proper documentation linking. ]
558673e6 255
b2d74da6 256=head3 L<find2perl>
47a7c93d 257
12dcbffb 258=over 4
b5a80c26 259
7f1d4316
FC
260=item *
261
b2d74da6 262L<find2perl> now handler C<?> wildcards correctly. [perl #113054]
7f1d4316 263
ba03bc34 264=back
ef947715 265
ba03bc34 266=head1 Configuration and Compilation
ef947715 267
ba03bc34
SH
268XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
269go here. Any other changes to the Perl build process should be listed here.
270However, any platform-specific changes should be listed in the
271L</Platform Support> section, instead.
02bef66e 272
ba03bc34 273[ List changes as a =item entry ].
d30fb844 274
12dcbffb 275=over 4
21c01741 276
467582e8
FC
277=item *
278
4d106cc5
NC
279The F<Makefile.PL> for C<SDBM_File> now generates a better F<Makefile>,
280which avoids a race condition during parallel makes, which could cause the
281build to fail. This is the last known parallel make problem (on *nix
282platforms), and therefore we believe that a parallel make should now always
283be error free.
284
285=for comment
286
287Strictly only for a build where build files such as F<Makefile.SH> have not
288been updated by C<git> in an already configured and built tree.
467582e8 289
ba03bc34 290=back
64da853d 291
ba03bc34 292=head1 Testing
8847717e 293
ba03bc34
SH
294XXX Any significant changes to the testing of a freshly built perl should be
295listed here. Changes which create B<new> files in F<t/> go here as do any
296large changes to the testing harness (e.g. when parallel testing was added).
297Changes to existing files in F<t/> aren't worth summarizing, although the bugs
298that they represent may be covered elsewhere.
8847717e 299
ba03bc34 300[ List each test improvement as a =item entry ]
f1b856da 301
ba03bc34 302=over 4
f1b856da 303
eaed284b
FC
304=item *
305
ba03bc34 306XXX
eaed284b 307
ba03bc34 308=back
0335212c 309
ba03bc34 310=head1 Platform Support
0335212c 311
ba03bc34 312XXX Any changes to platform support should be listed in the sections below.
c3e455cf 313
ba03bc34
SH
314[ Within the sections, list each platform as a =item entry with specific
315changes as paragraphs below it. ]
c3e455cf 316
ba03bc34 317=head2 New Platforms
019705bc 318
ba03bc34
SH
319XXX List any platforms that this version of perl compiles on, that previous
320versions did not. These will either be enabled by new files in the F<hints/>
321directories, or new subdirectories and F<README> files at the top level of the
322source tree.
019705bc 323
ba03bc34 324=over 4
25921d77 325
44d412d1 326=item Bitrig
25921d77 327
44d412d1 328Compile support has been added for Bitrig, a fork of OpenBSD
28ea507e 329
ba03bc34 330=back
28ea507e 331
ba03bc34 332=head2 Discontinued Platforms
28ea507e 333
ba03bc34 334XXX List any platforms that this version of perl no longer compiles on.
28ea507e 335
ba03bc34 336=over 4
074d6753 337
ba03bc34 338=item XXX-some-platform
074d6753 339
ba03bc34 340XXX
4e5b563d 341
ba03bc34 342=back
4e5b563d 343
ba03bc34 344=head2 Platform-Specific Notes
ee818f56 345
ba03bc34
SH
346XXX List any changes for specific platforms. This could include configuration
347and compilation changes or changes in portability/compatibility. However,
348changes within modules for platforms should generally be listed in the
349L</Modules and Pragmata> section.
ee818f56 350
ba03bc34 351=over 4
c054cc81 352
ba03bc34 353=item XXX-some-platform
c054cc81 354
ba03bc34 355XXX
efcbb8b2 356
ba03bc34 357=back
efcbb8b2 358
ba03bc34 359=head1 Internal Changes
36813eeb 360
ba03bc34
SH
361XXX Changes which affect the interface available to C<XS> code go here. Other
362significant internal changes for future core maintainers should be noted as
363well.
36813eeb 364
ba03bc34 365[ List each change as a =item entry ]
52937067 366
ba03bc34 367=over 4
52937067 368
6760cac5
FC
369=item *
370
ba03bc34 371XXX
671f9ff7 372
ba03bc34 373=back
671f9ff7 374
ba03bc34 375=head1 Selected Bug Fixes
912a9a8f 376
ba03bc34
SH
377XXX Important bug fixes in the core language are summarized here. Bug fixes in
378files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
912a9a8f 379
ba03bc34 380[ List each fix as a =item entry ]
0d25b9d4 381
ba03bc34 382=over 4
0d25b9d4 383
a82207ba
FC
384=item *
385
ba03bc34 386XXX
18e2e6cd 387
ba03bc34 388=back
18e2e6cd 389
ba03bc34 390=head1 Known Problems
a82207ba 391
ba03bc34
SH
392XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
393tests that had to be C<TODO>ed for the release would be noted here. Unfixed
394platform specific bugs also go here.
31d5dc65 395
ba03bc34 396[ List each fix as a =item entry ]
31d5dc65 397
ba03bc34 398=over 4
31d5dc65 399
74dac2b5
FC
400=item *
401
ba03bc34 402XXX
74dac2b5 403
ba03bc34 404=back
8fecfff0 405
ba03bc34 406=head1 Obituary
8fecfff0 407
ba03bc34
SH
408XXX If any significant core contributor has died, we've added a short obituary
409here.
d7bfa554 410
583aa5c2 411=head1 Acknowledgements
a75569c0 412
ba03bc34
SH
413XXX Generate this with:
414
415 perl Porting/acknowledgements.pl v5.19.3..HEAD
f5b73711 416
44691e6f
AB
417=head1 Reporting Bugs
418
e08634c5
SH
419If you find what you think is a bug, you might check the articles recently
420posted to the comp.lang.perl.misc newsgroup and the perl bug database at
421http://rt.perl.org/perlbug/ . There may also be information at
422http://www.perl.org/ , the Perl Home Page.
44691e6f 423
e08634c5
SH
424If you believe you have an unreported bug, please run the L<perlbug> program
425included with your release. Be sure to trim your bug down to a tiny but
426sufficient test case. Your bug report, along with the output of C<perl -V>,
427will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
428
429If the bug you are reporting has security implications, which make it
e08634c5
SH
430inappropriate to send to a publicly archived mailing list, then please send it
431to perl5-security-report@perl.org. This points to a closed subscription
432unarchived mailing list, which includes all the core committers, who will be
433able to help assess the impact of issues, figure out a resolution, and help
f9001595 434co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
435platforms on which Perl is supported. Please only use this address for
436security issues in the Perl core, not for modules independently distributed on
437CPAN.
44691e6f
AB
438
439=head1 SEE ALSO
440
e08634c5
SH
441The F<Changes> file for an explanation of how to view exhaustive details on
442what changed.
44691e6f
AB
443
444The F<INSTALL> file for how to build Perl.
445
446The F<README> file for general stuff.
447
448The F<Artistic> and F<Copying> files for copyright information.
449
450=cut