This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta - Add missing =item directive
[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
00c5962f
TC
122L<B> has been upgraded from 1.45 to 1.46.
123
124The fix for [perl #118525] introduced a regression in the behaviour of
125C<B::CV::GV>, changing the return value from a C<B::SPECIAL> object on
126a C<NULL> C<CvGV> to C<undef>. C<B::CV::GV> again returns a
127C<B::SPECIAL> object in this case. [perl #119351]
128
129=item *
130
d5dcec3a
Z
131L<Carp> has been upgraded from version 1.31 to 1.32.
132
6ffbec2c
Z
133=over 4
134
135=item *
136
137In stack traces, subroutine arguments that are strings are now quoted
138in a consistent manner, regardless of what characters they contain and
139how they're internally represented.
140
141=item *
142
bf4588d0 143C<Carp> now won't vivify the C<overload::StrVal> glob or subroutine or the
bd098b9a 144C<overload> stash.
6ffbec2c
Z
145
146=item *
147
148C<Carp> now avoids some unwanted Unicode warnings on older Perls. This
149doesn't affect behaviour with current Perl.
150
151=item *
152
bf4588d0
Z
153C<Carp::Heavy> detects version mismatch with C<Carp>, to give a good
154error message if a current (stub) C<Carp::Heavy> gets loaded by an old
155C<Carp> that expects C<Carp::Heavy> to provide subroutines.
d5dcec3a 156
6ffbec2c
Z
157=back
158
c963f488
SH
159=item *
160
610ee5e3
TC
161L<File::Glob> has been upgraded from version 1.20 to 1.21.
162
163C<glob()> now warns in the context of C<use warnings "syscalls";> if
164the supplied pattern has an internal NUL (C<"\0">) character.
165
d5dcec3a
Z
166=item *
167
a8479f0e
TC
168L<Math::BigInt> has been upgraded from version 1.9992 to 1.9993.
169
170Cleaned up the L<Math::BigInt> and L<Math::BigFloat> documentation to
171be more consistent with other perl documentation. [perl #86686]
172
173Added a bint() method for rounding towards zero. [perl #85296]
174
175=item *
176
37287258
SH
177L<Module::CoreList> has been upgraded from version 2.97 to 2.98.
178
179The list of Perl versions covered has been updated.
1fdd5e53 180
68cdd4b5
SH
181=item *
182
183L<Module::Metadata> has been upgraded from version 1.000014 to 1.000016.
184
185The module's DESCRIPTION has been re-worded regarding safety/security to
186satisfy CVE-2013-1437.
187
93f72154
SH
188=item *
189
190L<Perl::OSType> has been upgraded from 1.003 to 1.004.
191
192The Unix OSType 'bitrig' has been added.
193
583aa5c2
RS
194=back
195
ba03bc34 196=head2 Removed Modules and Pragmata
a3fb66a4
SH
197
198=over 4
199
200=item *
201
ba03bc34 202XXX
a3fb66a4
SH
203
204=back
205
ba03bc34 206=head1 Documentation
8fecfff0 207
ba03bc34
SH
208XXX Changes to files in F<pod/> go here. Consider grouping entries by
209file and be sure to link to the appropriate page, e.g. L<perlfunc>.
8fecfff0 210
ba03bc34 211=head2 New Documentation
8fecfff0 212
ba03bc34 213XXX Changes which create B<new> files in F<pod/> go here.
195e3ea0 214
ba03bc34 215=head3 L<XXX>
195e3ea0 216
ba03bc34 217XXX Description of the purpose of the new file here
195e3ea0 218
ba03bc34 219=head2 Changes to Existing Documentation
195e3ea0 220
ba03bc34
SH
221XXX Changes which significantly change existing files in F<pod/> go here.
222However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
223section.
195e3ea0 224
ba03bc34 225=head3 L<XXX>
a3fb66a4
SH
226
227=over 4
228
229=item *
230
ba03bc34 231XXX Description of the change here
a3fb66a4
SH
232
233=back
234
c0ca71c9
AP
235=head1 Diagnostics
236
237The following additions or changes have been made to diagnostic output,
238including warnings and fatal error messages. For the complete list of
239diagnostic messages, see L<perldiag>.
240
ba03bc34
SH
241XXX New or changed warnings emitted by the core's C<C> code go here. Also
242include any changes in L<perldiag> that reconcile it to the C<C> code.
243
c0ca71c9
AP
244=head2 New Diagnostics
245
ba03bc34
SH
246XXX Newly added diagnostic messages go under here, separated into New Errors
247and New Warnings
248
12dcbffb 249=head3 New Errors
583aa5c2 250
38663f11 251=over 4
583aa5c2 252
b8a02ff1 253=item *
583aa5c2 254
ba03bc34 255XXX L<message|perldiag/"message">
583aa5c2 256
b8a02ff1 257=back
583aa5c2 258
12dcbffb 259=head3 New Warnings
96d496e4 260
38663f11 261=over 4
b8a02ff1
DG
262
263=item *
264
610ee5e3
TC
265L<Invalid \0 character in %s for %s: %s\0%s|perldiag/"Invalid \0 character in %s for %s: %s\0%s">
266
267(W syscalls) Embedded \0 characters in pathnames or other syscall
268arguments create a warning since 5.20. The parts after the \0 were
269formerly ignored by syscalls.
487a71ff 270
12dcbffb 271=back
1310e590 272
ba03bc34
SH
273=head2 Changes to Existing Diagnostics
274
275XXX Changes (i.e. rewording) of diagnostic messages go here
e727f86a 276
12dcbffb 277=over 4
e727f86a 278
81ca6d44
FC
279=item *
280
ba03bc34 281XXX Describe change here
e38fc308 282
ba03bc34 283=back
a34da6c4 284
ba03bc34 285=head1 Utility Changes
a34da6c4 286
ba03bc34
SH
287XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
288Most of these are built within the directories F<utils> and F<x2p>.
558673e6 289
ba03bc34
SH
290[ List utility changes as a =head3 entry for each utility and =item
291entries for each change
292Use L<XXX> with program names to get proper documentation linking. ]
558673e6 293
b2d74da6 294=head3 L<find2perl>
47a7c93d 295
12dcbffb 296=over 4
b5a80c26 297
7f1d4316
FC
298=item *
299
f1c106f5 300L<find2perl> now handles C<?> wildcards correctly. [perl #113054]
7f1d4316 301
ba03bc34 302=back
ef947715 303
ba03bc34 304=head1 Configuration and Compilation
ef947715 305
ba03bc34
SH
306XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
307go here. Any other changes to the Perl build process should be listed here.
308However, any platform-specific changes should be listed in the
309L</Platform Support> section, instead.
02bef66e 310
ba03bc34 311[ List changes as a =item entry ].
d30fb844 312
12dcbffb 313=over 4
21c01741 314
467582e8
FC
315=item *
316
4d106cc5
NC
317The F<Makefile.PL> for C<SDBM_File> now generates a better F<Makefile>,
318which avoids a race condition during parallel makes, which could cause the
319build to fail. This is the last known parallel make problem (on *nix
320platforms), and therefore we believe that a parallel make should now always
321be error free.
322
323=for comment
324
325Strictly only for a build where build files such as F<Makefile.SH> have not
326been updated by C<git> in an already configured and built tree.
467582e8 327
ba03bc34 328=back
64da853d 329
ba03bc34 330=head1 Testing
8847717e 331
ba03bc34
SH
332XXX Any significant changes to the testing of a freshly built perl should be
333listed here. Changes which create B<new> files in F<t/> go here as do any
334large changes to the testing harness (e.g. when parallel testing was added).
335Changes to existing files in F<t/> aren't worth summarizing, although the bugs
336that they represent may be covered elsewhere.
8847717e 337
ba03bc34 338[ List each test improvement as a =item entry ]
f1b856da 339
ba03bc34 340=over 4
f1b856da 341
eaed284b
FC
342=item *
343
ba03bc34 344XXX
eaed284b 345
ba03bc34 346=back
0335212c 347
ba03bc34 348=head1 Platform Support
0335212c 349
ba03bc34 350XXX Any changes to platform support should be listed in the sections below.
c3e455cf 351
ba03bc34
SH
352[ Within the sections, list each platform as a =item entry with specific
353changes as paragraphs below it. ]
c3e455cf 354
ba03bc34 355=head2 New Platforms
019705bc 356
ba03bc34
SH
357XXX List any platforms that this version of perl compiles on, that previous
358versions did not. These will either be enabled by new files in the F<hints/>
359directories, or new subdirectories and F<README> files at the top level of the
360source tree.
019705bc 361
ba03bc34 362=over 4
25921d77 363
44d412d1 364=item Bitrig
25921d77 365
44d412d1 366Compile support has been added for Bitrig, a fork of OpenBSD
28ea507e 367
ba03bc34 368=back
28ea507e 369
ba03bc34 370=head2 Discontinued Platforms
28ea507e 371
ba03bc34 372XXX List any platforms that this version of perl no longer compiles on.
28ea507e 373
ba03bc34 374=over 4
074d6753 375
ba03bc34 376=item XXX-some-platform
074d6753 377
ba03bc34 378XXX
4e5b563d 379
ba03bc34 380=back
4e5b563d 381
ba03bc34 382=head2 Platform-Specific Notes
ee818f56 383
ba03bc34
SH
384XXX List any changes for specific platforms. This could include configuration
385and compilation changes or changes in portability/compatibility. However,
386changes within modules for platforms should generally be listed in the
387L</Modules and Pragmata> section.
ee818f56 388
ba03bc34 389=over 4
c054cc81 390
ba03bc34 391=item XXX-some-platform
c054cc81 392
ba03bc34 393XXX
efcbb8b2 394
ba03bc34 395=back
efcbb8b2 396
ba03bc34 397=head1 Internal Changes
36813eeb 398
ba03bc34
SH
399XXX Changes which affect the interface available to C<XS> code go here. Other
400significant internal changes for future core maintainers should be noted as
401well.
36813eeb 402
ba03bc34 403[ List each change as a =item entry ]
52937067 404
ba03bc34 405=over 4
52937067 406
6760cac5
FC
407=item *
408
ba03bc34 409XXX
671f9ff7 410
ba03bc34 411=back
671f9ff7 412
ba03bc34 413=head1 Selected Bug Fixes
912a9a8f 414
ba03bc34
SH
415XXX Important bug fixes in the core language are summarized here. Bug fixes in
416files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
912a9a8f 417
ba03bc34 418[ List each fix as a =item entry ]
0d25b9d4 419
ba03bc34 420=over 4
0d25b9d4 421
a82207ba
FC
422=item *
423
3d05c417
TC
424The value of C<$^E> is now saved across signal handlers on
425Win32. [perl #85104]
18e2e6cd 426
ba03bc34 427=back
18e2e6cd 428
ba03bc34 429=head1 Known Problems
a82207ba 430
ba03bc34
SH
431XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
432tests that had to be C<TODO>ed for the release would be noted here. Unfixed
433platform specific bugs also go here.
31d5dc65 434
ba03bc34 435[ List each fix as a =item entry ]
31d5dc65 436
ba03bc34 437=over 4
31d5dc65 438
74dac2b5
FC
439=item *
440
ba03bc34 441XXX
74dac2b5 442
ba03bc34 443=back
8fecfff0 444
ba03bc34 445=head1 Obituary
8fecfff0 446
ba03bc34
SH
447XXX If any significant core contributor has died, we've added a short obituary
448here.
d7bfa554 449
583aa5c2 450=head1 Acknowledgements
a75569c0 451
ba03bc34
SH
452XXX Generate this with:
453
454 perl Porting/acknowledgements.pl v5.19.3..HEAD
f5b73711 455
44691e6f
AB
456=head1 Reporting Bugs
457
e08634c5
SH
458If you find what you think is a bug, you might check the articles recently
459posted to the comp.lang.perl.misc newsgroup and the perl bug database at
460http://rt.perl.org/perlbug/ . There may also be information at
461http://www.perl.org/ , the Perl Home Page.
44691e6f 462
e08634c5
SH
463If you believe you have an unreported bug, please run the L<perlbug> program
464included with your release. Be sure to trim your bug down to a tiny but
465sufficient test case. Your bug report, along with the output of C<perl -V>,
466will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
467
468If the bug you are reporting has security implications, which make it
e08634c5
SH
469inappropriate to send to a publicly archived mailing list, then please send it
470to perl5-security-report@perl.org. This points to a closed subscription
471unarchived mailing list, which includes all the core committers, who will be
472able to help assess the impact of issues, figure out a resolution, and help
f9001595 473co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
474platforms on which Perl is supported. Please only use this address for
475security issues in the Perl core, not for modules independently distributed on
476CPAN.
44691e6f
AB
477
478=head1 SEE ALSO
479
e08634c5
SH
480The F<Changes> file for an explanation of how to view exhaustive details on
481what changed.
44691e6f
AB
482
483The F<INSTALL> file for how to build Perl.
484
485The F<README> file for general stuff.
486
487The F<Artistic> and F<Copying> files for copyright information.
488
489=cut