This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add blank line after =item
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
8c8d6154
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.21.5
c68523cb 9
238894db 10=head1 DESCRIPTION
c68523cb 11
8c8d6154 12This document describes differences between the 5.21.4 release and the 5.21.5
238894db 13release.
c68523cb 14
8c8d6154
SH
15If you are upgrading from an earlier release such as 5.21.3, first read
16L<perl5214delta>, which describes differences between 5.21.3 and 5.21.4.
8435afd1 17
8c8d6154 18=head1 Notice
8435afd1 19
8c8d6154 20XXX Any important notices here
5cfa0642 21
8c8d6154 22=head1 Core Enhancements
5cfa0642 23
8c8d6154
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.
8435afd1 27
8c8d6154 28[ List each enhancement as a =head2 entry ]
8435afd1 29
4cad5dc8
FC
30=head2 New double-diamond operator
31
4a573b25 32C<<< <<>> >>> is like C<< <> >> but uses three-argument C<open> to open
4cad5dc8
FC
33each file in @ARGV. So each element of @ARGV is an actual file name, and
34"|foo" won't be treated as a pipe open.
35
a5591204
FC
36=head2 Aliasing via reference
37
38Variables and subroutines can now be aliased by assigning to a reference:
39
40 \$c = \$d;
41 \&x = \&y;
42
43Or by using a backslash before a C<foreach> iterator variable, which is
44perhaps the most useful idiom this feature provides:
45
46 foreach \%hash (@array_of_hash_refs) { ... }
47
48This feature is experimental and must be enabled via C<use feature
49'refaliasing'>. It will warn unless the C<experimental::refaliasing>
50warnings category is disabled.
51
52See L<perlref/Assigning to References>.
53
b15c1b56
AF
54=head2 Perl now supports POSIX 2008 locale currency additions.
55
56On platforms that are able to handle POSIX.1-2008, the
57hash returned by
58L<C<POSIX::localeconv()>|perllocale/The localeconv function>
59includes the international currency fields added by that version of the
60POSIX standard. These are
61C<int_n_cs_precedes>,
62C<int_n_sep_by_space>,
63C<int_n_sign_posn>,
64C<int_p_cs_precedes>,
65C<int_p_sep_by_space>,
66and
67C<int_p_sign_posn>.
68
bb8c7e27
A
69=head2 Packing infinity or not-a-number into a character is now fatal.
70
71Before, when trying to pack infinity or not-a-number into a
72(signed) character, Perl would warn, and assumed you tried to
73pack C<< 0xFF >>; if you gave it as an argument to C<< chr >>,
74C<< U+FFFD >> was returned.
75
76But now, all such actions (C<< pack >>, C<< chr >>, and C<< print '%c' >>)
77result in a fatal error.
78
8c8d6154 79=head1 Security
5cfa0642 80
ba474e87
JH
81=head2 Perl is now compiled with -fstack-protector-strong if available
82
83Perl has been compiled with the anti-stack-smashing option
84C<-fstack-protector> since 5.10.1. Now Perl uses the newer variant
85called C<-fstack-protector-strong>, if available. (This was added
86already in 5.21.4.)
8435afd1 87
8c8d6154 88[ List each security issue as a =head2 entry ]
8435afd1 89
8c8d6154 90=head1 Incompatible Changes
5cfa0642 91
8c8d6154 92XXX For a release on a stable branch, this section aspires to be:
8435afd1 93
8c8d6154
SH
94 There are no changes intentionally incompatible with 5.XXX.XXX
95 If any exist, they are bugs, and we request that you submit a
96 report. See L</Reporting Bugs> below.
5b319db8 97
8c8d6154 98[ List each incompatible change as a =head2 entry ]
5cfa0642 99
8c8d6154 100=head1 Deprecations
d0ab07ee 101
8c8d6154 102XXX Any deprecated features, syntax, modules etc. should be listed here.
d0ab07ee 103
8c8d6154 104=head2 Module removals
5cfa0642 105
8c8d6154 106XXX Remove this section if inapplicable.
d0ab07ee 107
8c8d6154
SH
108The following modules will be removed from the core distribution in a
109future release, and will at that time need to be installed from CPAN.
110Distributions on CPAN which require these modules will need to list them as
111prerequisites.
8435afd1 112
8c8d6154
SH
113The core versions of these modules will now issue C<"deprecated">-category
114warnings to alert you to this fact. To silence these deprecation warnings,
115install the modules in question from CPAN.
46274848 116
8c8d6154
SH
117Note that these are (with rare exceptions) fine modules that you are encouraged
118to continue to use. Their disinclusion from core primarily hinges on their
119necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
120not usually on concerns over their design.
46274848 121
8c8d6154 122=over
d0ab07ee 123
8c8d6154 124=item XXX
5cfa0642 125
8c8d6154
SH
126XXX Note that deprecated modules should be listed here even if they are listed
127as an updated module in the L</Modules and Pragmata> section.
5cfa0642 128
8c8d6154 129=back
8435afd1 130
cc4d09e1
KW
131=head2 Use of multiple /x regexp modifiers
132
133It is now deprecated to say something like any of the following:
134
135 qr/foo/xx;
136 /(?xax:foo)/;
137 use re qw(/amxx);
138
139That is, now C<x> should only occur once in any string of contiguous
140regular expression pattern modifiers. We do not believe there are any
141occurrences of this in all of CPAN. This is in preparation for a future
142Perl release having C</xx> mean to allow white-space for readability in
143bracketed character classes (those enclosed in square brackets:
144C<[...]>).
8435afd1 145
8c8d6154 146=head1 Performance Enhancements
5cfa0642 147
8c8d6154
SH
148XXX Changes which enhance performance without changing behaviour go here.
149There may well be none in a stable release.
8435afd1 150
8c8d6154 151[ List each enhancement as a =item entry ]
8435afd1 152
8c8d6154 153=over 4
5cfa0642 154
8435afd1
SH
155=item *
156
1dc08634
FC
157C<length> is up to 20% faster for non-magical/non-tied scalars containing a
158string if it is a non-utf8 string or if C<use bytes;> is in scope.
5cfa0642 159
5b306eef
DD
160=item *
161
162Non-magical/non-tied scalars that contain only a floating point value and are
163on most Perl builds with 64 bit integers now use 8-32 less bytes of memory
164depending on OS.
165
357205d5
FC
166=item *
167
168In C<@array = split>, the assigment can be optimised away with C<split>
169writing directly to the array. This optimisation was happening only for
3a9cf875
FC
170package arrays other than @_ and only
171sometimes. Now this optimisation happens
357205d5
FC
172almost all the time.
173
f704f251
FC
174=item *
175
176C<join> is now subject to constant folding. Moreover, C<join> with a
177scalar or constant for the separator and a single-item list to join is
178simplified to a stringification. The separator doesn't even get evaluated.
179
0cb3abac
FC
180=item *
181
182C<qq(@array)> is implemented using two ops: a stringify op and a join op.
183If the qq contains nothing but a single array, the stringification is
184optimised away.
185
deec1830
FC
186=item *
187
188C<our $var> and C<our($s,@a,%h)> in void context are no longer evaluated at
189run time. Even a whole sequence of C<our $foo;> statements will simply be
48795693 190skipped over. The same applies to C<state> variables.
deec1830 191
8c8d6154 192=back
d0ab07ee 193
8c8d6154 194=head1 Modules and Pragmata
d0ab07ee 195
8c8d6154
SH
196XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
197go here. If Module::CoreList is updated, generate an initial draft of the
198following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
199for important changes should then be added by hand. In an ideal world,
200dual-life modules would have a F<Changes> file that could be cribbed.
5cfa0642 201
8c8d6154 202[ Within each section, list entries as a =item entry ]
8435afd1 203
8c8d6154 204=head2 New Modules and Pragmata
8435afd1 205
8c8d6154 206=over 4
5cfa0642 207
8435afd1
SH
208=item *
209
8c8d6154 210XXX
5cfa0642 211
39c4a6cf 212=back
9c97a342 213
8c8d6154 214=head2 Updated Modules and Pragmata
d99849ae 215
39c4a6cf 216=over 4
d99849ae 217
ff433f2d
PM
218=item *
219
6fa0b0fd
TC
220L<attributes> has been upgraded from version 0.23 to 0.24.
221
222Avoid reading beyond the end of a buffer. [perl #122629]
223
224=item *
225
8883ce71
FC
226L<B::Concise> has been upgraded from version 0.993 to 0.994.
227
228Null ops that are part of the execution chain are now given sequence
229numbers.
230
231Private flags for nulled ops are now dumped with mnemonics as they would be
232for the non-nulled counterparts.
233
432450d2
FC
234L<B::Deparse> has been upgraded from version 1.28 to 1.29.
235
236Parenthesised arrays in lists passed to C<\> are now correctly deparsed
237with parentheses (e.g., C<\(@a, (@b), @c)> now retains the parentheses
238around @b), this preserving the flattening behaviour of referenced
239parenthesised arrays. Formerly, it only worked for one array: C<\(@a)>.
240
4e3e9c07
FC
241C<local our> is now deparsed correctly, with the C<our> included.
242
4a9fafe5
FC
243C<for($foo; !$bar; $baz) {...}> was deparsed without the C<!> (or C<not>).
244This has been fixed.
245
f03d0d50
FC
246Core keywords that conflict with lexical subroutines are now deparsed with
247the C<CORE::> prefix.
248
c3f18a8f
FC
249C<foreach state $x (...) {...}> now deparses correctly with C<state> and
250not C<my>.
251
852ef7e9
FC
252C<our @array = split(...)> now deparses correctly with C<our> in those
253cases where the assignment is optimised away.
254
432450d2
FC
255=item *
256
cbfcbc14
TC
257L<DynaLoader> has been upgraded from version 1.26 to 1.27.
258
259Remove dl_nonlazy global if unused in Dynaloader. [perl #122926]
260
261=item *
262
7635ad4d
TC
263L<Fcntl> has been upgraded from version 1.12 to 1.13.
264
265Add support for the Linux pipe buffer size fcntl() commands.
266
267=item *
268
f4eedc6b
DD
269L<File::Find> has been upgraded from version 1.28 to 1.29.
270
271Slightly faster module loading time.
272
273=item *
274
84d03adf
SH
275L<Module::CoreList> has been upgraded from version 5.20140920 to 5.20141020.
276
277Updated to cover the latest releases of Perl.
ff433f2d 278
4cd408ba
TC
279=item *
280
f4eedc6b
DD
281The PathTools module collection has been upgraded from version 3.50 to 3.51.
282
283Slightly faster module loading time.
284
285=item *
286
0561e60b
TC
287L<POSIX> has been upgraded from version 1.44 to 1.45.
288
289POSIX::tmpnam() now produces a deprecation warning. [perl #122005]
290
291=item *
292
4cd408ba
TC
293L<XSLoader> has been upgraded from version 0.17 to 0.18.
294
295Allow XSLoader to load modules from a different namespace.
296[perl #122455]
297
40a81b59
JK
298=item *
299
300L<perlfaq> has been upgraded from version 5.0150045 to version 5.0150046.
301[perl #123008]
302
13900f93 303=back
aac7f82f 304
8c8d6154 305=head2 Removed Modules and Pragmata
aac7f82f 306
5cfa0642 307=over 4
6d9b7c7c 308
5cfa0642 309=item *
2a395b86 310
8c8d6154 311XXX
2a395b86 312
5cfa0642 313=back
2a395b86 314
8c8d6154 315=head1 Documentation
2a395b86 316
8c8d6154
SH
317XXX Changes to files in F<pod/> go here. Consider grouping entries by
318file and be sure to link to the appropriate page, e.g. L<perlfunc>.
5cfa0642 319
8c8d6154 320=head2 New Documentation
39c4a6cf 321
8c8d6154 322XXX Changes which create B<new> files in F<pod/> go here.
2a395b86 323
8c8d6154 324=head3 L<XXX>
2a395b86 325
8c8d6154 326XXX Description of the purpose of the new file here
2a395b86 327
8c8d6154 328=head2 Changes to Existing Documentation
8435afd1 329
8c8d6154
SH
330XXX Changes which significantly change existing files in F<pod/> go here.
331However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
332section.
8435afd1 333
8c8d6154 334=head3 L<XXX>
8435afd1
SH
335
336=over 4
2a395b86 337
12d22d1f
JK
338=item *
339
09e43397
KW
340Clarifications have been added to L<perlrecharclass/Character Ranges>
341to the effect that Perl guarantees that C<[A-Z]>, C<[a-z]>, C<[0-9]> and
342any subranges thereof in regular expression bracketed character classes
343are guaranteed to match exactly what a naive English speaker would
344expect them to match, even on platforms (such as EBCDIC) where special
345handling is required to accomplish this.
12d22d1f 346
2a395b86
PM
347=back
348
39c4a6cf 349=head1 Diagnostics
2a395b86 350
39c4a6cf
PM
351The following additions or changes have been made to diagnostic output,
352including warnings and fatal error messages. For the complete list of
353diagnostic messages, see L<perldiag>.
2a395b86 354
8c8d6154
SH
355XXX New or changed warnings emitted by the core's C<C> code go here. Also
356include any changes in L<perldiag> that reconcile it to the C<C> code.
2a395b86 357
8c8d6154 358=head2 New Diagnostics
2a395b86 359
8c8d6154
SH
360XXX Newly added diagnostic messages go under here, separated into New Errors
361and New Warnings
2a395b86 362
8c8d6154 363=head3 New Errors
5cfa0642 364
8c8d6154 365=over 4
2a395b86
PM
366
367=item *
368
bb8c7e27
A
369L<message|perldiag/"Cannot chr %f">
370
371=item *
372
373L<message|perldiag/"Cannot compress %f in pack">
374
375=item *
376
377L<message|perldiag/"Cannot pack %f with '%c'">
378
379=item *
380
381L<message|perldiag/"Cannot printf %f with '%c'">
2a395b86
PM
382
383=back
6d9b7c7c 384
8c8d6154 385=head3 New Warnings
39c4a6cf 386
13900f93 387=over 4
7f55cec0
SH
388
389=item *
390
8c8d6154 391XXX L<message|perldiag/"message">
623141a1 392
8c8d6154 393=back
aac7f82f 394
8c8d6154 395=head2 Changes to Existing Diagnostics
363d3025 396
8c8d6154 397XXX Changes (i.e. rewording) of diagnostic messages go here
334464b3 398
8c8d6154 399=over 4
334464b3
FC
400
401=item *
402
dbe3c929
FC
403'"my" variable &foo::bar can't be in a package' has been reworded to say
404'subroutine' instead of 'variable'.
ef5a9509 405
363d3025
FC
406=back
407
8c8d6154 408=head1 Utility Changes
4594cf53 409
8c8d6154
SH
410XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
411Most of these are built within the directory F<utils>.
96dcbc37 412
8c8d6154
SH
413[ List utility changes as a =head2 entry for each utility and =item
414entries for each change
415Use L<XXX> with program names to get proper documentation linking. ]
96dcbc37 416
8c8d6154 417=head2 L<XXX>
13900f93 418
8c8d6154 419=over 4
58f25ac1
MH
420
421=item *
422
8c8d6154 423XXX
a5873648 424
39c4a6cf 425=back
a5873648 426
55ba8847
JH
427=head1 Configuration and Compilation
428
8c8d6154
SH
429XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
430go here. Any other changes to the Perl build process should be listed here.
431However, any platform-specific changes should be listed in the
432L</Platform Support> section, instead.
55ba8847 433
8c8d6154 434[ List changes as a =item entry ].
a5873648 435
39c4a6cf 436=over 4
a5873648
PM
437
438=item *
439
8c8d6154 440XXX
7d0ccdba 441
7065301c
RS
442=back
443
8c8d6154 444=head1 Testing
d72cd2eb 445
8c8d6154
SH
446XXX Any significant changes to the testing of a freshly built perl should be
447listed here. Changes which create B<new> files in F<t/> go here as do any
448large changes to the testing harness (e.g. when parallel testing was added).
449Changes to existing files in F<t/> aren't worth summarizing, although the bugs
450that they represent may be covered elsewhere.
c1284011 451
8c8d6154 452[ List each test improvement as a =item entry ]
375f5f06 453
0346c3a9 454=over 4
375f5f06 455
2884baee
MH
456=item *
457
bb8c7e27
A
458Some regular expression tests are written in such a way that they will
459run very slowly if certain optimizations break. These tests have been
460moved into new files, F<< t/re/speed.t >> and F<< t/re/speed_thr.t >>,
461and are run with a C<< watchdog() >>.
6f1a844b 462
8c8d6154 463=back
549ea8d4 464
8c8d6154 465=head1 Platform Support
549ea8d4 466
8c8d6154 467XXX Any changes to platform support should be listed in the sections below.
be0006e0 468
8c8d6154
SH
469[ Within the sections, list each platform as a =item entry with specific
470changes as paragraphs below it. ]
be0006e0 471
8c8d6154 472=head2 New Platforms
1699f5c2 473
8c8d6154
SH
474XXX List any platforms that this version of perl compiles on, that previous
475versions did not. These will either be enabled by new files in the F<hints/>
476directories, or new subdirectories and F<README> files at the top level of the
477source tree.
1699f5c2 478
8c8d6154 479=over 4
7e8b2071 480
8c8d6154 481=item XXX-some-platform
7e8b2071 482
8c8d6154 483XXX
f9acf899 484
8c8d6154 485=back
f9acf899 486
8c8d6154 487=head2 Discontinued Platforms
fd26b6f0 488
8c8d6154 489XXX List any platforms that this version of perl no longer compiles on.
fd26b6f0 490
8c8d6154 491=over 4
499333dc 492
8c8d6154 493=item XXX-some-platform
499333dc 494
8c8d6154 495XXX
8f0cd35a 496
8c8d6154 497=back
8f0cd35a 498
8c8d6154 499=head2 Platform-Specific Notes
aa292ef2 500
8c8d6154
SH
501XXX List any changes for specific platforms. This could include configuration
502and compilation changes or changes in portability/compatibility. However,
503changes within modules for platforms should generally be listed in the
504L</Modules and Pragmata> section.
aa292ef2 505
8c8d6154 506=over 4
739e9bee 507
09e43397 508=item EBCDIC
739e9bee 509
09e43397
KW
510Special handling is required on EBCDIC platforms to get C<qr/[i-j]/> to
511match only C<"i"> and C<"j">, since there are 7 characters between the
512code points for C<"i"> and C<"j">. This special handling had only been
513invoked when both ends of the range are literals. Now it is also
514invoked if any of the C<\N{...}> forms for specifying a character by
515name or Unicode code point is used instead of a literal. See
516L<perlrecharclass/Character Ranges>.
b23b2fdb 517
8c8d6154 518=back
b23b2fdb 519
8c8d6154 520=head1 Internal Changes
7d15b1a8 521
8c8d6154
SH
522XXX Changes which affect the interface available to C<XS> code go here. Other
523significant internal changes for future core maintainers should be noted as
524well.
7d15b1a8 525
8c8d6154 526[ List each change as a =item entry ]
bbca64cf 527
8c8d6154 528=over 4
bbca64cf 529
0064f8cc
KW
530=item *
531
13203cef
FC
532SVs of type SVt_NV are now bodyless when a build configure and platform allow
533it, specifically C<sizeof(NV) <= sizeof(IV)>. The bodyless trick is the same one
534as for IVs since 5.9.2, but for NVs, unlike IVs, is not guarenteed on all
535platforms and build configurations.
6ff8f256 536
1b4c7150
TC
537=item *
538
539The C<$DB::single>, C<$DB::signal> and C<$DB::trace> now have set and
540get magic that stores their values as IVs and those IVs are used when
541testing their values in C<pp_dbstate>. This prevents perl from
542recursing infinity if an overloaded object is assigned to any of those
543variables. [perl #122445]
544
a953aca5
DD
545=item *
546
547C<Perl_tmps_grow> which is marked as public API but undocumented has been
548removed from public API. If you use C<EXTEND_MORTAL> macro in your XS code to
549preextend the mortal stack, you are unaffected by this change.
550
8405c65d
FC
551=item *
552
553C<cv_name>, which was introduced in 5.21.4, has been changed incompatibly.
554It now has a flags field that allows the caller to specify whether the name
555should be fully qualified. See L<perlapi/cv_name>.
556
8e2708f3
FC
557=item *
558
559Internally Perl no longer uses the C<SVs_PADMY> flag. C<SvPADMY()> now
560returns a true value for anything not marked PADTMP. C<SVs_PADMY> is now
561defined as 0.
562
bb8c7e27
A
563=item *
564
565The macros SETsv and SETsvUN have been removed. They were no longer used
566in the core since commit 6f1401dc2a, and have not been found present on
567CPAN.
568
569=item *
570
571The C<< SvFAKE >> bit (unused on HVs) got informally reserved by
572David Mitchell for future work on vtables.
573
d712afe5 574=item *
eb0e9c93 575
28482d6c
FC
576The C<sv_catpvn_flags> function accepts C<SV_CATBYTES> and C<SV_CATUTF8>
577flags, which specify whether the appended string is bytes or utf8,
578respectively.
579
8c8d6154 580=back
6ff8f256 581
8c8d6154 582=head1 Selected Bug Fixes
80cc3290 583
8c8d6154
SH
584XXX Important bug fixes in the core language are summarized here. Bug fixes in
585files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
80cc3290 586
8c8d6154 587[ List each fix as a =item entry ]
13dd5671 588
8c8d6154 589=over 4
13dd5671 590
bdab7676
FC
591=item *
592
227d08c8
FC
593Locking and unlocking values via L<Hash::Util> or C<Internals::SvREADONLY>
594no longer has any affect on values that are read-only to begin. Unlocking
595such values could result in crashes, hangs or other erratic behaviour.
bdab7676 596
94959c63
FC
597=item *
598
599The internal C<looks_like_number> function (which L<Scalar::Util> provides
600access to) began erroneously to return true for "-e1" in 5.21.4, affecting
601also C<-'-e1'>. This has been fixed.
602
24d3d8cd
FC
603=item *
604
605The flip-flop operator (C<..> in scalar context) would return the same
b9de5fa2 606scalar each time, unless the containing subroutine was called recursively.
24d3d8cd
FC
607Now it always returns a new scalar. [perl #122829]
608
02dde543
FC
609=item *
610
611Some unterminated C<(?(...)...)> constructs in regular expressions would
612either crash or give erroneous error messages. C</(?(1)/> is one such
613example.
614
5058ae74
FC
615=item *
616
617C<pack "w", $tied> no longer calls FETCH twice.
618
14937635
FC
619=item *
620
621List assignments like C<($x, $z) = (1, $y)> now work correctly if $x and $y
622have been aliased by C<foreach>.
623
325f4225
FC
624=item *
625
626Some patterns including code blocks with syntax errors, such as
627C</ (?{(^{})/>, would hang or fail assertions on debugging builds. Now
628they produce errors.
629
c1662923
FC
630=item *
631
632An assertion failure when parsing C<sort> with debugging enabled has been
633fixed. [perl #122771]
634
7646b3d5
FC
635=item *
636
637C<*a = *b; @a = split //, $b[1]> could do a bad read and produce junk
638results.
639
db98db4e
FC
640=item *
641
642In C<() = @array = split>, the C<() => at the beginning no longer confuses
643the optimiser, making it assume a limit of 1.
644
8818afe8
TC
645=item *
646
647Fatal warnings no longer prevent the output of syntax errors.
648[perl #122966]
649
bb8c7e27
A
650=item *
651
652Fixed a NaN double to long double conversion error on VMS. For quiet NaNs
653(and only on Itanium, not Alpha) negative infinity instead of NaN was
654produced.
655
656=item *
657
658Fixed the issue that caused C<< make distclean >> to leave files behind
659that shouldn't. [perl #122820]
660
661=item *
662
663AIX now sets the length in C<< getsockopt >> correctly. [perl #120835],
664[rt #91183], [rt #85570].
665
74f9f9ed
A
666=item *
667
668During the pattern optimization phase, we no longer recurse into
669GOSUB/GOSTART when not SCF_DO_SUBSTR. This prevents the optimizer
670to run "forever" and exhaust all memory. [perl #122283]
671
8c8d6154 672=back
3a085d00 673
8c8d6154 674=head1 Known Problems
caa66803 675
8c8d6154
SH
676XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
677tests that had to be C<TODO>ed for the release would be noted here. Unfixed
678platform specific bugs also go here.
caa66803 679
8c8d6154 680[ List each fix as a =item entry ]
91766151 681
8c8d6154 682=over 4
91766151 683
dd593f1d
FC
684=item *
685
8c8d6154 686XXX
fb3b7425 687
8c8d6154 688=back
fb3b7425 689
8c8d6154 690=head1 Errata From Previous Releases
b245455d 691
8c8d6154 692=over 4
b245455d 693
26dd5fd6
PM
694=item *
695
8c8d6154
SH
696XXX Add anything here that we forgot to add, or were mistaken about, in
697the perldelta of a previous release.
ff433f2d 698
39c4a6cf
PM
699=back
700
8c8d6154 701=head1 Obituary
c0c55a9b 702
8c8d6154
SH
703XXX If any significant core contributor has died, we've added a short obituary
704here.
c0c55a9b 705
8c8d6154 706=head1 Acknowledgements
c0c55a9b 707
8c8d6154 708XXX Generate this with:
e831f11a 709
8c8d6154 710 perl Porting/acknowledgements.pl v5.21.4..HEAD
f5b73711 711
44691e6f
AB
712=head1 Reporting Bugs
713
e08634c5
SH
714If you find what you think is a bug, you might check the articles recently
715posted to the comp.lang.perl.misc newsgroup and the perl bug database at
238894db 716https://rt.perl.org/ . There may also be information at
7ef8b31d 717http://www.perl.org/ , the Perl Home Page.
44691e6f 718
e08634c5
SH
719If you believe you have an unreported bug, please run the L<perlbug> program
720included with your release. Be sure to trim your bug down to a tiny but
721sufficient test case. Your bug report, along with the output of C<perl -V>,
722will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
723
724If the bug you are reporting has security implications, which make it
e08634c5
SH
725inappropriate to send to a publicly archived mailing list, then please send it
726to perl5-security-report@perl.org. This points to a closed subscription
727unarchived mailing list, which includes all the core committers, who will be
728able to help assess the impact of issues, figure out a resolution, and help
f9001595 729co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
730platforms on which Perl is supported. Please only use this address for
731security issues in the Perl core, not for modules independently distributed on
732CPAN.
44691e6f
AB
733
734=head1 SEE ALSO
735
e08634c5
SH
736The F<Changes> file for an explanation of how to view exhaustive details on
737what changed.
44691e6f
AB
738
739The F<INSTALL> file for how to build Perl.
740
741The F<README> file for general stuff.
742
743The F<Artistic> and F<Copying> files for copyright information.
744
745=cut