This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
add new release to perlhist
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
249950d7 3=for comment
c0f37554 4This has been completed up to 0aae26c14, except for:
ff4ff6f3 5d9298c1 rurban mymalloc isn't thread safe
249950d7 6
44691e6f
AB
7=head1 NAME
8
c1e74734 9perldelta - what is new for perl v5.15.8
88c5c971 10
c1e74734 11=head1 DESCRIPTION
8f12b018 12
c1e74734
CBW
13This document describes differences between the 5.15.7 release and
14the 5.15.8 release.
8f12b018 15
c1e74734
CBW
16If you are upgrading from an earlier release such as 5.15.6, first read
17L<perl5157delta>, which describes differences between 5.15.6 and
185.15.7.
26afcec5 19
c1e74734 20=head1 Notice
8f12b018 21
811ac709 22This space intentionally left blank.
d7fbd56d 23
c1e74734 24=head1 Core Enhancements
d7fbd56d 25
66cbab2c
KW
26=head2 Improved ability to mix locales and Unicode, including UTF-8 locales
27
28An optional parameter has been added to C<use locale>
29
30 use locale ':not_characters';
31
32which tells Perl to use all but the C<LC_CTYPE> and C<LC_COLLATE>
33portions of the current locale. Instead, the character set is assumed
34to be Unicode. This allows locales and Unicode to be seamlessly mixed,
35including the increasingly frequent UTF-8 locales. When using this
36hybrid form of locales, the C<:locale> layer to the L<open> pragma can
37be used to interface with the file system, and there are CPAN modules
38available for ARGV and environment variable conversions.
39
40Full details are in L<perllocale>.
41
628253b8
BF
42=head2 New function C<fc> and corresponding escape sequence C<\F> for Unicode foldcase
43
44Unicode foldcase is an extension to lowercase that gives better results
45when comparing two strings case-insensitively. It has long been used
46internally in regular expression C</i> matching. Now it is available
47explicitly through the new C<fc> function call (enabled by
48S<C<"use feature 'fc'">>, or C<use v5.16>, or explicitly callable via
249950d7 49C<CORE::fc>) or through the new C<\F> sequence in double-quotish
628253b8
BF
50strings.
51
52Full details are in L<perlfunc/fc>.
53
10c62b23
FC
54=head2 C<_> in subroutine prototypes
55
56The C<_> character in subroutine prototypes is now allowed before C<@> or
57C<%>.
58
74968535 59=head2 Supports (I<almost>) Unicode 6.1
7620cb10
KW
60
61Besides the addition of whole new scripts, and new characters in
62existing scripts, this new version of Unicode, as always, makes some
63changes to existing characters. One change that may trip up some
64applications is that the General Category of two characters in the
65Latin-1 range, PILCROW SIGN and SECTION SIGN, has been changed from
66Other_Symbol to Other_Punctuation. The same change has been made for
67a character in each of Tibetan, Ethiopic, and Aegean.
68The code points U+3248..U+324F (CIRCLED NUMBER TEN ON BLACK SQUARE
69through CIRCLED NUMBER EIGHTY ON BLACK SQUARE) have had their General
70Category changed from Other_Symbol to Other_Numeric. The Line Break
71property has changes for Hebrew and Japanese; and as a consequence of
72other changes in 6.1, the Perl regular expression construct C<\X> now
73works differently for some characters in Thai and Lao.
74
75New aliases (synonyms) have been defined for many property values;
76these, along with the previously existing ones, are all cross indexed in
77L<perluniprops>.
78
898b2fa7
KW
79The return value of C<charnames::viacode()> is affected by other
80changes:
81
82 Code point Old Name New Name
83 U+000A LINE FEED (LF) LINE FEED
84 U+000C FORM FEED (FF) FORM FEED
85 U+000D CARRIAGE RETURN (CR) CARRIAGE RETURN
86 U+0085 NEXT LINE (NEL) NEXT LINE
87 U+008E SINGLE-SHIFT 2 SINGLE-SHIFT-2
88 U+008F SINGLE-SHIFT 3 SINGLE-SHIFT-3
89 U+0091 PRIVATE USE 1 PRIVATE USE-1
90 U+0092 PRIVATE USE 2 PRIVATE USE-2
91 U+2118 SCRIPT CAPITAL P WEIERSTRASS ELLIPTIC FUNCTION
92
93Perl will accept any of these names as input, but
94C<charnames::viacode()> now returns the new name of each pair. The
95change for U+2118 is considered by Unicode to be a correction, that is
96the original name was a mistake (but again, it will remain forever valid
97to use it to refer to U+2118). But most of these changes are the
7620cb10
KW
98fallout of the mistake Unicode 6.0 made in naming a character used in
99Japanese cell phones to be "BELL", which conflicts with the long
100standing industry use of (and Unicode's recommendation to use) that name
101to mean the ASCII control character at U+0007. As a result, that name
102has been deprecated in Perl since v5.14; and any use of it will raise a
103warning message (unless turned off). The name "ALERT" is now the
104preferred name for this code point, with "BEL" being an acceptable short
105form. The name for the new cell phone character, at code point U+1F514,
106remains undefined in this version of Perl (hence we don't quite
107implement all of Unicode 6.1), but starting in v5.18, BELL will mean
108this character, and not U+0007.
109
110Unicode has taken steps to make sure that this sort of mistake does not
111happen again. The Standard now includes all the generally accepted
112names and abbreviations for control characters, whereas previously it
898b2fa7
KW
113didn't (though there were recommended names for most of them, which Perl
114used). This means that most of those recommended names are now
115officially in the Standard. Unicode did not recommend names for the
116four code points listed above between U+008E and U+008F, and in
117standardizing them Unicode subtly changed the names that Perl had
118previously given them, by replacing the final blank in each name by a
119hyphen. Unicode also officially accepts names that Perl had deprecated,
120such as FILE SEPARATOR. Now the only deprecated name is BELL.
121Finally, Perl now uses the new official names instead of the old
aafe1054
KW
122(now considered obsolete) names for the first four code points in the
123list above (the ones which have the parentheses in them).
898b2fa7
KW
124
125Now that the names have been placed in the Unicode standard, these kinds
126of changes should not happen again, though corrections, such as to
127U+2118, are still possible.
128
129Unicode also added some name abbreviations, which Perl now accepts:
7620cb10
KW
130SP for SPACE;
131TAB for CHARACTER TABULATION;
132NEW LINE, END OF LINE, NL, and EOL for LINE FEED;
133LOCKING-SHIFT ONE for SHIFT OUT;
134LOCKING-SHIFT ZERO for SHIFT IN;
135and ZWNBSP for ZERO WIDTH NO-BREAK SPACE.
136
137More details on this version of Unicode are provided in
138L<http://www.unicode.org/versions/Unicode6.1.0/>.
139
27f00e3d
KW
140=head2 Added C<is_utf8_char_buf()>
141
142This function is designed to replace the deprecated L</is_utf8_char()>
143function. It includes an extra parameter to make sure it doesn't read
144past the end of the input buffer.
145
c1e74734 146=head1 Security
711a3903 147
27f00e3d
KW
148=head2 Use C<is_utf8_char_buf()> and not C<is_utf8_char()>
149
150The latter function is now deprecated because its API is insufficient to
151guarantee that it doesn't read (up to 12 bytes in the worst case) beyond
152the end of its input string. See
153L<is_utf8_char_buf()|/Added is_utf8_char_buf()>.
154
c1e74734 155=head1 Incompatible Changes
6ba817f3 156
c1e74734 157[ List each incompatible change as a =head2 entry ]
b240fc0f 158
249950d7
FC
159=head2 Special blocks called in void context
160
161Special blocks (C<BEGIN>, C<CHECK>, C<INIT>, C<UNITCHECK>, C<END>) are now
162called in void context. This avoids wasteful copying of the result of the
163last statement [perl #108794].
164
eff8c8ec
FC
165=head2 The C<overloading> pragma and regexp objects
166
167With C<no overloading>, regular expression objects returned by C<qr//> are
168now stringified as "Regexp=REGEXP(0xbe600d)" instead of the regular
169expression itself [perl #108780].
170
84ecb73f
S
171=head2 Two XS typemap Entries removed
172
173Two presumably unused XS typemap entries have been removed from the
174core typemap: T_DATAUNIT and T_CALLBACK. If you are, against all odds,
175a user of these, please see the instructions on how to regain them
176in L<perlxstypemap>.
177
7620cb10
KW
178=head2 Unicode 6.1 has incompatibilities with Unicode 6.0
179
180These are detailed in L</Supports (almost) Unicode 6.1> above.
181
290a3bf6
KW
182=head2 Changed returns for some properties in C<Unicode::UCD::prop_invmap()>
183
184The return values for C<prop_invmap> have been changed for some
185properties to make the returned lists significantly smaller. This
186allows those lists to be searched faster.
187
188This function was introduced earlier in the v5.15 series of releases,
189and the API will not be considered stable until v5.16.
190
191See L<Unicode::UCD/prop_invmap()> for details on the new interface.
192
d7c042c9
AB
193=head2 C<$$> and C<getppid()> no longer emulate POSIX semantics under LinuxThreads
194
195The POSIX emulation of C<$$> and C<getppid()> under the obsolete
196LinuxThreads implementation has been removed (the C<$$> emulation was
197actually removed in v5.15.0). This only impacts users of Linux 2.4 and
198users of Debian GNU/kFreeBSD up to and including 6.0, not the vast
199majority of Linux installations that use NPTL threads.
200
201This means that C<getppid()> like C<$$> is now always guaranteed to
202return the OS's idea of the current state of the process, not perl's
203cached version of it.
204
205See the documentation for L<$$|perlvar/$$> for details.
206
985213f2
AB
207=head2 C<< $< >>, C<< $> >>, C<$(> and C<$)> are no longer cached
208
209Similarly to the changes to C<$$> and C<getppid()> the internal
210caching of C<< $< >>, C<< $> >>, C<$(> and C<$)> has been removed.
211
212When we cached these values our idea of what they were would drift out
213of sync with reality if someone (e.g. someone embedding perl) called
214sete?[ug]id() without updating C<PL_e?[ug]id>. Having to deal with
215this complexity wasn't worth it given how cheap the C<gete?[ug]id()>
216system call is.
217
218This change will break a handful of CPAN modules that use the XS-level
219C<PL_uid>, C<PL_gid>, C<PL_euid> or C<PL_egid> variables.
220
221The fix for those breakages is to use C<PerlProc_gete?[ug]id()> to
222retrieve them (e.g. C<PerlProc_getuid()>), and not to assign to
223C<PL_e?[ug]id> if you change the UID/GID/EUID/EGID. There is no longer
224any need to do so since perl will always retrieve the up-to-date
225version of those values from the OS.
226
2e2b2571
KW
227=head2 Which Non-ASCII characters get quoted by C<quotemeta> and C<\Q> has changed
228
229This is unlikely to result in a real problem, as Perl does not attach
230special meaning to any non-ASCII character, so it is currently
231irrelevant which are quoted or not. This change fixes bug [perl #77654] and
232bring Perl's behavior more into line with Unicode's recommendations.
233See L<perlfunc/quotemeta>.
234
c1e74734 235=head1 Deprecations
b240fc0f 236
27f00e3d
KW
237=head2 C<is_utf8_char()>
238
239This function is deprecated because it could read beyond the end of the
240input string. Use the new L<is_utf8_char_buf()|/Added is_utf8_char_buf()>
241instead.
242
c1e74734 243=head1 Modules and Pragmata
cadced9f 244
c1e74734 245=head2 New Modules and Pragmata
cadced9f 246
c1e74734 247=over 4
632c5d30
NC
248
249=item *
250
2f987927
FC
251The C<mmap> PerlIO layer is no longer implemented by perl itself, but has
252been moved out into the new L<PerlIO::mmap> module.
4e6e9b23 253
c1e74734 254=back
4e6e9b23 255
c1e74734 256=head2 Updated Modules and Pragmata
4e6e9b23 257
c1e74734 258=over 4
1887da8c
RS
259
260=item *
261
eeac62ad
FC
262L<arybase> has been upgraded from version 0.03 to version 0.04.
263
264List slices no longer modify items on the stack belonging to outer lists
265[perl #109570].
266
267=item *
268
197aacaf
FC
269L<B> has been upgraded from version 1.33 to version 1.34.
270
271C<B::COP> now has a C<stashflags> method, corresponding to a new internal
272field added in 5.15.4 [perl #108860].
273
274=item *
275
c0f37554
FC
276L<Carp> has been upgraded from version 1.24 to version 1.25.
277
278It now puts a dot after the file and line number, just like errors from
279C<die> [perl #106538].
280
281=item *
282
fed9e2bd 283L<Compress::Raw::Bzip2> has been upgraded from version 2.045 to version 2.048.
76f546a2
CBW
284
285=item *
286
fed9e2bd 287L<Compress::Raw::Zlib> has been upgraded from version 2.045 to version 2.048.
589c1691
CBW
288
289=item *
290
fed9e2bd 291L<Compress::Zlib> has been upgraded from version 2.046 to version 2.048.
422d6414
CBW
292
293=item *
294
2d1dec40
CBW
295L<CPAN::Meta> has been upgraded from version 2.113640 to version 2.120351.
296
297Work around a memory leak bug involving version objects in boolean context.
298
299=item *
300
ce09a8a1 301L<CPAN::Meta::YAML> has been upgraded from version 0.005 to version 0.007.
b3100a1d
CBW
302
303=item *
304
2364a08e
CBW
305L<CPANPLUS> has been upgraded from version 0.9116 to version 0.9118.
306
307=item *
308
89ddfa67
CBW
309L<CPANPLUS::Dist::Build> has been upgraded from version 0.60 to version 0.62.
310
311=item *
312
53095d08
NC
313L<Data::Dumper> has been upgraded from version 2.135_04 to version 2.135_05.
314
315=item *
316
b34385a6 317L<DB_File> has been upgraded from version 1.824 to version 1.826.
acb29889
CBW
318
319=item *
320
ce2c4022
NC
321L<diagnostics> has been upgraded from version 1.27 to version 1.28.
322
323When searching for F<perldiag.pod>, it no longer uses paths that were only
324relevant on Perl 5.004 and earlier.
325
326=item *
327
84ecb73f
S
328L<ExtUtils::ParseXS> has been upgraded from version 3.12 to version 3.15.
329
330The new version comes with important tools for sharing typemaps between
331different CPAN distributions.
332
333=item *
334
a3cc0403
FC
335L<File::Copy> has been upgraded from version 2.21 to version 2.23.
336
337It no longer emits warnings when copying files with newlines in their names
338[perl #109104].
339
340=item *
341
eb96f3fa
CBW
342L<IPC::Cmd> has been upgraded from version 0.72 to version 0.76.
343
344=item *
345
04ae1553
Z
346L<Math::Complex> has been upgraded from version 1.58 to version 1.59.
347
348This avoids a new core warning.
349
350=item *
351
f50587e0
MM
352L<Module::CoreList> has been upgraded from version 2.60 to version 2.61.
353
354=item *
355
4402c0f3 356L<Module::Metadata> has been upgraded from version 1.000007 to version 1.000009.
75ff5956
CBW
357
358Adds C<provides> method to generate a CPAN META provides data structure
359correctly; use of C<package_versions_from_directory> is discouraged.
360
361=item *
362
a4a5e2bf
CBW
363L<Parse::CPAN::Meta> has been upgraded from version 1.4401 to version 1.4402.
364
365=item *
366
843331c7
CBW
367L<perlfaq> has been upgraded from version 5.0150038 to version 5.0150039.
368
369=item *
370
812efae1
NC
371L<Pod::Functions> has been upgraded from version 1.04 to version 1.05.
372
373F<Functions.pm> is now generated at perl build time from annotations in
374F<perlfunc.pod>. This will ensure that L<Pod::Functions> and L<perlfunc>
375remain in synchronisation.
376
377=item *
378
1051d5b5 379L<Pod::Parser> has been upgraded from version 1.37 to version 1.51.
88c5c971 380
2a7afa74
NC
381=item *
382
ecd144ea
FC
383L<Term::ReadLine> has been upgraded from version 1.07 to version 1.08.
384
32e63b32 385Term::ReadLine now supports any event loop, including unpublished ones and
811ac709
MM
386simple L<IO::Select> loops without the need to rewrite existing code for
387any particular framework [perl #108470].
ecd144ea
FC
388
389=item *
390
9dea6244
CBW
391L<Socket> has been upgraded from version 1.97 to version 1.98.
392
393=item *
394
858dcda5
Z
395L<Time::HiRes> has been upgraded from version 1.9724 to version 1.9725.
396
694644e0 397C<Time::HiRes::stat()> no longer corrupts the Perl stack.
858dcda5
Z
398
399=item *
400
2a7afa74
NC
401L<Unicode::UCD> has been upgraded from version 0.39 to 0.40.
402
403The only change is to fix a formatting error in the Pod.
404
e9e4ee62
CBW
405=item *
406
407L<Version::Requirements> has been upgraded from version 0.101021 to version 0.101022.
408
c1e74734 409=back
c0504019 410
c1e74734 411=head2 Removed Modules and Pragmata
937a45d0 412
c1e74734 413=over 4
937a45d0 414
ef337e16
CBW
415=item *
416
cf6f994f 417XXX
ef337e16 418
7f28d7ed 419=back
679b54e7 420
52deee2e 421=head1 Documentation
3c7c5233 422
c1e74734 423=head2 New Documentation
cadced9f 424
84ecb73f
S
425=head3 L<perlxstypemap>
426
427The new manual describes the XS typemapping mechanism in unprecedented
428detail and combines new documentation with information extracted from
429L<perlxs> and the previously unofficial list of all core typemaps.
430
c1e74734 431=head1 Testing
39de7394 432
c1e74734 433=over 4
5dd80d85 434
52272450
FC
435=item *
436
f0bcc49a
NC
437F<t/porting/pending-author.t> has been added, to avoid the problem of
438C<make test> passing 100%, but the subsequent git commit causing
439F<t/porting/authors.t> to fail, because it uses a "new" e-mail address.
440
441This test is only run if one is building inside a git checkout, B<and> one
442has made local changes. Otherwise it's skipped.
443
444=item *
445
cf6f994f
NC
446F<t/porting/perlfunc.t> has been added, to test that changes to
447F<pod/perlfunc.pod> do not inadvertently break the build of L<Pod::Functions>.
52272450 448
84ecb73f
S
449=item *
450
451The test suite for typemaps has been extended to cover a larger fraction of
452the core typemaps.
453
52deee2e 454=back
5dd80d85 455
c1e74734 456=head1 Platform Support
52272450 457
c1e74734 458=head2 Platform-Specific Notes
ea88c40c 459
c1e74734 460=over 4
ea88c40c 461
811ac709 462=item Cygwin
ea88c40c 463
811ac709
MM
464Since version 1.7, Cygwin supports native UTF-8 paths. If Perl is built
465under that environment, directory and filenames will be UTF-8 encoded.
466
467Cygwin does not initialize all original Win32 environment variables. See
468F<README.cygwin> for a discussion of C<Cygwin::sync_winenv()> and
469further links.
470
471=item VMS
472
473The build on VMS now allows names of the resulting
474symbols in C code for Perl longer than 31 characters.
475Symbols like C<Perl__it_was_the_best_of_times_it_was_the_worst_of_times>
476can now be created freely without causing the VMS linker to seize up.
ea88c40c 477
c1e74734 478=back
ea88c40c 479
c1e74734 480=head1 Selected Bug Fixes
ea88c40c 481
c1e74734 482=over 4
ea88c40c
FC
483
484=item *
485
6025c6dd
RS
486C<~~> now correctly handles the precedence of Any~~Object, and is not tricked
487by an overloaded object on the left-hand side.
ea88c40c 488
249950d7
FC
489=item *
490
491C<stat _> no longer warns about unopened filehandles [perl #71002].
492
493=item *
494
495C<stat> on an unopened filehandle now warns consistently, instead of
496skipping the warning at times.
497
498=item *
499
500A change in an earlier 5.15 release caused warning hints to propagate into
501C<do $file>. This has been fixed [rt.cpan.org #72767].
502
503=item *
504
505Starting with 5.12.0, Perl used to get its internal bookkeeping muddled up
506after assigning C<${ qr// }> to a hash element and locking it with
507L<Hash::Util>. This could result in double frees, crashes or erratic
508behaviour.
509
92c88ef1
FC
510=item *
511
512In 5.15.7, some typeglobs in the CORE namespace were made read-only by
513mistake. This has been fixed [rt.cpan.org #74289].
514
b1ea7742
FC
515=item *
516
517C<-t> now works when stacked with other filetest operators [perl #77388].
518
a1d95121
FC
519=item *
520
521Stacked filetest operators now only call FETCH once on a tied argument.
522
ff4ff6f3
FC
523=item *
524
525C</.*/g> would sometimes refuse to match at the end of a string that ends
526with "\n". This has been fixed [perl #109206].
527
a7bff800
FC
528=item *
529
ea317ccb
KW
530C<m/[[:ascii:]]/i> and C</\p{ASCII}/i> now match identically (when not
531under a differing locale). This fixes a regression introduced in 5.14
532in which the first expression could match characters outside of ASCII,
533such as the KELVIN SIGN.
534
535=item *
536
a7bff800 537Method calls whose arguments were all surrounded with C<my()> or C<our()>
32e63b32 538(as in C<< $object->method(my($a,$b)) >>) used to force lvalue context on
a7bff800
FC
539the subroutine. This would prevent lvalue methods from returning certain
540values. Due to lvalue fixes earlier in the 5.15.x series, it would also
541prevent non-lvalue methods from being called [perl #109264].
542
543=for comment
544This bug I<did> affect earlier stable releases. It is just the last
545sentence that does not apply to 5.14.
546
0aae26c1
FC
547=item *
548
549The C<SvPVutf8> C function no longer tries to modify its argument,
550resulting in errors [perl #108994].
551
552=item *
553
554C<SvPVutf8> now works properly with magical variables.
555
556=item *
557
558C<SvPVbyte> now works properly non-PVs.
559
07315176
KW
560=item *
561
67addccf
KW
562C</[[:ascii:]]/> and C</[[:blank:]]/> now use locale rules under
563C<use locale> when the platform supports that. Previously, they used
07315176
KW
564the platform's native character set.
565
5d103fec
KW
566=item *
567
568A regression introduced in 5.13.6 was fixed. This involved an inverted
569bracketed character class in a regular expression that consisted solely
570of a Unicode property, that property wasn't getting inverted outside the
571Latin1 range.
572
2e2b2571
KW
573=item *
574
575C<quotemeta> now quotes consistently the same non-ASCII characters under
576C<use feature 'unicode_strings'>, regardless of whether the string is
577encoded in UTF-8 or not, hence fixing the last vestiges (we hope) of the
578infamous L<perlunicode/The "Unicode Bug">. [perl #77654].
579
580Which of these code points is quoted has changed, based on Unicode's
581recommendations. See L<perlfunc/quotemeta> for details.
582
ea88c40c
FC
583=back
584
c1e74734 585=head1 Known Problems
ea88c40c 586
c1e74734 587This is a list of some significant unfixed bugs, which are regressions
32e63b32 588from either 5.14.0 or 5.15.7.
ea88c40c 589
c1e74734 590=over 4
18af289e 591
811ac709 592=item * C<eval { 'fork()' }> is broken on Windows [perl #109718]
18af289e 593
811ac709 594This is a known test failure to be fixed before 5.16.0.
1ac442bc 595
c1e74734 596=back
c0154fe2 597
c1e74734 598=head1 Obituary
1ac442bc 599
c1e74734
CBW
600XXX If any significant core contributor has died, we've added a short obituary
601here.
84b2a83e 602
52deee2e 603=head1 Acknowledgements
8fe05716 604
811ac709
MM
605Perl 5.15.8 represents approximately 4 weeks of development since Perl 5.15.7
606and contains approximately 61,000 lines of changes across 480 files from 36
607authors.
608
609Perl continues to flourish into its third decade thanks to a vibrant community
610of users and developers. The following people are known to have contributed the
611improvements that became Perl 5.15.8:
612
613Abhijit Menon-Sen, Alan Haggai Alavi, Alexandr Ciornii, Andy Dougherty, Brian
614Fraser, Chris 'BinGOs' Williams, Craig A. Berry, Darin McBride, Dave Rolsky,
615David Golden, David Leadbeater, David Mitchell, Dominic Hargreaves, Eric Brine,
616Father Chrysostomos, Florian Ragwitz, H.Merijn Brand, Juerd Waalboer, Karl
617Williamson, Leon Timmermans, Marc Green, Max Maischein, Nicholas Clark, Paul
618Evans, Rafael Garcia-Suarez, Rainer Tammer, Reini Urban, Ricardo Signes, Robin
619Barker, Shlomi Fish, Steffen Müller, Todd Rinaldo, Tony Cook, Yves Orton,
620Zefram, Ævar Arnfjörð Bjarmason.
621
622The list above is almost certainly incomplete as it is automatically generated
623from version control history. In particular, it does not include the names of
624the (very much appreciated) contributors who reported issues to the Perl bug
625tracker.
626
627Many of the changes included in this version originated in the CPAN modules
628included in Perl's core. We're grateful to the entire CPAN community for
629helping Perl to flourish.
630
631For a more complete list of all of Perl's historical contributors, please see
632the F<AUTHORS> file in the Perl source distribution.
29cf780c 633
44691e6f
AB
634=head1 Reporting Bugs
635
636If you find what you think is a bug, you might check the articles
52deee2e
DR
637recently posted to the comp.lang.perl.misc newsgroup and the perl
638bug database at http://rt.perl.org/perlbug/ . There may also be
44691e6f
AB
639information at http://www.perl.org/ , the Perl Home Page.
640
641If you believe you have an unreported bug, please run the L<perlbug>
52deee2e
DR
642program included with your release. Be sure to trim your bug down
643to a tiny but sufficient test case. Your bug report, along with the
644output of C<perl -V>, will be sent off to perlbug@perl.org to be
645analysed by the Perl porting team.
44691e6f
AB
646
647If the bug you are reporting has security implications, which make it
52deee2e
DR
648inappropriate to send to a publicly archived mailing list, then please send
649it to perl5-security-report@perl.org. This points to a closed subscription
650unarchived mailing list, which includes
651all the core committers, who will be able
652to help assess the impact of issues, figure out a resolution, and help
653co-ordinate the release of patches to mitigate or fix the problem across all
654platforms on which Perl is supported. Please only use this address for
655security issues in the Perl core, not for modules independently
656distributed on CPAN.
44691e6f
AB
657
658=head1 SEE ALSO
659
52deee2e
DR
660The F<Changes> file for an explanation of how to view exhaustive details
661on what changed.
44691e6f
AB
662
663The F<INSTALL> file for how to build Perl.
664
665The F<README> file for general stuff.
666
667The F<Artistic> and F<Copying> files for copyright information.
668
669=cut