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