This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta for e7ab04ce5
[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
f1591529
TC
30=head2 rand() now uses a consistent random number generator
31
32Previously perl would use a platform specific random number generator,
33varying between the libc C<rand()>, C<random()> or C<drand48()>.
34
35This meant that the quality of perl's random numbers would vary from
36platform to platform, from the 15 bits of C<rand()> on Win32 to
3748-bits on POSIX platforms such as Linux with C<drand48()>.
38
39Perl now uses its own internal C<drand48()> implementation on all
40platforms. [perl #115928]
41
ba03bc34 42=head1 Security
a3fb66a4 43
ba03bc34
SH
44XXX Any security-related notices go here. In particular, any security
45vulnerabilities closed should be noted here rather than in the
46L</Selected Bug Fixes> section.
4725e868 47
ba03bc34 48[ List each security issue as a =head2 entry ]
a3fb66a4 49
ba03bc34 50=head1 Incompatible Changes
a3fb66a4 51
e1c60bf3
SH
52=head2 Locale decimal point character no longer leaks outside of
53S<C<use locale>> scope (with the exception of C<$!>)
e46375fa 54
e1c60bf3
SH
55This is actually a bug fix, but some code has come to rely on the bug being
56present, so this change is listed here. The current locale that the program is
57running under is not supposed to be visible to Perl code except within the
58scope of a S<C<use locale>>. However, until now under certain circumstances,
59the character used for a decimal point (often a comma) leaked outside the
60scope.
e46375fa 61
e1c60bf3
SH
62This continues the work released in Perl 5.19.1. It turns out that that did
63not catch all the leaks, including C<printf> and C<sprintf> not respecting
64S<C<use locale>>. If your code is affected by this change, simply add a
65S<C<use locale>>.
e46375fa 66
e1c60bf3
SH
67Now, the only known place where C<'use locale'> is not respected is in the
68stringification of L<$!|perlvar/$!>.
a3fb66a4 69
ba03bc34 70=head1 Deprecations
a3fb66a4 71
ba03bc34 72XXX Any deprecated features, syntax, modules etc. should be listed here.
a3fb66a4 73
ba03bc34 74=head2 Module removals
4725e868 75
ba03bc34 76XXX Remove this section if inapplicable.
669d990b 77
ba03bc34
SH
78The following modules will be removed from the core distribution in a
79future release, and will at that time need to be installed from CPAN.
80Distributions on CPAN which require these modules will need to list them as
81prerequisites.
669d990b 82
ba03bc34
SH
83The core versions of these modules will now issue C<"deprecated">-category
84warnings to alert you to this fact. To silence these deprecation warnings,
85install the modules in question from CPAN.
669d990b 86
ba03bc34
SH
87Note that these are (with rare exceptions) fine modules that you are encouraged
88to continue to use. Their disinclusion from core primarily hinges on their
89necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
90not usually on concerns over their design.
2cf99697 91
ba03bc34 92=over
2cf99697 93
ba03bc34
SH
94XXX Note that deprecated modules should be listed here even if they are listed
95as an updated module in the L</Modules and Pragmata> section.
21d55435 96
ba03bc34 97=back
0f0eae2c 98
ba03bc34 99[ List each other deprecation as a =head2 entry ]
21d55435 100
ba03bc34 101=head1 Performance Enhancements
a3fb66a4 102
ba03bc34 103=over 4
a3fb66a4 104
2c99af42
SH
105=item *
106
e1c60bf3
SH
107The trie performance enhancement for regular expressions has now been extended
108to those compiled under C</iaa>.
2c99af42 109
c0ca71c9 110=back
42bff0d9 111
ba03bc34 112=head1 Modules and Pragmata
195e3ea0 113
ba03bc34
SH
114XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
115go here. If Module::CoreList is updated, generate an initial draft of the
116following sections using F<Porting/corelist-perldelta.pl>, which prints stub
117entries to STDOUT. Results can be pasted in place of the '=head2' entries
118below. A paragraph summary for important changes should then be added by hand.
119In an ideal world, dual-life modules would have a F<Changes> file that could be
120cribbed.
195e3ea0 121
ba03bc34 122[ Within each section, list entries as a =item entry ]
195e3ea0 123
ba03bc34 124=head2 New Modules and Pragmata
195e3ea0
SH
125
126=over 4
127
128=item *
129
ba03bc34 130XXX
195e3ea0
SH
131
132=back
133
ba03bc34 134=head2 Updated Modules and Pragmata
42bff0d9 135
38663f11 136=over 4
42bff0d9
DG
137
138=item *
139
082a4c42
SH
140L<autodie> has been upgraded from version 2.20 to 2.21.
141
142Numerous improvements have been made, many speed-related. See the F<Changes>
143file in the CPAN distribution for full details.
144
145=item *
146
8c24c1f7 147L<B> has been upgraded from version 1.45 to 1.46.
00c5962f
TC
148
149The fix for [perl #118525] introduced a regression in the behaviour of
e1c60bf3
SH
150C<B::CV::GV>, changing the return value from a C<B::SPECIAL> object on a
151C<NULL> C<CvGV> to C<undef>. C<B::CV::GV> again returns a C<B::SPECIAL>
152object in this case. [perl #119351]
00c5962f
TC
153
154=item *
155
8c24c1f7
SH
156L<B::Concise> has been upgraded from version 0.98 to 0.99.
157
5b903226 158The handling of the C<glob> operator, broken since Perl 5.17.6, has been fixed.
8c24c1f7
SH
159
160=item *
161
d5dcec3a
Z
162L<Carp> has been upgraded from version 1.31 to 1.32.
163
6ffbec2c
Z
164=over 4
165
166=item *
167
e1c60bf3
SH
168In stack traces, subroutine arguments that are strings are now quoted in a
169consistent manner, regardless of what characters they contain and how they're
170internally represented.
6ffbec2c
Z
171
172=item *
173
bf4588d0 174C<Carp> now won't vivify the C<overload::StrVal> glob or subroutine or the
bd098b9a 175C<overload> stash.
6ffbec2c
Z
176
177=item *
178
e1c60bf3
SH
179C<Carp> now avoids some unwanted Unicode warnings on older Perls. This doesn't
180affect behaviour with current Perl.
6ffbec2c
Z
181
182=item *
183
e1c60bf3
SH
184C<Carp::Heavy> detects version mismatch with C<Carp>, to give a good error
185message if a current (stub) C<Carp::Heavy> gets loaded by an old C<Carp> that
186expects C<Carp::Heavy> to provide subroutines.
d5dcec3a 187
6ffbec2c
Z
188=back
189
c963f488
SH
190=item *
191
3a76eb28
SH
192L<charnames> has been upgraded from version 1.38 to 1.39.
193
194This module now works on EBCDIC platforms.
195
196=item *
197
53bb269a
SH
198L<CPAN::Meta> has been upgraded from version 2.132140 to 2.132510.
199
200No changes have been made to the installed code other than the version bump to
201keep in sync with the latest CPAN release.
202
203=item *
204
202c41cb
SH
205L<CPAN::Meta::Requirements> has been upgraded from version 2.122 to 2.123.
206
e1c60bf3
SH
207No changes have been made to the installed code other than the version bump to
208keep in sync with the latest CPAN release.
202c41cb
SH
209
210=item *
211
8c24c1f7
SH
212L<Data::Dumper> has been upgraded from version 2.148 to 2.149.
213
5b903226
SH
214This upgrade is part of a larger change to make the array interface 64-bit safe
215by using SSize_t instead of I32 for array indices.
8c24c1f7 216
2f92fb87
SH
217In addition, an EBCDIC fix has been applied.
218
8c24c1f7
SH
219=item *
220
221L<Devel::Peek> has been upgraded from version 1.13 to 1.14.
222
5b903226
SH
223This upgrade is part of a larger change to preserve referential identity when
224passing C<undef> to a subroutine by using NULL rather than &PL_sv_undef for
225nonexistent array elements.
8c24c1f7 226
2f92fb87
SH
227In addition, C<Dump> with no args was broken in Perl 5.19.3, but has now been
228fixed.
229
8c24c1f7
SH
230=item *
231
232L<DynaLoader> has been upgraded from version 1.19 to 1.20.
233
5b903226
SH
234The documentation now makes it clear, as has always been the case, that
235C<dl_unload_file> is only called automatically to unload all loaded shared
236objects if the perl interpreter was built with the C macro
b228daaa 237DL_UNLOAD_ALL_AT_EXIT defined. Support for GNU DLD has also been removed.
5b903226
SH
238
239=item *
240
f2c09143
SH
241L<Encode> has been upgraded from version 2.52 to 2.54.
242
243An erroneous early return in C<decode_utf8> has been removed, and a bug in
244C<_utf8_on> under COW has been fixed.
245
246=item *
247
33826e50
SH
248L<Exporter> has been upgraded from version 5.69 to 5.70.
249
250A number of typos have been corrected in the documentation.
251
252=item *
253
a0e78e9f 254L<ExtUtils::CBuilder> has been upgraded from version 0.280205 to 0.280212.
2f92fb87 255
a0e78e9f
SH
256No changes have been made to the installed code other than the version bump to
257keep in sync with the latest CPAN release.
2f92fb87
SH
258
259=item *
260
33826e50
SH
261L<ExtUtils::Command> has been upgraded from version 1.17 to 1.18.
262
263No changes have been made to the installed code other than the version bump to
264keep in sync with the latest CPAN release.
265
266=item *
267
3a76eb28 268L<ExtUtils::MakeMaker> has been upgraded from version 6.72 to 6.76.
5b903226
SH
269
270Numerous updates and bug fixes are incorporated. See the F<Changes> file for
271full details.
8c24c1f7
SH
272
273=item *
274
f2c09143
SH
275L<ExtUtils::ParseXS> has been upgraded from version 3.21 to 3.22.
276
33826e50
SH
277No changes have been made to the installed code other than the version bump to
278keep in sync with the latest CPAN release.
f2c09143
SH
279
280=item *
281
77f1e6e4
SH
282L<File::Find> has been upgraded from version 1.24 to 1.25.
283
284Better diagnostics are now provided in the case of a failed C<chdir>.
285
286=item *
287
610ee5e3
TC
288L<File::Glob> has been upgraded from version 1.20 to 1.21.
289
e1c60bf3
SH
290C<glob()> now warns in the context of C<use warnings "syscalls";> if the
291supplied pattern has an internal NUL (C<"\0">) character.
610ee5e3 292
d5dcec3a
Z
293=item *
294
0f07ea36 295L<HTTP::Tiny> has been upgraded from version 0.034 to 0.035.
4403b774
SH
296
297Encoded data from C<post_form> now preserves term order if data is provided as
298an array reference. (They are still sorted for consistency if provided as a
299hash reference.)
300
301=item *
302
3a76eb28
SH
303L<I18N::LangTags> has been upgraded from version 0.39 to 0.40.
304
305Bosnian has now joined Croatian and Serbian in the lists of mutually
306intelligible Slavic languages. [perl #72594]
307
308=item *
309
77f1e6e4
SH
310L<IO> has been upgraded from version 1.28 to 1.29.
311
312A minor internals-only change has been made to the XS code.
313
314=item *
315
e1c60bf3 316L<IPC::Open3> has been upgraded from version 1.15 to 1.16.
8c24c1f7 317
5b903226
SH
318This upgrade is part of a larger change to preserve referential identity when
319passing C<undef> to a subroutine by using NULL rather than &PL_sv_undef for
320nonexistent array elements.
8c24c1f7
SH
321
322=item *
323
a0109759
SH
324L<Locale::Codes> has been upgraded from version 3.26 to 3.27.
325
326New codes have been added and the (deprecated) set of FIPS-10 country codes has
327been removed.
328
329=item *
330
a8479f0e
TC
331L<Math::BigInt> has been upgraded from version 1.9992 to 1.9993.
332
e1c60bf3
SH
333Cleaned up the L<Math::BigInt> and L<Math::BigFloat> documentation to be more
334consistent with other perl documentation. [perl #86686]
a8479f0e
TC
335
336Added a bint() method for rounding towards zero. [perl #85296]
337
338=item *
339
8c24c1f7
SH
340L<Math::BigInt::FastCalc> has been upgraded from version 0.30 to 0.31.
341
5b903226
SH
342This upgrade is part of a larger change to make the array interface 64-bit safe
343by using SSize_t instead of I32 for array indices.
8c24c1f7
SH
344
345=item *
346
37287258
SH
347L<Module::CoreList> has been upgraded from version 2.97 to 2.98.
348
349The list of Perl versions covered has been updated.
1fdd5e53 350
68cdd4b5
SH
351=item *
352
6c52f6c9 353L<Module::Load::Conditional> has been upgraded from version 0.54 to 0.58.
0022aab5
SH
354
355C<requires> has been made more robust. [cpan #83728]
356
357=item *
358
979f1f2b 359L<Module::Metadata> has been upgraded from version 1.000014 to 1.000018.
68cdd4b5
SH
360
361The module's DESCRIPTION has been re-worded regarding safety/security to
bff978fa
SH
362satisfy CVE-2013-1437. Also, versions are now detainted if needed. [cpan
363#88576]
68cdd4b5 364
93f72154
SH
365=item *
366
e1c60bf3 367L<mro> has been upgraded from version 1.13 to 1.14.
8c24c1f7 368
5b903226
SH
369This upgrade is part of a larger change to make the array interface 64-bit safe
370by using SSize_t instead of I32 for array indices.
8c24c1f7
SH
371
372=item *
373
e1c60bf3
SH
374L<parent> has been upgraded from version 0.226 to 0.227.
375
376No changes have been made to the installed code other than the version bump to
377keep in sync with the latest CPAN release.
378
379=item *
380
545c8cda
SH
381L<Parse::CPAN::Meta> has been upgraded from version 1.4405 to 1.4407.
382
383No changes have been made to the installed code other than the version bump to
384keep in sync with the latest CPAN release.
385
386=item *
387
ba58de91 388L<Perl::OSType> has been upgraded from version 1.003 to 1.005.
93f72154
SH
389
390The Unix OSType 'bitrig' has been added.
391
8c24c1f7
SH
392=item *
393
dd741cc9
SH
394L<perlfaq> has been upgraded from version 5.0150043 to 5.0150044.
395
396The use of C<gensym> in a number of examples has been removed, the use of C<&>
397in subroutine calls is now clarified and several new questions have been
398answered.
399
400=item *
401
8c24c1f7
SH
402L<re> has been upgraded from version 0.25 to 0.26.
403
5b903226 404A function signature has been corrected in the XS implementation.
8c24c1f7
SH
405
406=item *
407
e1c60bf3
SH
408L<Scalar::Util> has been upgraded from version 1.31 to 1.32.
409
410The documentation of C<blessed> has been improved to mention the fact that
411package "0" is defined but false.
412
413=item *
414
406cccc2
SH
415L<Socket> has been upgraded from version 2.011 to 2.012.
416
417Syntax errors when building on the WinCE platform have been fixed. [cpan #87389]
418
419=item *
420
8c24c1f7
SH
421L<Storable> has been upgraded from version 2.46 to 2.47.
422
5b903226
SH
423This upgrade is part of a larger change to preserve referential identity when
424passing C<undef> to a subroutine by using NULL rather than &PL_sv_undef for
425nonexistent array elements.
8c24c1f7
SH
426
427=item *
428
2f92fb87
SH
429L<Term::ReadLine> has been upgraded from version 1.10 to 1.14.
430
431Term::ReadLine::EditLine support has been added.
432
433=item *
434
3a76eb28
SH
435L<Time::Piece> has been upgraded from version 1.22 to 1.23.
436
437Day of year parsing (like "%y%j") has been fixed.
438
439=item *
440
60f577e0
SH
441L<Unicode::Collate> has been upgraded from version 0.98 to 0.99.
442
e1c60bf3
SH
443By default, out-of-range values are replaced with C<U+FFFD> (REPLACEMENT
444CHARACTER) when C<UCA_Version> E<gt>= 22, or ignored when C<UCA_Version> E<lt>=
44520. When C<UCA_Version> E<gt>= 22, the weights of out-of-range values can be
446overridden.
60f577e0
SH
447
448=item *
449
3a76eb28
SH
450L<Unicode::UCD> has been upgraded from version 0.53 to 0.54.
451
452This module now works on EBCDIC platforms.
453
454=item *
455
5565c738
SH
456L<version> has been upgraded from version 0.9903 to 0.9904.
457
458No changes have been made to the installed code other than the version bump to
459keep in sync with the latest CPAN release.
460
461=item *
462
8c24c1f7
SH
463L<warnings> has been upgraded from version 1.18 to 1.19.
464
5b903226 465The C<syscalls> warnings category has been added to check for embedded NUL
b8f07b9f 466(C<"\0">) characters in pathnames and string arguments to other system calls.
8c24c1f7
SH
467
468=item *
469
470L<XS::Typemap> has been upgraded from version 0.10 to 0.11.
471
583aa5c2
RS
472=back
473
ba03bc34 474=head2 Removed Modules and Pragmata
a3fb66a4
SH
475
476=over 4
477
478=item *
479
ba03bc34 480XXX
a3fb66a4
SH
481
482=back
483
ba03bc34 484=head1 Documentation
8fecfff0 485
ba03bc34
SH
486XXX Changes to files in F<pod/> go here. Consider grouping entries by
487file and be sure to link to the appropriate page, e.g. L<perlfunc>.
8fecfff0 488
ba03bc34 489=head2 New Documentation
8fecfff0 490
ba03bc34 491XXX Changes which create B<new> files in F<pod/> go here.
195e3ea0 492
ba03bc34 493=head3 L<XXX>
195e3ea0 494
ba03bc34 495XXX Description of the purpose of the new file here
195e3ea0 496
ba03bc34 497=head2 Changes to Existing Documentation
195e3ea0 498
ba03bc34
SH
499XXX Changes which significantly change existing files in F<pod/> go here.
500However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
501section.
195e3ea0 502
ba03bc34 503=head3 L<XXX>
a3fb66a4
SH
504
505=over 4
506
507=item *
508
ba03bc34 509XXX Description of the change here
a3fb66a4
SH
510
511=back
512
c0ca71c9
AP
513=head1 Diagnostics
514
515The following additions or changes have been made to diagnostic output,
516including warnings and fatal error messages. For the complete list of
517diagnostic messages, see L<perldiag>.
518
ba03bc34
SH
519XXX New or changed warnings emitted by the core's C<C> code go here. Also
520include any changes in L<perldiag> that reconcile it to the C<C> code.
521
c0ca71c9
AP
522=head2 New Diagnostics
523
ba03bc34
SH
524XXX Newly added diagnostic messages go under here, separated into New Errors
525and New Warnings
526
12dcbffb 527=head3 New Errors
583aa5c2 528
38663f11 529=over 4
583aa5c2 530
b8a02ff1 531=item *
583aa5c2 532
ba03bc34 533XXX L<message|perldiag/"message">
583aa5c2 534
b8a02ff1 535=back
583aa5c2 536
12dcbffb 537=head3 New Warnings
96d496e4 538
38663f11 539=over 4
b8a02ff1
DG
540
541=item *
542
610ee5e3
TC
543L<Invalid \0 character in %s for %s: %s\0%s|perldiag/"Invalid \0 character in %s for %s: %s\0%s">
544
b8f07b9f
SH
545(W syscalls) Embedded \0 characters in pathnames or other system call arguments
546produce a warning as of 5.20. The parts after the \0 were formerly ignored by
547system calls.
487a71ff 548
12dcbffb 549=back
1310e590 550
ba03bc34
SH
551=head2 Changes to Existing Diagnostics
552
553XXX Changes (i.e. rewording) of diagnostic messages go here
e727f86a 554
12dcbffb 555=over 4
e727f86a 556
81ca6d44
FC
557=item *
558
c1d900c3
BF
559Warnings and errors from the regexp engine are now UTF-8 clean
560
561=item *
562
563The "Unknown switch condition" error message has some slight changes.
564This error triggers when there is an unknown condition in a (?(foo))
565conditional; The error message used to read:
566
567 Unknown switch condition (?(%s in regex;
568
569But what %s could be was mostly up to luck; For (?(foobar)), you
570might've seen "fo" or "f". For Unicode characters, you'd generally
571get a corrupted string.
572The message was changed to read:
573
574 Unknown switch condition (?(...)) in regex;
575
576And additionally, the '<-- HERE' marker in the error will now point
577to the correct spot in the regex.
e38fc308 578
ba03bc34 579=back
a34da6c4 580
ba03bc34 581=head1 Utility Changes
a34da6c4 582
ba03bc34
SH
583XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
584Most of these are built within the directories F<utils> and F<x2p>.
558673e6 585
ba03bc34
SH
586[ List utility changes as a =head3 entry for each utility and =item
587entries for each change
588Use L<XXX> with program names to get proper documentation linking. ]
558673e6 589
b2d74da6 590=head3 L<find2perl>
47a7c93d 591
12dcbffb 592=over 4
b5a80c26 593
7f1d4316
FC
594=item *
595
f1c106f5 596L<find2perl> now handles C<?> wildcards correctly. [perl #113054]
7f1d4316 597
ba03bc34 598=back
ef947715 599
ba03bc34 600=head1 Configuration and Compilation
ef947715 601
ba03bc34
SH
602XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
603go here. Any other changes to the Perl build process should be listed here.
604However, any platform-specific changes should be listed in the
605L</Platform Support> section, instead.
02bef66e 606
ba03bc34 607[ List changes as a =item entry ].
d30fb844 608
12dcbffb 609=over 4
21c01741 610
467582e8
FC
611=item *
612
e1c60bf3
SH
613The F<Makefile.PL> for C<SDBM_File> now generates a better F<Makefile>, which
614avoids a race condition during parallel makes, which could cause the build to
615fail. This is the last known parallel make problem (on *nix platforms), and
616therefore we believe that a parallel make should now always be error free.
4d106cc5
NC
617
618=for comment
619
620Strictly only for a build where build files such as F<Makefile.SH> have not
621been updated by C<git> in an already configured and built tree.
467582e8 622
ba03bc34 623=back
64da853d 624
ba03bc34 625=head1 Testing
8847717e 626
ba03bc34
SH
627XXX Any significant changes to the testing of a freshly built perl should be
628listed here. Changes which create B<new> files in F<t/> go here as do any
629large changes to the testing harness (e.g. when parallel testing was added).
630Changes to existing files in F<t/> aren't worth summarizing, although the bugs
631that they represent may be covered elsewhere.
8847717e 632
ba03bc34 633[ List each test improvement as a =item entry ]
f1b856da 634
ba03bc34 635=over 4
f1b856da 636
eaed284b
FC
637=item *
638
5b903226 639The test script F<t/bigmem/regexp.t> has been added to test that regular
28f52e64 640expression matches on very large strings now succeed as expected.
8c24c1f7
SH
641
642=item *
643
5b903226
SH
644Various cases of C<die>, C<last>, C<goto> and C<exit> triggering C<DESTROY> are
645now tested by the new test script F<t/op/rt119311.t>.
8c24c1f7
SH
646
647=item *
648
5b903226
SH
649The new test script F<t/win32/signal.t> tests that C<$!> and C<$^E> are now
650preserved across signal handlers by the Win32 signal emulation code.
8c24c1f7
SH
651
652=item *
653
5b903226
SH
654The test script F<t/x2p/find2perl.t> has been added to test the F<find2perl>
655program on platforms where it is practical to do so.
eaed284b 656
ba03bc34 657=back
0335212c 658
ba03bc34 659=head1 Platform Support
0335212c 660
ba03bc34 661XXX Any changes to platform support should be listed in the sections below.
c3e455cf 662
ba03bc34
SH
663[ Within the sections, list each platform as a =item entry with specific
664changes as paragraphs below it. ]
c3e455cf 665
ba03bc34 666=head2 New Platforms
019705bc 667
ba03bc34
SH
668XXX List any platforms that this version of perl compiles on, that previous
669versions did not. These will either be enabled by new files in the F<hints/>
670directories, or new subdirectories and F<README> files at the top level of the
671source tree.
019705bc 672
ba03bc34 673=over 4
25921d77 674
44d412d1 675=item Bitrig
25921d77 676
44d412d1 677Compile support has been added for Bitrig, a fork of OpenBSD
28ea507e 678
ba03bc34 679=back
28ea507e 680
ba03bc34 681=head2 Discontinued Platforms
28ea507e 682
ba03bc34 683XXX List any platforms that this version of perl no longer compiles on.
28ea507e 684
7b0e9f13
AD
685Configure hints and conditional code for several very old platforms
686has been removed. We have not received reports for these in many years,
687typically not since perl-5.6.0.
688
ba03bc34 689=over 4
074d6753 690
7b0e9f13 691=item AT&T 3b1
074d6753 692
7b0e9f13
AD
693Configure support for the 3b1, also known as the AT&T Unix PC (and the
694similar AT&T 7300), has been removed.
4e5b563d 695
ba03bc34 696=back
4e5b563d 697
ba03bc34 698=head2 Platform-Specific Notes
ee818f56 699
ba03bc34
SH
700XXX List any changes for specific platforms. This could include configuration
701and compilation changes or changes in portability/compatibility. However,
702changes within modules for platforms should generally be listed in the
703L</Modules and Pragmata> section.
ee818f56 704
ba03bc34 705=over 4
c054cc81 706
8c24c1f7 707=item WinCE
c054cc81 708
5b903226
SH
709The building of XS modules has largely been restored. Several still cannot
710(yet) be built but it is now possible to build Perl on WinCE with only a couple
711of further patches (to L<Socket> and L<ExtUtils::MakeMaker>), hopefully to be
712incorporated soon.
efcbb8b2 713
ba03bc34 714=back
efcbb8b2 715
ba03bc34 716=head1 Internal Changes
36813eeb 717
ba03bc34
SH
718XXX Changes which affect the interface available to C<XS> code go here. Other
719significant internal changes for future core maintainers should be noted as
720well.
36813eeb 721
ba03bc34 722[ List each change as a =item entry ]
52937067 723
ba03bc34 724=over 4
52937067 725
6760cac5
FC
726=item *
727
fba42467
NC
728The internal representation has changed for the match variables C<$1>, C<$2>
729I<etc.>, C<$`>, C<$&>, C<$'>, C<${^PREMATCH}>, C<${^MATCH}> and
730C<${^POSTMATCH>. It uses slightly less memory, avoids string comparisons
731and numeric conversions during lookup, and uses 23 fewer lines of C. This
732change should not affect any external code.
671f9ff7 733
ba03bc34 734=back
671f9ff7 735
ba03bc34 736=head1 Selected Bug Fixes
912a9a8f 737
ba03bc34
SH
738XXX Important bug fixes in the core language are summarized here. Bug fixes in
739files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
912a9a8f 740
ba03bc34 741[ List each fix as a =item entry ]
0d25b9d4 742
ba03bc34 743=over 4
0d25b9d4 744
a82207ba
FC
745=item *
746
e1c60bf3 747The value of C<$^E> is now saved across signal handlers on Win32. [perl #85104]
18e2e6cd 748
ba03bc34 749=back
18e2e6cd 750
ba03bc34 751=head1 Known Problems
a82207ba 752
ba03bc34
SH
753XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
754tests that had to be C<TODO>ed for the release would be noted here. Unfixed
755platform specific bugs also go here.
31d5dc65 756
ba03bc34 757[ List each fix as a =item entry ]
31d5dc65 758
ba03bc34 759=over 4
31d5dc65 760
74dac2b5
FC
761=item *
762
ba03bc34 763XXX
74dac2b5 764
ba03bc34 765=back
8fecfff0 766
ba03bc34 767=head1 Obituary
8fecfff0 768
ba03bc34
SH
769XXX If any significant core contributor has died, we've added a short obituary
770here.
d7bfa554 771
583aa5c2 772=head1 Acknowledgements
a75569c0 773
ba03bc34
SH
774XXX Generate this with:
775
776 perl Porting/acknowledgements.pl v5.19.3..HEAD
f5b73711 777
44691e6f
AB
778=head1 Reporting Bugs
779
e08634c5
SH
780If you find what you think is a bug, you might check the articles recently
781posted to the comp.lang.perl.misc newsgroup and the perl bug database at
782http://rt.perl.org/perlbug/ . There may also be information at
783http://www.perl.org/ , the Perl Home Page.
44691e6f 784
e08634c5
SH
785If you believe you have an unreported bug, please run the L<perlbug> program
786included with your release. Be sure to trim your bug down to a tiny but
787sufficient test case. Your bug report, along with the output of C<perl -V>,
788will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
789
790If the bug you are reporting has security implications, which make it
e08634c5
SH
791inappropriate to send to a publicly archived mailing list, then please send it
792to perl5-security-report@perl.org. This points to a closed subscription
793unarchived mailing list, which includes all the core committers, who will be
794able to help assess the impact of issues, figure out a resolution, and help
f9001595 795co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
796platforms on which Perl is supported. Please only use this address for
797security issues in the Perl core, not for modules independently distributed on
798CPAN.
44691e6f
AB
799
800=head1 SEE ALSO
801
e08634c5
SH
802The F<Changes> file for an explanation of how to view exhaustive details on
803what changed.
44691e6f
AB
804
805The F<INSTALL> file for how to build Perl.
806
807The F<README> file for general stuff.
808
809The F<Artistic> and F<Copying> files for copyright information.
810
811=cut