This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update UNIVERSAL::VERSION POD to reflect reality.
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
541cb22c 3=for comment
7e7629fa
FC
4This has been completed up to e08f19f5d07, except for
5e032854 khw [perl #32080] is_utf8_string() reads too far
6b0f2e9e nwclark Fix two bugs related to pod files outside of pod/ (important enough?)
541cb22c 7
44691e6f
AB
8=head1 NAME
9
0aaeb177
SH
10[ this is a template for a new perldelta file. Any text flagged as
11XXX needs to be processed before release. ]
760696b8 12
0aaeb177 13perldelta - what is new for perl v5.15.6
062678b2 14
0aaeb177 15=head1 DESCRIPTION
ad32999b 16
0aaeb177
SH
17This document describes differences between the 5.15.5 release and
18the 5.15.6 release.
ad32999b 19
0aaeb177
SH
20If you are upgrading from an earlier release such as 5.15.4, first read
21L<perl5155delta>, which describes differences between 5.15.4 and
225.15.5.
ad32999b 23
0aaeb177 24=head1 Notice
ad32999b 25
0aaeb177 26XXX Any important notices here
ad32999b 27
0aaeb177 28=head1 Core Enhancements
a3f52e2e 29
0aaeb177
SH
30XXX New core language features go here. Summarise user-visible core language
31enhancements. Particularly prominent performance optimisations could go
32here, but most should go in the L</Performance Enhancements> section.
a3f52e2e 33
0aaeb177 34[ List each enhancement as a =head2 entry ]
6d110ad0 35
61f966e7
FC
36=head2 C<__SUB__>
37
38The new C<__SUB__> token, available under the "current_sub" feature (see
39L<feature>) or C<use v5.15>, returns a reference to the current subroutine,
40making it easier to write recursive closures.
41
d1fb015b
FC
42=head2 New option for the debugger's B<t> command
43
44The B<t> command in the debugger, which toggles tracing mode, now accepts a
45numerical argument that determines how many levels of subroutine calls to
46trace.
47
7e7629fa
FC
48=head2 Return value of C<tied>
49
50The value returned by C<tied> on a tied variable is now the actual scalar
51that holds the object to which the variable is tied. This allows ties to
52be weakened with C<Scalar::Util::weaken(tied $tied_variable)>.
53
e3c71926 54=head1 Security
6d110ad0 55
0aaeb177
SH
56XXX Any security-related notices go here. In particular, any security
57vulnerabilities closed should be noted here rather than in the
58L</Selected Bug Fixes> section.
6d110ad0 59
0aaeb177 60[ List each security issue as a =head2 entry ]
6d110ad0 61
e3c71926 62=head1 Incompatible Changes
6d110ad0 63
0aaeb177 64XXX For a release on a stable branch, this section aspires to be:
ad32999b 65
0aaeb177
SH
66 There are no changes intentionally incompatible with 5.XXX.XXX
67 If any exist, they are bugs and reports are welcome.
ad32999b 68
0aaeb177 69[ List each incompatible change as a =head2 entry ]
ad32999b 70
66008486
FC
71=head2 C<substr> lvalue revamp
72
73When C<substr> is called in lvalue or potential lvalue context with two or
74three arguments, a special lvalue scalar is returned that modifies the
75original string (the first argument) when assigned to.
76
77Previously, the offsets (the second and third arguments) passed to
78C<substr> would be converted immediately to match the string, negative
79offsets being translated to positive and offsets beyond the end of the
80string being truncated.
81
82Now, the offsets are recorded without modification in the special lvalue
83scalar that is returned, and the original string is not even looked at by
84C<substr> itself, but only when the returned lvalue is read or modified.
85
86These changes result in several incompatible changes and bug fixes:
87
88=over
89
90=item *
91
92If the original string changes length after the call to C<substr> but
93before assignment to its return value, negative offsets will remember
94their position from the end of the string, affecting code like this:
95
96 my $string = "string";
97 my $lvalue = \substr $string, -4, 2;
98 print $lvalue, "\n"; # prints "ri"
99 $string = "bailing twine";
100 print $lvalue, "\n"; # prints "wi"; used to print "il"
101
102The same thing happens with an omitted third argument. The returned lvalue
103will always extend to the end of the string, even if the string becomes
104longer.
105
106=item *
107
108Tied (and otherwise magical) variables are no longer exempt from the
109"Attempt ot use reference as lvalue in substr" warning.
110
111=item *
112
113That warning now occurs when the returned lvalue is assigned to, not when
114C<substr> itself is called. This only makes a difference if the return
115value of C<substr> is referenced and assigned to later.
116
117=item *
118
119The order in which "uninitialized" warnings occur for arguments to
120C<substr> has changed.
121
122=item *
123
124Passing a substring of a read-only value or a typeglob to a function (potential lvalue context) no longer causes an immediate "Can't coerce" or "Modification of a read-only value" error. That error only occurs if and
125when the value passed is assigned to.
126
7e7629fa
FC
127The same thing happens with the "substr outside of string" error. If the
128lvalue is only read, not written to, it is now just a warning, as with
129rvalue C<substr>.
66008486
FC
130
131=item *
132
133C<substr> assignments no longer call FETCH twice if the first argument is a
134tied variable, but just once.
135
136=back
137
138It was impossible to fix all the bugs without an incompatible change, and
139the behaviour of negative offsets was never specified, so the change was
140deemed acceptable.
141
541cb22c
FC
142=head2 XS API tweak
143
144The C<newCONSTSUB_flags> C-level function, added in 5.15.4, now has a
145C<len> parameter.
146
e3c71926 147=head1 Deprecations
6d110ad0 148
0aaeb177
SH
149XXX Any deprecated features, syntax, modules etc. should be listed here.
150In particular, deprecated modules should be listed here even if they are
151listed as an updated module in the L</Modules and Pragmata> section.
ae92a9ae 152
0aaeb177 153[ List each deprecation as a =head2 entry ]
ae92a9ae 154
e3c71926 155=head1 Performance Enhancements
6d110ad0 156
0aaeb177
SH
157XXX Changes which enhance performance without changing behaviour go here. There
158may well be none in a stable release.
159
160[ List each enhancement as a =item entry ]
161
e3c71926 162=over 4
6d110ad0
FC
163
164=item *
165
679b54e7
FC
166Perl 5.12.0 sped up the destruction of objects whose classes define empty
167C<DESTROY> methods (to prevent autoloading), simply by not calling such
168empty methods. This release takes this optimisation a step further, by not
169calling any C<DESTROY> method that begins with an C<return> statement.
170This can be useful for destructors that are only used for debugging:
171
172 use constant DEBUG => 1;
173 sub DESTROY { return unless DEBUG; ... }
174
175Constant-folding will reduce the first statement to C<return;> if DEBUG is
176set to 0, triggering this optimisation.
6d110ad0 177
d1fb015b
FC
178=item *
179
180Assign to a variable that holds a typeglob or copy-on-write scalar is now
181much faster. Previously the typeglob would be stringified or the
182copy-on-write scalar would be copied before being clobbered.
183
7e7629fa
FC
184=item *
185
186Assignment to a substring in void context is now more than twice its
187previous speed. Instead of creating and returning a special lvalue scalar
188that is then assigned to, C<substr> modifies the original string itself.
189
e3c71926 190=back
6d110ad0 191
e3c71926 192=head1 Modules and Pragmata
6d110ad0 193
0aaeb177
SH
194XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
195go here. If Module::CoreList is updated, generate an initial draft of the
196following sections using F<Porting/corelist-perldelta.pl>, which prints stub
197entries to STDOUT. Results can be pasted in place of the '=head2' entries
198below. A paragraph summary for important changes should then be added by hand.
199In an ideal world, dual-life modules would have a F<Changes> file that could be
200cribbed.
201
202[ Within each section, list entries as a =item entry ]
203
e3c71926 204=head2 New Modules and Pragmata
6d110ad0 205
e3c71926 206=over 4
6d110ad0
FC
207
208=item *
209
0aaeb177 210XXX
6d110ad0
FC
211
212=back
213
e3c71926 214=head2 Updated Modules and Pragmata
6d110ad0 215
e3c71926 216=over 4
6d110ad0
FC
217
218=item *
219
f8c9502f
CBW
220L<Archive::Tar> has been upgraded from version 1.80 to version 1.82.
221
222Adjustments to handle files >8gb (>0777777777777 octal) and a feature to
223return the MD5SUM of files in the archive.
a3f52e2e 224
87b9431e
CBW
225=item *
226
74c26f06
CBW
227L<AutoLoader> has been upgraded from version 5.71 to version 5.72.
228
229=item *
230
8cea0f87
CBW
231L<B::Debug> has been upgraded from version 1.16 to version 1.17.
232
233=item *
234
679b54e7
FC
235L<B::Deparse> has been upgraded from version 1.09 to 1.10.
236
237C<sort(foo(bar))> is now deparsed correctly. (C<sort foo(bar)>, how it used
238to deparse, makes foo the sort routine, rather than a regular function
239call.)
240
241=item *
242
9505dd85 243L<Compress::Raw::Zlib> has been upgraded from version 2.042 to version 2.045.
87b9431e 244
7e700369
CBW
245=item *
246
6475ddc2 247L<Compress::Raw::Bzip2> has been upgraded from version 2.042 to version 2.045.
7e700369 248
dc7edc5c
CBW
249=item *
250
61f966e7
FC
251L<Data::Dumper> has been upgraded from version 2.134 to 2.135.
252
253The XS implementation has been updated to account for the Unicode symbol
254changes in Perl 5.15.4. It also knows how to output typeglobs with nulls
255in their names.
256
257=item *
258
ac616993
CBW
259L<ExtUtils::ParseXS> has been upgraded from version 3.05 to version 3.07.
260
261=item *
262
090349ce 263L<IO::Compress::Base> has been upgraded from version 2.042 to version 2.045.
08ad9465
CBW
264
265Added zipdetails utility.
dc7edc5c 266
7788a270
CBW
267=item *
268
4345d05b
CBW
269L<Locale::Codes> has been upgraded from version 3.18 to version 3.20.
270
271The code2XXX, XXX2code, all_XXX_codes, and all_XXX_names functions now support retired codes.
272All codesets may be specified by a constant or by their name now. Previously,
273they were specified only by a constant.
274The alias_code function exists for backward compatibility. It has been replaced by rename_country_code.
275The alias_code function will be removed sometime after September, 2013.
276All work is now done in the central module (Locale::Codes). Previously, some was still done in the
277wrapper modules (Locale::Codes::*) but that is gone now.
278Added Language Family codes (langfam) as defined in ISO 639-5.
279
280=item *
281
b42ff875
CBW
282L<Module::Loaded> has been uprgaded from version 0.06 to version 0.08.
283
284=item *
285
a71d67b1
CBW
286L<Pod::LaTeX> has been upgraded from version 0.59 to version 0.60.
287
288Added another LaTeX escape: --- => -{}-{}-
289
290Pod::LaTeX doesn't handle -- in PODs specially, passing it directly to
291LaTeX, which then proceeds to replace it with a single -. This patch
292replaces ----- with -{}-{}-{}-{}-
293
294=item *
295
7e7629fa
FC
296L<POSIX> has been upgraded from version 1.26 to 1.27.
297
298It no longer produces a "Constant subroutine TCSANOW redefined" warning on
299Windows.
300
301XXX When did it start producing that warning? Was it post-5.15.5? Even if
302it was not, adding a note will help whoever compiles perl5160delta.
303
304=item *
305
65ae8d99 306L<Unicode::Collate> has been upgraded from version 0.85 to version 0.87.
7788a270
CBW
307
308Tailored compatibility ideographs as well as unified ideographs for
309the locales: ja, ko, zh__big5han, zh__gb2312han, zh__pinyin, zh__stroke.
310
65ae8d99
CBW
311Now Locale/*.pl files are searched in @INC.
312
a3e88ad7
JP
313=item *
314
315L<UNIVERSAL> has been upgraded from version 1.10 to 1.11.
316
317Documentation change clarifies return values from UNIVERSAL::VERSION.
318
0aaeb177 319=back
6138a722 320
0aaeb177 321=head2 Removed Modules and Pragmata
6138a722 322
0aaeb177 323=over 4
be539103 324
a47fb3fe
CBW
325=item *
326
0aaeb177 327XXX
a3f52e2e 328
0aaeb177 329=back
a3f52e2e 330
0aaeb177 331=head1 Documentation
a3f52e2e 332
0aaeb177
SH
333XXX Changes to files in F<pod/> go here. Consider grouping entries by
334file and be sure to link to the appropriate page, e.g. L<perlfunc>.
a3f52e2e 335
0aaeb177 336=head2 New Documentation
ad32999b 337
0aaeb177 338XXX Changes which create B<new> files in F<pod/> go here.
ad32999b 339
0aaeb177 340=head3 L<XXX>
ad32999b 341
0aaeb177 342XXX Description of the purpose of the new file here
6138a722 343
0aaeb177 344=head2 Changes to Existing Documentation
6138a722 345
0aaeb177
SH
346XXX Changes which significantly change existing files in F<pod/> go here.
347However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
348section.
a47fb3fe 349
0aaeb177 350=head3 L<XXX>
a47fb3fe 351
0aaeb177 352=over 4
7ef25837 353
6d110ad0
FC
354=item *
355
0aaeb177 356XXX Description of the change here
6d110ad0
FC
357
358=back
359
e3c71926
FR
360=head1 Diagnostics
361
362The following additions or changes have been made to diagnostic output,
363including warnings and fatal error messages. For the complete list of
364diagnostic messages, see L<perldiag>.
6d110ad0 365
0aaeb177
SH
366XXX New or changed warnings emitted by the core's C<C> code go here. Also
367include any changes in L<perldiag> that reconcile it to the C<C> code.
6138a722 368
0aaeb177
SH
369[ Within each section, list entries as a =item entry that links to perldiag,
370 e.g.
6138a722 371
0aaeb177 372 =item *
6138a722 373
0aaeb177
SH
374 L<Invalid version object|perldiag/"Invalid version object">
375]
6138a722 376
0aaeb177 377=head2 New Diagnostics
828d6195 378
0aaeb177 379XXX Newly added diagnostic messages go here
83307084 380
0aaeb177 381=head3 New Errors
d39de893 382
3432e5a1 383=over 4
39afdc5a
CBW
384
385=item *
386
0aaeb177 387XXX L<message|perldiag/"message">
6138a722 388
e3c71926 389=back
7b8e5ef0 390
0aaeb177 391=head3 New Warnings
91710846 392
e3c71926 393=over 4
91710846
DG
394
395=item *
396
0aaeb177 397XXX L<message|perldiag/"message">
f81e39ef 398
e3c71926 399=back
a2fa999d 400
0aaeb177
SH
401=head2 Changes to Existing Diagnostics
402
403XXX Changes (i.e. rewording) of diagnostic messages go here
bd65daab 404
e3c71926 405=over 4
bd65daab 406
3f2cb5bf
SM
407=item *
408
18fbfe8d
FC
409Redefinition warnings for constant subroutines used to be mandatory, even
410occurring under C<no warnings>. Now they respect the L<warnings> pragma.
b420b12a 411
61f966e7
FC
412=item *
413
414The "Attempt to free non-existent shared string" has had the spelling of
415"non-existent" corrected to "nonexistent". It was already listed with the
416correct spelling in L<perldiag>.
417
66008486
FC
418=item *
419
420The 'Use of "foo" without parentheses is ambiguous' warning has been
421extended to apply also to user-defined subroutines with a (;$) prototype,
422and not just to built-in functions.
423
3432e5a1 424=back
b420b12a 425
0aaeb177 426=head1 Utility Changes
9cfd094e 427
0aaeb177
SH
428XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
429here. Most of these are built within the directories F<utils> and F<x2p>.
95f7e41f 430
0aaeb177
SH
431[ List utility changes as a =head3 entry for each utility and =item
432entries for each change
433Use L<XXX> with program names to get proper documentation linking. ]
95f7e41f 434
08ad9465 435=head3 L<zipdetails>
d6cf2367 436
e3c71926 437=over 4
b53e16ae
FC
438
439=item *
440
08ad9465
CBW
441L<zipdetails> displays information about the internal record structure of the zip file.
442It is not concerned with displaying any details of the compressed data stored in the zip file.
b53e16ae 443
3432e5a1 444=back
60092ce4 445
0aaeb177
SH
446=head1 Configuration and Compilation
447
448XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
449go here. Any other changes to the Perl build process should be listed here.
450However, any platform-specific changes should be listed in the
451L</Platform Support> section, instead.
452
453[ List changes as a =item entry ].
309aab3a 454
e3c71926 455=over 4
b53e16ae
FC
456
457=item *
458
60f0ee9d
NC
459F<pod/roffitall> is now build by F<pod/buildtoc>, instead of being shipped
460with the distribution. Its list of manpages is now generated (and therefore
461current). See also RT #103202 for an unresolved related issue.
a3f52e2e 462
61f966e7
FC
463=item *
464
465Perl 5.15.5 had a bug in its installation script, which did not install
466F<unicore/Name.pm>. This has been corrected [perl #104226].
467
468XXX Is that Perl version correct? Is the file path correct?
469
0aaeb177 470=back
a3f52e2e 471
0aaeb177 472=head1 Testing
a3f52e2e 473
0aaeb177
SH
474XXX Any significant changes to the testing of a freshly built perl should be
475listed here. Changes which create B<new> files in F<t/> go here as do any
476large changes to the testing harness (e.g. when parallel testing was added).
477Changes to existing files in F<t/> aren't worth summarising, although the bugs
478that they represent may be covered elsewhere.
a3f52e2e 479
0aaeb177 480[ List each test improvement as a =item entry ]
a3f52e2e 481
0aaeb177 482=over 4
a3f52e2e
FC
483
484=item *
485
d1fb015b
FC
486The F<substr.t> and F<substr_thr.t> scripts for testing C<substr> have been
487moved under F<t/op/>, where they were originally. They had been moved
488under F<t/re/> along with the substitution tests when that directory was
489created.
a3f52e2e 490
0aaeb177 491=back
a3f52e2e 492
0aaeb177 493=head1 Platform Support
a3f52e2e 494
0aaeb177 495XXX Any changes to platform support should be listed in the sections below.
a3f52e2e 496
0aaeb177
SH
497[ Within the sections, list each platform as a =item entry with specific
498changes as paragraphs below it. ]
a3f52e2e 499
0aaeb177 500=head2 New Platforms
a3f52e2e 501
0aaeb177
SH
502XXX List any platforms that this version of perl compiles on, that previous
503versions did not. These will either be enabled by new files in the F<hints/>
504directories, or new subdirectories and F<README> files at the top level of the
505source tree.
a3f52e2e 506
0aaeb177 507=over 4
a3f52e2e 508
0aaeb177 509=item XXX-some-platform
a3f52e2e 510
0aaeb177 511XXX
a3f52e2e 512
0aaeb177 513=back
a3f52e2e 514
0aaeb177 515=head2 Discontinued Platforms
ca955add 516
0aaeb177 517XXX List any platforms that this version of perl no longer compiles on.
bbdd8bad 518
0aaeb177 519=over 4
bbdd8bad 520
0aaeb177 521=item XXX-some-platform
ad32999b 522
0aaeb177 523XXX
ad32999b 524
0aaeb177 525=back
ad32999b 526
0aaeb177 527=head2 Platform-Specific Notes
ad32999b 528
0aaeb177
SH
529XXX List any changes for specific platforms. This could include configuration
530and compilation changes or changes in portability/compatibility. However,
531changes within modules for platforms should generally be listed in the
532L</Modules and Pragmata> section.
ad32999b 533
0aaeb177 534=over 4
ad32999b 535
0aaeb177 536=item XXX-some-platform
ad32999b 537
0aaeb177 538XXX
ad32999b 539
0aaeb177 540=back
ad32999b 541
0aaeb177 542=head1 Internal Changes
ad32999b 543
0aaeb177
SH
544XXX Changes which affect the interface available to C<XS> code go here.
545Other significant internal changes for future core maintainers should
546be noted as well.
ad32999b 547
0aaeb177 548[ List each change as a =item entry ]
ad32999b 549
0aaeb177 550=over 4
ad32999b 551
3973654e
FC
552=item *
553
0aaeb177 554XXX
3973654e 555
0aaeb177 556=back
cca38fda 557
0aaeb177 558=head1 Selected Bug Fixes
9c7c1651 559
0aaeb177
SH
560XXX Important bug fixes in the core language are summarised here.
561Bug fixes in files in F<ext/> and F<lib/> are best summarised in
562L</Modules and Pragmata>.
9c7c1651 563
0aaeb177 564[ List each fix as a =item entry ]
fce59cd4 565
0aaeb177 566=over 4
fce59cd4 567
b9e83cd1
FC
568=item *
569
541cb22c
FC
570A constant subroutine assigned to a glob whose name contains a null will no
571longer cause extra globs to pop into existence when the constant is
572referenced under its new name.
b9e83cd1 573
679b54e7
FC
574=item *
575
576C<sort> was not treating C<sub {}> and C<sub {()}> as equivalent when such
577a sub was provided as the comparison routine. It used to croak on
578C<sub {()}>.
579
580=item *
581
582Subroutines from the C<autouse> namespace are once more exempt from
583redefinition warnings. This used to work in 5.005, but was broken in 5.6
584for most subroutines. For subs created via XS that redefine subroutines
585from the C<autouse> package, this stopped working in 5.10.
586
587=item *
588
589New XSUBs now produce redefinition warnings if they overwrite existing
590subs, as they did in 5.8.x. (The C<autouse> logic was reversed in 5.10-14.
591Only subroutines from the C<autouse> namespace would warn when clobbered.)
592
593=item *
594
595Redefinition warnings triggered by the creation of XSUBs now respect
596Unicode glob names, instead of using the internal representation. This was
597missed in 5.15.4, partly because this warning was so hard to trigger. (See
598the previous item.)
599
600=item *
601
602C<newCONSTSUB> used to use compile-time warning hints, instead of run-time
603hints. The following code should never produce a redefinition warning, but
604it used to, if C<newCONSTSUB> redefine and existing subroutine:
605
606 use warnings;
607 BEGIN {
608 no warnings;
609 some_XS_function_that_calls_new_CONSTSUB();
610 }
611
61f966e7
FC
612=item *
613
614Redefinition warnings for constant subroutines are on by default (what are
615known as severe warnings in L<perldiag>). This was only the case when it
616was a glob assignment or declaration of a Perl subroutine that caused the
617warning. If the creation of XSUBs triggered the warning, it was not a
618default warning. This has been corrected.
619
620=item *
621
622The internal check to see whether a redefinition warning should occur used
623to emit "uninitialized" warnings in cases like this:
624
625 use warnings "uninitialized";
626 use constant {u=>undef,v=>undef};
627 sub foo(){u} sub foo(){v}
628
629=item *
630
631A bug fix in Perl 5.14 introduced a new bug, causing "uninitialized"
632warnings to report the wrong variable if the operator in question has
633two operands and one is C<%{...}> or C<@{...}>. This has been fixed
634[perl #103766].
635
636=item *
637
638C<< version->new("version") >> and C<printf "%vd", "version"> no longer
639crash [perl #102586].
640
d1fb015b
FC
641=item *
642
643C<$tied =~ y/a/b/>, C<chop $tied> and C<chomp $tied> now call FETCH just
644once when $tied holds a reference.
645
646=item *
647
648Four-argument C<select> now always calls FETCH on tied arguments. It used
649to skip the call if the tied argument happened to hold C<undef> or a
650typeglob.
651
652=item *
653
654Four-argument C<select> no longer produces its "Non-string passed as
655bitmask" warning on tied or tainted variables that are strings.
656
657=item *
658
659C<sysread> now always calls FETCH on the buffer passed to it if it is tied.
660It used to skip the call if the tied variable happened to hold a typeglob.
661
662=item *
663
664C<< $tied .= <> >> now calls FETCH once on C<$tied>. It used to call it
665multiple times if the last value assigned to or returned from the tied
666variable was anything other than a string or typeglob.
667
66008486
FC
668=item *
669
670The C<evalbytes> keyword added in 5.15.5 was respecting C<use utf8>
671declarations from the outer scope, when it should have been ignoring them.
672
7e7629fa
FC
673=item *
674
675C<goto &func> no longers crashes, but produces an error message, when the
676unwinding of the current subroutine's scope fires a destructor that
677undefines the subroutine being "goneto" [perl #99850].
678
73512201
DG
679=item *
680
681Arithmetic assignment (C<$left += $right>) involving overloaded objects that
682rely on the 'nomethod' override no longer segfault when the left operand is not
683overloaded.
684
0aaeb177 685=back
bf19b80e 686
0aaeb177 687=head1 Known Problems
bf19b80e 688
0aaeb177
SH
689XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
690tests that had to be C<TODO>ed for the release would be noted here, unless
691they were specific to a particular platform (see below).
65b66aa9 692
0aaeb177
SH
693This is a list of some significant unfixed bugs, which are regressions
694from either 5.XXX.XXX or 5.XXX.XXX.
65b66aa9 695
0aaeb177 696[ List each fix as a =item entry ]
b53e16ae 697
0aaeb177 698=over 4
b53e16ae 699
7c864bb3
VP
700=item *
701
0aaeb177 702XXX
7c864bb3 703
63ac71b9 704=back
bbc28bfc 705
0aaeb177 706=head1 Obituary
8fe05716 707
0aaeb177
SH
708XXX If any significant core contributor has died, we've added a short obituary
709here.
8fe05716 710
0aaeb177 711=head1 Acknowledgements
8fe05716 712
0aaeb177 713XXX Generate this with:
8fe05716 714
0aaeb177 715 perl Porting/acknowledgements.pl v5.15.5..HEAD
29cf780c 716
44691e6f
AB
717=head1 Reporting Bugs
718
719If you find what you think is a bug, you might check the articles
34dc2ec0 720recently posted to the comp.lang.perl.misc newsgroup and the perl
44691e6f
AB
721bug database at http://rt.perl.org/perlbug/ . There may also be
722information at http://www.perl.org/ , the Perl Home Page.
723
724If you believe you have an unreported bug, please run the L<perlbug>
725program included with your release. Be sure to trim your bug down
726to a tiny but sufficient test case. Your bug report, along with the
727output of C<perl -V>, will be sent off to perlbug@perl.org to be
728analysed by the Perl porting team.
729
730If the bug you are reporting has security implications, which make it
731inappropriate to send to a publicly archived mailing list, then please send
34dc2ec0 732it to perl5-security-report@perl.org. This points to a closed subscription
b4707b2a
FC
733unarchived mailing list, which includes
734all the core committers, who will be able
44691e6f
AB
735to help assess the impact of issues, figure out a resolution, and help
736co-ordinate the release of patches to mitigate or fix the problem across all
34dc2ec0
DM
737platforms on which Perl is supported. Please only use this address for
738security issues in the Perl core, not for modules independently
44691e6f
AB
739distributed on CPAN.
740
741=head1 SEE ALSO
742
743The F<Changes> file for an explanation of how to view exhaustive details
744on what changed.
745
746The F<INSTALL> file for how to build Perl.
747
748The F<README> file for general stuff.
749
750The F<Artistic> and F<Copying> files for copyright information.
751
752=cut