This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add epigraph for 5.15.8
[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
c11980ad
MM
251C<PerlIO::mmap> 0.010 has been added to the Perl core.
252
2f987927
FC
253The C<mmap> PerlIO layer is no longer implemented by perl itself, but has
254been moved out into the new L<PerlIO::mmap> module.
4e6e9b23 255
c1e74734 256=back
4e6e9b23 257
c1e74734 258=head2 Updated Modules and Pragmata
4e6e9b23 259
c1e74734 260=over 4
1887da8c
RS
261
262=item *
263
eeac62ad
FC
264L<arybase> has been upgraded from version 0.03 to version 0.04.
265
266List slices no longer modify items on the stack belonging to outer lists
267[perl #109570].
268
269=item *
270
197aacaf
FC
271L<B> has been upgraded from version 1.33 to version 1.34.
272
273C<B::COP> now has a C<stashflags> method, corresponding to a new internal
274field added in 5.15.4 [perl #108860].
275
276=item *
277
c11980ad
MM
278C<B::Deparse> has been upgraded from version 1.11 to 1.12.
279
280=item *
281
c0f37554
FC
282L<Carp> has been upgraded from version 1.24 to version 1.25.
283
284It now puts a dot after the file and line number, just like errors from
285C<die> [perl #106538].
286
287=item *
288
c11980ad 289C<Compress::Raw::Bzip2> has been upgraded from version 2.045 to 2.048.
76f546a2
CBW
290
291=item *
292
c11980ad 293C<Compress::Raw::Zlib> has been upgraded from version 2.045 to 2.048.
589c1691
CBW
294
295=item *
296
fed9e2bd 297L<Compress::Zlib> has been upgraded from version 2.046 to version 2.048.
422d6414
CBW
298
299=item *
300
c11980ad 301C<CPAN::Meta> has been upgraded from version 2.113640 to 2.120351.
2d1dec40
CBW
302
303Work around a memory leak bug involving version objects in boolean context.
304
305=item *
306
c11980ad 307C<CPAN::Meta::YAML> has been upgraded from version 0.005 to 0.007.
b3100a1d
CBW
308
309=item *
310
c11980ad 311C<CPANPLUS> has been upgraded from version 0.9116 to 0.9118.
2364a08e
CBW
312
313=item *
314
c11980ad 315C<CPANPLUS::Dist::Build> has been upgraded from version 0.60 to 0.62.
89ddfa67
CBW
316
317=item *
318
c11980ad 319C<Data::Dumper> has been upgraded from version 2.135_04 to 2.135_05.
53095d08
NC
320
321=item *
322
c11980ad 323C<DB_File> has been upgraded from version 1.824 to 1.826.
acb29889
CBW
324
325=item *
326
c11980ad 327C<diagnostics> has been upgraded from version 1.27 to 1.28.
ce2c4022
NC
328
329When searching for F<perldiag.pod>, it no longer uses paths that were only
330relevant on Perl 5.004 and earlier.
331
332=item *
333
c11980ad
MM
334C<English> has been upgraded from version 1.04 to 1.05.
335
336=item *
337
338C<ExtUtils::Install> has been upgraded from version 1.57 to 1.58.
339
340=item *
341
342C<ExtUtils::ParseXS> has been upgraded from version 3.12 to 3.16.
84ecb73f
S
343
344The new version comes with important tools for sharing typemaps between
345different CPAN distributions.
346
347=item *
348
c11980ad 349C<File::Copy> has been upgraded from version 2.21 to 2.23.
a3cc0403
FC
350
351It no longer emits warnings when copying files with newlines in their names
352[perl #109104].
353
354=item *
355
c11980ad 356C<File::Glob> has been upgraded from version 1.16 to 1.17.
eb96f3fa
CBW
357
358=item *
359
c11980ad 360C<Filter::Util::Call> has been upgraded from version 1.39 to 1.40.
04ae1553 361
c11980ad
MM
362=item *
363
364C<IPC::Cmd> has been upgraded from version 0.72 to 0.76.
04ae1553
Z
365
366=item *
367
c11980ad
MM
368C<Math::Complex> has been upgraded from version 1.58 to 1.59.
369
370This avoids a new core warning.
f50587e0
MM
371
372=item *
373
c11980ad 374C<Module::Metadata> has been upgraded from version 1.000007 to 1.000009.
75ff5956
CBW
375
376Adds C<provides> method to generate a CPAN META provides data structure
377correctly; use of C<package_versions_from_directory> is discouraged.
378
379=item *
380
c11980ad
MM
381C<Opcode> has been upgraded from version 1.22 to 1.23.
382
383=item *
384
385C<overload> has been upgraded from version 1.17 to 1.18.
a4a5e2bf
CBW
386
387=item *
388
c11980ad 389C<Parse::CPAN::Meta> has been upgraded from version 1.4401 to 1.4402.
843331c7
CBW
390
391=item *
392
c11980ad
MM
393C<perlfaq> has been upgraded from version 5.0150038 to 5.0150039.
394
395=item *
396
397C<Pod::Functions> has been upgraded from version 1.04 to 1.05.
812efae1
NC
398
399F<Functions.pm> is now generated at perl build time from annotations in
400F<perlfunc.pod>. This will ensure that L<Pod::Functions> and L<perlfunc>
401remain in synchronisation.
402
403=item *
404
c11980ad 405C<Pod::Html> has been upgraded from version 1.13 to 1.14.
88c5c971 406
2a7afa74
NC
407=item *
408
c11980ad 409C<Pod::Parser> has been upgraded from version 1.37 to 1.51.
ecd144ea 410
c11980ad
MM
411=item *
412
413C<POSIX> has been upgraded from version 1.28 to 1.30.
414
415=item *
416
417C<re> has been upgraded from version 0.18 to 0.19.
418
419=item *
420
421C<Safe> has been upgraded from version 2.30 to 2.31.
422
423=item *
424
425C<Socket> has been upgraded from version 1.97 to 1.98.
ecd144ea
FC
426
427=item *
428
c11980ad 429C<Term::Cap> has been upgraded from version 1.12 to 1.13.
9dea6244
CBW
430
431=item *
432
c11980ad
MM
433C<Term::ReadLine> has been upgraded from version 1.07 to 1.08.
434
435Term::ReadLine now supports any event loop, including unpublished ones and
436simple L<IO::Select> loops without the need to rewrite existing code for
437any particular framework [perl #108470].
438
439=item *
440
441C<Time::HiRes> has been upgraded from version 1.9724 to 1.9725.
858dcda5 442
694644e0 443C<Time::HiRes::stat()> no longer corrupts the Perl stack.
858dcda5
Z
444
445=item *
446
c11980ad 447C<Unicode::UCD> has been upgraded from version 0.39 to 0.41.
2a7afa74
NC
448
449The only change is to fix a formatting error in the Pod.
450
e9e4ee62
CBW
451=item *
452
c11980ad 453C<Version::Requirements> has been upgraded from version 0.101021 to 0.101022.
c0504019 454
c11980ad 455=item *
937a45d0 456
c11980ad 457C<warnings> has been upgraded from version 1.12 to 1.13.
937a45d0 458
ef337e16
CBW
459=item *
460
c11980ad 461C<XS::Typemap> has been upgraded from version 0.07 to 0.08.
ef337e16 462
7f28d7ed 463=back
679b54e7 464
52deee2e 465=head1 Documentation
3c7c5233 466
c1e74734 467=head2 New Documentation
cadced9f 468
84ecb73f
S
469=head3 L<perlxstypemap>
470
471The new manual describes the XS typemapping mechanism in unprecedented
472detail and combines new documentation with information extracted from
473L<perlxs> and the previously unofficial list of all core typemaps.
474
c1e74734 475=head1 Testing
39de7394 476
c1e74734 477=over 4
5dd80d85 478
52272450
FC
479=item *
480
f0bcc49a
NC
481F<t/porting/pending-author.t> has been added, to avoid the problem of
482C<make test> passing 100%, but the subsequent git commit causing
483F<t/porting/authors.t> to fail, because it uses a "new" e-mail address.
484
485This test is only run if one is building inside a git checkout, B<and> one
486has made local changes. Otherwise it's skipped.
487
488=item *
489
cf6f994f
NC
490F<t/porting/perlfunc.t> has been added, to test that changes to
491F<pod/perlfunc.pod> do not inadvertently break the build of L<Pod::Functions>.
52272450 492
84ecb73f
S
493=item *
494
495The test suite for typemaps has been extended to cover a larger fraction of
496the core typemaps.
497
52deee2e 498=back
5dd80d85 499
c1e74734 500=head1 Platform Support
52272450 501
c1e74734 502=head2 Platform-Specific Notes
ea88c40c 503
c1e74734 504=over 4
ea88c40c 505
811ac709 506=item Cygwin
ea88c40c 507
811ac709
MM
508Since version 1.7, Cygwin supports native UTF-8 paths. If Perl is built
509under that environment, directory and filenames will be UTF-8 encoded.
510
511Cygwin does not initialize all original Win32 environment variables. See
512F<README.cygwin> for a discussion of C<Cygwin::sync_winenv()> and
513further links.
514
515=item VMS
516
517The build on VMS now allows names of the resulting
518symbols in C code for Perl longer than 31 characters.
519Symbols like C<Perl__it_was_the_best_of_times_it_was_the_worst_of_times>
520can now be created freely without causing the VMS linker to seize up.
ea88c40c 521
c1e74734 522=back
ea88c40c 523
c1e74734 524=head1 Selected Bug Fixes
ea88c40c 525
c1e74734 526=over 4
ea88c40c
FC
527
528=item *
529
6025c6dd
RS
530C<~~> now correctly handles the precedence of Any~~Object, and is not tricked
531by an overloaded object on the left-hand side.
ea88c40c 532
249950d7
FC
533=item *
534
535C<stat _> no longer warns about unopened filehandles [perl #71002].
536
537=item *
538
539C<stat> on an unopened filehandle now warns consistently, instead of
540skipping the warning at times.
541
542=item *
543
544A change in an earlier 5.15 release caused warning hints to propagate into
545C<do $file>. This has been fixed [rt.cpan.org #72767].
546
547=item *
548
549Starting with 5.12.0, Perl used to get its internal bookkeeping muddled up
550after assigning C<${ qr// }> to a hash element and locking it with
551L<Hash::Util>. This could result in double frees, crashes or erratic
552behaviour.
553
92c88ef1
FC
554=item *
555
556In 5.15.7, some typeglobs in the CORE namespace were made read-only by
557mistake. This has been fixed [rt.cpan.org #74289].
558
b1ea7742
FC
559=item *
560
561C<-t> now works when stacked with other filetest operators [perl #77388].
562
a1d95121
FC
563=item *
564
565Stacked filetest operators now only call FETCH once on a tied argument.
566
ff4ff6f3
FC
567=item *
568
569C</.*/g> would sometimes refuse to match at the end of a string that ends
570with "\n". This has been fixed [perl #109206].
571
a7bff800
FC
572=item *
573
ea317ccb
KW
574C<m/[[:ascii:]]/i> and C</\p{ASCII}/i> now match identically (when not
575under a differing locale). This fixes a regression introduced in 5.14
576in which the first expression could match characters outside of ASCII,
577such as the KELVIN SIGN.
578
579=item *
580
a7bff800 581Method calls whose arguments were all surrounded with C<my()> or C<our()>
32e63b32 582(as in C<< $object->method(my($a,$b)) >>) used to force lvalue context on
a7bff800
FC
583the subroutine. This would prevent lvalue methods from returning certain
584values. Due to lvalue fixes earlier in the 5.15.x series, it would also
585prevent non-lvalue methods from being called [perl #109264].
586
587=for comment
588This bug I<did> affect earlier stable releases. It is just the last
589sentence that does not apply to 5.14.
590
0aae26c1
FC
591=item *
592
593The C<SvPVutf8> C function no longer tries to modify its argument,
594resulting in errors [perl #108994].
595
596=item *
597
598C<SvPVutf8> now works properly with magical variables.
599
600=item *
601
602C<SvPVbyte> now works properly non-PVs.
603
07315176
KW
604=item *
605
67addccf
KW
606C</[[:ascii:]]/> and C</[[:blank:]]/> now use locale rules under
607C<use locale> when the platform supports that. Previously, they used
07315176
KW
608the platform's native character set.
609
5d103fec
KW
610=item *
611
612A regression introduced in 5.13.6 was fixed. This involved an inverted
613bracketed character class in a regular expression that consisted solely
614of a Unicode property, that property wasn't getting inverted outside the
615Latin1 range.
616
2e2b2571
KW
617=item *
618
619C<quotemeta> now quotes consistently the same non-ASCII characters under
620C<use feature 'unicode_strings'>, regardless of whether the string is
621encoded in UTF-8 or not, hence fixing the last vestiges (we hope) of the
622infamous L<perlunicode/The "Unicode Bug">. [perl #77654].
623
624Which of these code points is quoted has changed, based on Unicode's
625recommendations. See L<perlfunc/quotemeta> for details.
626
ea88c40c
FC
627=back
628
c1e74734 629=head1 Known Problems
ea88c40c 630
c1e74734 631This is a list of some significant unfixed bugs, which are regressions
32e63b32 632from either 5.14.0 or 5.15.7.
ea88c40c 633
c1e74734 634=over 4
18af289e 635
811ac709 636=item * C<eval { 'fork()' }> is broken on Windows [perl #109718]
18af289e 637
811ac709 638This is a known test failure to be fixed before 5.16.0.
1ac442bc 639
c1e74734 640=back
c0154fe2 641
52deee2e 642=head1 Acknowledgements
8fe05716 643
811ac709
MM
644Perl 5.15.8 represents approximately 4 weeks of development since Perl 5.15.7
645and contains approximately 61,000 lines of changes across 480 files from 36
646authors.
647
648Perl continues to flourish into its third decade thanks to a vibrant community
649of users and developers. The following people are known to have contributed the
650improvements that became Perl 5.15.8:
651
652Abhijit Menon-Sen, Alan Haggai Alavi, Alexandr Ciornii, Andy Dougherty, Brian
653Fraser, Chris 'BinGOs' Williams, Craig A. Berry, Darin McBride, Dave Rolsky,
654David Golden, David Leadbeater, David Mitchell, Dominic Hargreaves, Eric Brine,
655Father Chrysostomos, Florian Ragwitz, H.Merijn Brand, Juerd Waalboer, Karl
656Williamson, Leon Timmermans, Marc Green, Max Maischein, Nicholas Clark, Paul
657Evans, Rafael Garcia-Suarez, Rainer Tammer, Reini Urban, Ricardo Signes, Robin
658Barker, Shlomi Fish, Steffen Müller, Todd Rinaldo, Tony Cook, Yves Orton,
659Zefram, Ævar Arnfjörð Bjarmason.
660
661The list above is almost certainly incomplete as it is automatically generated
662from version control history. In particular, it does not include the names of
663the (very much appreciated) contributors who reported issues to the Perl bug
664tracker.
665
666Many of the changes included in this version originated in the CPAN modules
667included in Perl's core. We're grateful to the entire CPAN community for
668helping Perl to flourish.
669
670For a more complete list of all of Perl's historical contributors, please see
671the F<AUTHORS> file in the Perl source distribution.
29cf780c 672
44691e6f
AB
673=head1 Reporting Bugs
674
675If you find what you think is a bug, you might check the articles
52deee2e
DR
676recently posted to the comp.lang.perl.misc newsgroup and the perl
677bug database at http://rt.perl.org/perlbug/ . There may also be
44691e6f
AB
678information at http://www.perl.org/ , the Perl Home Page.
679
680If you believe you have an unreported bug, please run the L<perlbug>
52deee2e
DR
681program included with your release. Be sure to trim your bug down
682to a tiny but sufficient test case. Your bug report, along with the
683output of C<perl -V>, will be sent off to perlbug@perl.org to be
684analysed by the Perl porting team.
44691e6f
AB
685
686If the bug you are reporting has security implications, which make it
52deee2e
DR
687inappropriate to send to a publicly archived mailing list, then please send
688it to perl5-security-report@perl.org. This points to a closed subscription
689unarchived mailing list, which includes
690all the core committers, who will be able
691to help assess the impact of issues, figure out a resolution, and help
692co-ordinate the release of patches to mitigate or fix the problem across all
693platforms on which Perl is supported. Please only use this address for
694security issues in the Perl core, not for modules independently
695distributed on CPAN.
44691e6f
AB
696
697=head1 SEE ALSO
698
52deee2e
DR
699The F<Changes> file for an explanation of how to view exhaustive details
700on what changed.
44691e6f
AB
701
702The F<INSTALL> file for how to build Perl.
703
704The F<README> file for general stuff.
705
706The F<Artistic> and F<Copying> files for copyright information.
707
708=cut