This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
bump version of many modules
[perl5.git] / pod / perldelta.pod
CommitLineData
3a5c9134
CBW
1=encoding utf8
2
59773fc7 3=for comment
c35766a7 4This has been completed up to ca88a729.
59773fc7 5
3a5c9134
CBW
6=head1 NAME
7
8[ this is a template for a new perldelta file. Any text flagged as
9XXX needs to be processed before release. ]
10
11perldelta - what is new for perl v5.13.8
12
13=head1 DESCRIPTION
14
15This document describes differences between the 5.13.8 release and
16the 5.13.7 release.
17
dbbe2d83 18If you are upgrading from an earlier release such as 5.13.6, first read
3a5c9134
CBW
19L<perl5137delta>, which describes differences between 5.13.6 and
205.13.7.
21
22=head1 Notice
23
24XXX Any important notices here
25
26=head1 Core Enhancements
27
28XXX New core language features go here. Summarise user-visible core language
29enhancements. Particularly prominent performance optimisations could go
30here, but most should go in the L</Performance Enhancements> section.
31
32[ List each enhancement as a =head2 entry ]
33
b19934fb
NC
34=head2 C<-d:-foo> calls C<Devel::foo::unimport>
35
36The syntax C<-dI<B<:>foo>> was extended in 5.6.1 to make C<-dI<:fooB<=bar>>>
6a8c8694
FC
37equivalent to C<-MDevel::foo=bar>, which expands
38internally to C<use Devel::foo 'bar';>.
b19934fb
NC
39F<perl> now allows prefixing the module name with C<->, with the same
40semantics as C<-M>, I<i.e.>
41
42=over 4
43
44=item C<-d:-foo>
45
6a8c8694
FC
46Equivalent to C<-M-Devel::foo>, expands to
47C<no Devel::foo;>, calls C<< Devel::foo->unimport() >>
b19934fb
NC
48if the method exists.
49
50=item C<-d:-foo=bar>
51
6a8c8694
FC
52Equivalent to C<-M-Devel::foo=bar>, expands to C<no Devel::foo 'bar';>,
53calls C<< Devel::foo->unimport('bar') >> if the method exists.
b19934fb
NC
54
55=back
56
57This is particularly useful to suppresses the default actions of a
58C<Devel::*> module's C<import> method whilst still loading it for debugging.
59
15e6cdd9
DG
60=head2 Filehandle method calls load IO::File on demand
61
62When a method call on a filehandle would die because the method can not
63be resolved and L<IO::File> has not been loaded, Perl now loads IO::File
64via C<require> and attempts method resolution again:
65
66 open my $fh, ">", $file;
67 $fh->binmode(":raw"); # loads IO::File and succeeds
68
69This also works for globs like STDOUT, STDERR and STDIN:
70
71 STDOUT->autoflush(1);
72
73Because this on-demand load only happens if method resolution fails, the
74legacy approach of manually loading an IO::File parent class for partial
75method support still works as expected:
76
77 use IO::Handle;
78 open my $fh, ">", $file;
79 $fh->autoflush(1); # IO::File not loaded
80
20db7501
KW
81=head2 Full functionality for C<use feature 'unicode_strings'>
82
83This release provides full functionality for C<use feature
84'unicode_strings'>. Under its scope, all string operations executed and
85regular expressions compiled (even if executed outside its scope) have
86Unicode semantics. See L<feature>.
87
88This feature avoids the "Unicode Bug" (See
89L<perlunicode/The "Unicode Bug"> for details.) If their is a
90possibility that your code will process Unicode strings, you are
91B<strongly> encouraged to use this subpragma to avoid nasty surprises.
92
07291fb1
KW
93This availability of this should strongly affect the whole tone of
94various documents, such as L<perlunicode> and L<perluniintro>, but this
95work has not been done yet.
96
ee076ba5
FR
97=head2 Exception Handling Backcompat Hack
98
99When an exception is thrown in an C<eval BLOCK>, C<$@> is now set before
100unwinding, as well as being set after unwinding as the eval block exits. This
101early setting supports code that has historically treated C<$@> during unwinding
102as an indicator of whether the unwinding was due to an exception. These modules
103had been broken by 5.13.1's change from setting C<$@> early to setting it late.
104This double setting arrangement is a stopgap until the reason for unwinding can
105be made properly introspectable. C<$@> has never been a reliable indicator of
106this.
107
f6166f76
CS
108=head2 printf-like functions understand size modifiers "hh", "z", "t", and sometimes "j"
109
110Perl's printf and sprintf operators, and Perl's internal printf replacement
111function, now understand the C90 size modifiers "hh" (C<char>), "z"
112(C<size_t>), and "t" (C<ptrdiff_t>). Also, when compiled with a C99
113compiler, Perl now understands the size modifier "j" (C<intmax_t>).
114
115So, for example, on any modern machine, C<sprintf('%hhd', 257)> returns '1'.
116
0d157ee2
DL
117=head2 DTrace probes now include package name
118
119The DTrace probes now include an additional argument (C<arg3>) which contains
120the package the subroutine being entered or left was compiled in.
121
122For example using the following DTrace script:
123
124 perl$target:::sub-entry
125 {
126 printf("%s::%s\n", copyinstr(arg0), copyinstr(arg3));
127 }
128
129and then running:
130
131 perl -e'sub test { }; test'
132
133DTrace will print:
134
135 main::test
136
bd8e866d
FC
137=head2 Stacked labels
138
139Multiple statement labels can now appear before a single statement.
140
3a5c9134
CBW
141=head1 Security
142
143XXX Any security-related notices go here. In particular, any security
144vulnerabilities closed should be noted here rather than in the
145L</Selected Bug Fixes> section.
146
147[ List each security issue as a =head2 entry ]
148
149=head1 Incompatible Changes
150
2dc78664 151=head2 Attempting to use C<:=> as an empty attribute list is now a syntax error
3a5c9134 152
2dc78664
NC
153Previously C<my $pi := 4;> was exactly equivalent to C<my $pi : = 4;>,
154with the C<:> being treated as the start of an attribute list, ending before
155the C<=>. The use of C<:=> to mean C<: => was deprecated in 5.12.0, and is now
156a syntax error. This will allow the future use of C<:=> as a new token.
3a5c9134 157
2dc78664
NC
158We find no Perl 5 code on CPAN using this construction, outside the core's
159tests for it, so we believe that this change will have very little impact on
160real-world codebases.
161
162If it is absolutely necessary to have empty attribute lists (for example,
baed7a72
NC
163because of a code generator) then avoid the error by adding a space before
164the C<=>.
3a5c9134 165
d66e82e8
FC
166=head2 Run-time code block in regular expressions
167
168Code blocks in regular expressions (C<(?{...})> and C<(??{...})>) used not
169to inherit any pragmata (strict, warnings, etc.) if the regular expression
170was compiled at run time as happens in cases like these two:
171
172 use re 'eval';
173 $foo =~ $bar; # when $bar contains (?{...})
174 $foo =~ /$bar(?{ $finished = 1 })/;
175
176This was a bug, which has now been fixed. But it has the potential to break
177any code that was relying on this bug.
178
3a5c9134
CBW
179=head1 Deprecations
180
181XXX Any deprecated features, syntax, modules etc. should be listed here.
182In particular, deprecated modules should be listed here even if they are
183listed as an updated module in the L</Modules and Pragmata> section.
184
185[ List each deprecation as a =head2 entry ]
186
59773fc7
FC
187=head2 C<?PATTERN?> is deprecated
188
189C<?PATTERN?> (without the initial m) has been deprecated and now produces
190a warning.
191
d59a8b3e
NC
192=head2 C<sv_compile_2op> is now deprecated
193
194The C<sv_compile_2op> is now deprecated, and will be removed. Searches suggest
195that nothing on CPAN is using it, so this should have zero impact.
196
197It attempted to provide an API to compile code down to an optree, but failed
198to bind correctly to lexicals in the enclosing scope. It's not possible to
199fix this problem within the constraints of its parameters and return value.
200
5609d5f9
FC
201=head2 Tie functions on scalars holding typeglobs
202
203Calling a tie function (C<tie>, C<tied>, C<untie>) with a scalar argument
204acts on a file handle if the scalar happens to hold a typeglob.
205
206This is a long-standing bug that will be removed in Perl 5.16, as
207there is currently no way to tie the scalar itself when it holds
208a typeglob, and no way to untie a scalar that has had a typeglob
209assigned to it.
210
211This bug was fixed in 5.13.7 but, because of the breakage it caused, the
212fix has been reverted. Now there is a deprecation warning whenever a tie
213function is used on a handle without an explicit C<*>.
214
3a5c9134
CBW
215=head1 Performance Enhancements
216
217XXX Changes which enhance performance without changing behaviour go here. There
218may well be none in a stable release.
219
220[ List each enhancement as a =item entry ]
221
222=over 4
223
224=item *
225
226XXX
227
228=back
229
230=head1 Modules and Pragmata
231
232XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
233go here. If Module::CoreList is updated, generate an initial draft of the
234following sections using F<Porting/corelist-perldelta.pl>, which prints stub
235entries to STDOUT. Results can be pasted in place of the '=head2' entries
236below. A paragraph summary for important changes should then be added by hand.
237In an ideal world, dual-life modules would have a F<Changes> file that could be
238cribbed.
239
240[ Within each section, list entries as a =item entry ]
241
242=head2 New Modules and Pragmata
243
244=over 4
245
246=item *
247
248XXX
249
250=back
251
252=head2 Updated Modules and Pragmata
253
254=over 4
255
256=item *
257
c3e6accb
CBW
258C<Archive::Tar> has been upgraded from version 1.72 to 1.74
259
260=item *
261
04b0a669
FC
262C<B::Concise> has been upgraded from version 0.81 to 0.82.
263
264It no longer produces mangled output with the C<-tree> option
265L<[perl #80632]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=80632>.
266
267=item *
268
c2f8ff19
FR
269C<Devel::SelfStubber> has been upgraded from version 1.04 to 1.05.
270
271=item *
272
9cc8ef8a 273C<Digest::SHA> has been upgraded from 5.48 to 5.50
0a178734
CBW
274
275shasum now more closely mimics sha1sum/md5sum and Addfile
276accepts all POSIX filenames.
8d849515
FR
277
278=item *
279
280C<Dumpvalue> has been upgraded from version 1.14 to 1.15.
0a178734
CBW
281
282=item *
283
5b0bc4e8
FR
284C<Env> has been upgraded from version 1.01 to 1.02.
285
286=item *
287
d3413324 288C<ExtUtils::CBuilder> has been upgraded from 0.2703 to 0.2802
06e8058f
CBW
289
290=item *
291
121e1895
FC
292C<ExtUtils::Embed> has been upgraded from 1.29 to 1.30.
293
294=item *
295
11f2b7f3
FR
296C<if> has been upgraded from 0.06 to 0.0601.
297
298=item *
299
92c0bb90
FR
300C<Devel::SelfStubber> has been upgraded from version 1.03 to 1.04.
301
302=item *
303
39b09a1b
CBW
304C<IPC::Cmd> has been upgraded from 0.64 to 0.66
305
306Resolves an issue with splitting Win32 command lines
307and documentation enhancements.
308
309=item *
310
121e1895
FC
311C<IPC::Open3> has been upgraded from 1.07 to 1.08.
312
313=item *
314
1245abf1
CBW
315C<Locale::Codes> has been upgraded from version 3.14 to 3.15
316
317=item *
318
28502098
FR
319C<Memoize> has been upgraded from version 1.01_03 to 1.02.
320
321=item *
322
37fa6334 323C<MIME::Base64> has been upgraded from 3.10 to 3.13
2456140e
CBW
324
325Now provides encode_base64url and decode_base64url functions to process
326the base64 scheme for "URL applications".
327
328=item *
329
ad033849
FC
330C<mro> has been upgraded from version 1.05 to 1.06.
331
332C<next::method> I<et al.> now take into account that every class inherits
333from UNIVERSAL
334L<[perl #68654]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68654>.
335
336=item *
337
121e1895
FC
338C<Net::Ping> has been upgraded from 2.36 to 2.37.
339
340=item *
341
2638c0ff
FC
342C<overload> has been upgraded from 1.11 to 1.12.
343
344=item *
345
121e1895
FC
346C<PerlIO::encoding> has been upgraded from 0.13 to 0.14.
347
348=item *
349
2638c0ff
FC
350C<PerlIO::scalar> has been upgraded from 0.10 to 0.11.
351
352A C<read> after a C<seek> beyond the end of the string no longer thinks it
353has data to read
354L<[perl #78716]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78716>.
355
356=item *
357
f295f417
FC
358C<re> has been upgraded from 0.14 to 0.15.
359
360=item *
361
5ebfb99c 362C<Socket> has been upgraded from 1.91 to 1.92.
b373eab8
FC
363
364It has several new functions for handling IPv6 addresses.
365
366=item *
367
b6ae81ab
DL
368C<Storable> has been upgraded from 2.24 to 2.25.
369
370This adds support for serialising code references that contain UTF-8 strings
371correctly. The Storable minor version number changed as a result -- this means
372Storable users that set C<$Storable::accept_future_minor> to a C<FALSE> value
373will see errors (see L<Storable/FORWARD COMPATIBILITY> for more details).
374
ca88a729
Z
375Freezing no longer gets confused if the Perl stack gets reallocated
376during freezing
377L<[perl #80074]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=80074>.
378
b6ae81ab
DL
379=item *
380
d4238815
FC
381C<Time::HiRes> has been upgraded from 1.9721 to 1.9721_01.
382
383=item *
384
68adb2b0
CBW
385C<Unicode::Collate> has been upgraded from 0.67 to 0.68
386
387=item *
388
59773fc7 389C<Unicode::UCD> has been upgraded from 0.29 to 0.30.
3a5c9134 390
c2e0289e
FC
391=item *
392
393C<version> has been upgraded from 0.82 to 0.86.
394
e6f1cc4d
FC
395=item *
396
397C<Win32> has been upgraded from 0.039 to 0.040.
398
3a5c9134
CBW
399=back
400
401=head2 Removed Modules and Pragmata
402
403=over 4
404
405=item *
406
407XXX
408
409=back
410
411=head1 Documentation
412
413XXX Changes to files in F<pod/> go here. Consider grouping entries by
414file and be sure to link to the appropriate page, e.g. L<perlfunc>.
415
416=head2 New Documentation
417
418XXX Changes which create B<new> files in F<pod/> go here.
419
420=head3 L<XXX>
421
422XXX Description of the purpose of the new file here
423
424=head2 Changes to Existing Documentation
425
426XXX Changes which significantly change existing files in F<pod/> go here.
427However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
428section.
429
430=head3 L<XXX>
431
432=over 4
433
434=item *
435
436XXX Description of the change here
437
438=back
439
440=head1 Diagnostics
441
442The following additions or changes have been made to diagnostic output,
443including warnings and fatal error messages. For the complete list of
444diagnostic messages, see L<perldiag>.
445
446XXX New or changed warnings emitted by the core's C<C> code go here. Also
447include any changes in L<perldiag> that reconcile it to the C<C> code.
448
449[ Within each section, list entries as a =item entry ]
450
451=head2 New Diagnostics
452
453XXX Newly added diagnostic messages go here
454
455=over 4
456
457=item *
458
4d4ca6a5 459There is a new "Closure prototype called" error.
3a5c9134
CBW
460
461=back
462
463=head2 Changes to Existing Diagnostics
464
465XXX Changes (i.e. rewording) of diagnostic messages go here
466
467=over 4
468
469=item *
470
c6008483
FC
471The "Found = in conditional" warning that is emitted when a constant is
472assigned to a variable in a condition is now withheld if the constant is
473actually a subroutine or one generated by C<use constant>, since the value
474of the constant may not be known at the time the program is written
475L<[perl #77762]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77762>.
3a5c9134
CBW
476
477=back
478
479=head1 Utility Changes
480
481XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
482here. Most of these are built within the directories F<utils> and F<x2p>.
483
484[ List utility changes as a =head3 entry for each utility and =item
485entries for each change
486Use L<XXX> with program names to get proper documentation linking. ]
487
488=head3 L<XXX>
489
490=over 4
491
492=item *
493
494XXX
495
496=back
497
498=head1 Configuration and Compilation
499
500XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
501go here. Any other changes to the Perl build process should be listed here.
502However, any platform-specific changes should be listed in the
503L</Platform Support> section, instead.
504
505[ List changes as a =item entry ].
506
507=over 4
508
509=item *
510
51bed910
Z
511The C<Encode> module can now (once again) be included in a static Perl
512build. The special-case handling for this situation got broken in Perl
5135.11.0, and has now been repaired.
514
515=item *
516
3a5c9134
CBW
517XXX
518
519=back
520
521=head1 Testing
522
523XXX Any significant changes to the testing of a freshly built perl should be
524listed here. Changes which create B<new> files in F<t/> go here as do any
525large changes to the testing harness (e.g. when parallel testing was added).
526Changes to existing files in F<t/> aren't worth summarising, although the bugs
527that they represent may be covered elsewhere.
528
529[ List each test improvement as a =item entry ]
530
531=over 4
532
533=item *
534
c35766a7
Z
535Tests for C<IPC-Open3>, C<Opcode>, and C<PerlIO-encoding> now use the
536L<Test::More> framework.
537
538=item *
539
3a5c9134
CBW
540XXX
541
542=back
543
544=head1 Platform Support
545
546XXX Any changes to platform support should be listed in the sections below.
547
548[ Within the sections, list each platform as a =item entry with specific
549changes as paragraphs below it. ]
550
551=head2 New Platforms
552
553XXX List any platforms that this version of perl compiles on, that previous
554versions did not. These will either be enabled by new files in the F<hints/>
555directories, or new subdirectories and F<README> files at the top level of the
556source tree.
557
558=over 4
559
560=item XXX-some-platform
561
562XXX
563
564=back
565
566=head2 Discontinued Platforms
567
568XXX List any platforms that this version of perl no longer compiles on.
569
570=over 4
571
572=item XXX-some-platform
573
574XXX
575
576=back
577
578=head2 Platform-Specific Notes
579
580XXX List any changes for specific platforms. This could include configuration
581and compilation changes or changes in portability/compatibility. However,
582changes within modules for platforms should generally be listed in the
583L</Modules and Pragmata> section.
584
585=over 4
586
085d0904 587=item NetBSD
3a5c9134 588
085d0904
FC
589The NetBSD hints file has been changed to make the system's malloc the
590default.
3a5c9134 591
fb3a2d89
Z
592=item Windows
593
594The option to use an externally-supplied C<crypt()>, or to build with no
595C<crypt()> at all, has been removed. Perl supplies its own C<crypt()>
596implementation for Windows, and the political situation that required
597this part of the distribution to sometimes be omitted is long gone.
598
3a5c9134
CBW
599=back
600
601=head1 Internal Changes
602
603XXX Changes which affect the interface available to C<XS> code go here.
604Other significant internal changes for future core maintainers should
605be noted as well.
606
607[ List each test improvement as a =item entry ]
608
609=over 4
610
611=item *
612
833f1b93
FR
613C<mg_findext> and C<sv_unmagicext> have been added.
614
615These new functions allow extension authors to find and remove magic attached to
616scalars based on both the magic type and the magic virtual table, similar to how
617C<sv_magicext> attaches magic of a certain type and with a given virtual table
618to a scalar. This eliminates the need for extensions to walk the list of
619C<MAGIC> pointers of an C<SV> to find the magic that belongs to them.
3a5c9134 620
c61b6d0f
FC
621=item *
622
623The C<parse_fullexpr()>, C<parse_listexpr(), C<parse_termexpr()> and
624C<parse_arithexpr()> functions have been added.
625
626These are for parsing expressions at various precedence levels.
627
3a5c9134
CBW
628=back
629
630=head1 Selected Bug Fixes
631
632XXX Important bug fixes in the core language are summarised here.
633Bug fixes in files in F<ext/> and F<lib/> are best summarised in
634L</Modules and Pragmata>.
635
636[ List each fix as a =item entry ]
637
638=over 4
639
640=item *
641
88e9444c
NC
642C<BEGIN {require 5.12.0}> now behaves as documented, rather than behaving
643identically to C<use 5.12.0;>. Previously, C<require> in a C<BEGIN> block
644was erroneously executing the C<use feature ':5.12.0'> and
645C<use strict; use warnings;> behaviour, which only C<use> was documented to
b373eab8
FC
646provide
647L<[perl #69050]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=69050>.
648
649=item *
650
651C<use 5.42>
652L<[perl #69050]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=69050>,
653C<use 6> and C<no 5> no longer leak memory.
654
655=item *
656
657C<eval "BEGIN{die}"> no longer leaks memory on non-threaded builds.
3a5c9134 658
1428a560
FC
659=item *
660
661PerlIO no longer crashes when called recursively, e.g., from a signal
662handler. Now it just leaks memory
663L<[perl #75556]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75556>.
664
11cd2234
FC
665=item *
666
667Defining a constant with the same name as one of perl's special blocks
668(e.g., INIT) stopped working in 5.12.0, but has now been fixed
669L<[perl #78634]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78634>.
670
e3ef43a5
FC
671=item *
672
673A reference to a literal value used as a hash key (C<$hash{\"foo"}>) used
674to be stringified, even if the hash was tied
675L<[perl #79178]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=79178>.
676
3ad6135d
FC
677=item *
678
3ad6135d
FC
679A closure containing an C<if> statement followed by a constant or variable
680is no longer treated as a constant
681L<[perl #63540]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=63540>.
682
4d4ca6a5
FC
683=item *
684
685Calling a closure prototype (what is passed to an attribute handler for a
7cdf3308
FC
686closure) now results in a "Closure prototype called" error message instead
687of a crash
4d4ca6a5
FC
688L<[perl #68560]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68560>.
689
085d0904
FC
690=item *
691
692A regular expression optimisation would sometimes cause a match with a
693C<{n,m}> quantifier to fail when it should match
694L<[perl #79152]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=79152>.
695
20db7501
KW
696=item *
697
698What has become known as the "Unicode Bug" is resolved in this release.
699Under C<use feature 'unicode_strings'>, the internal storage format of a
700string no longer affects the external semantics. There are two known
701exceptions. User-defined case changing functions, which are planned to
702be deprecated in 5.14, require utf8-encoded strings to function; and the
703character C<LATIN SMALL LETTER SHARP S> in regular expression
704case-insensitive matching has a somewhat different set of bugs depending
705on the internal storage format. Case-insensitive matching of all
706characters that have multi-character matches, as this one does, is
707problematical in Perl.
708L<[perl #58182]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=58182>.
709
70bfa48a
FC
710=item *
711
712Mentioning a read-only lexical variable from the enclosing scope in a
713string C<eval> would cause the variable to become writable
714L<[perl #19135]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=19135>.
715
f853e70a
FC
716=item *
717
718C<state> can now be used with attributes. It used to mean the same thing as
719C<my> if attributes were present
720L<[perl #68658]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68658>.
721
37079308
FC
722=item *
723
724Expressions like C<< @$a > 3 >> no longer cause C<$a> to be mentioned in
725the "Use of uninitialized value in numeric gt" warning when C<$a> is
726undefined (since it is not part of the C<E<gt>> expression, but the operand
727of the C<@>)
728L<[perl #72090]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72090>.
729
4c9d53d5
FC
730=item *
731
732C<require> no longer causes C<caller> to return the wrong file name for
733the scope that called C<require> and other scopes higher up that had the
734same file name
735L<[perl #68712]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68712>.
736
0c7420e7
FC
737=item *
738
7cdf3308 739The ref types in the typemap for XS bindings now support magical variables
0c7420e7
FC
740L<[perl #72684]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72684>.
741
460c4bfb
FC
742=item *
743
744Match variables (e.g., C<$1>) no longer persist between calls to a sort
745subroutine
746L<[perl #76026]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=76026>.
747
26de4ac8
FC
748=item *
749
750The C<B> module was returning B::OPs instead of B::LOGOPs for C<entertry>
751L<[perl #80622]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=80622>.
752
753This was due to a bug in the perl core, not in C<B> itself.
754
ab7fb400
FC
755=item *
756
757Some numeric operators were converting integers to floating point,
758resulting in loss of precision on 64-bit platforms
759L<[perl #77456]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77456>.
760
836d5805
Z
761=item *
762
763The fallback behaviour of overloading on binary operators was asymmetric
764L<[perl #71286]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=71286>.
765
3a5c9134
CBW
766=back
767
768=head1 Known Problems
769
770XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
771tests that had to be C<TODO>ed for the release would be noted here, unless
772they were specific to a particular platform (see below).
773
774This is a list of some significant unfixed bugs, which are regressions
775from either 5.XXX.XXX or 5.XXX.XXX.
776
777[ List each fix as a =item entry ]
778
779=over 4
780
781=item *
782
3ad6135d 783XXX
3a5c9134
CBW
784
785=back
786
787=head1 Obituary
788
789XXX If any significant core contributor has died, we've added a short obituary
790here.
791
792=head1 Acknowledgements
793
794XXX The list of people to thank goes here.
795
796=head1 Reporting Bugs
797
798If you find what you think is a bug, you might check the articles
799recently posted to the comp.lang.perl.misc newsgroup and the perl
800bug database at http://rt.perl.org/perlbug/ . There may also be
801information at http://www.perl.org/ , the Perl Home Page.
802
803If you believe you have an unreported bug, please run the L<perlbug>
804program included with your release. Be sure to trim your bug down
805to a tiny but sufficient test case. Your bug report, along with the
806output of C<perl -V>, will be sent off to perlbug@perl.org to be
807analysed by the Perl porting team.
808
809If the bug you are reporting has security implications, which make it
810inappropriate to send to a publicly archived mailing list, then please send
811it to perl5-security-report@perl.org. This points to a closed subscription
812unarchived mailing list, which includes all the core committers, who be able
813to help assess the impact of issues, figure out a resolution, and help
814co-ordinate the release of patches to mitigate or fix the problem across all
815platforms on which Perl is supported. Please only use this address for
816security issues in the Perl core, not for modules independently
817distributed on CPAN.
818
819=head1 SEE ALSO
820
821The F<Changes> file for an explanation of how to view exhaustive details
822on what changed.
823
824The F<INSTALL> file for how to build Perl.
825
826The F<README> file for general stuff.
827
828The F<Artistic> and F<Copying> files for copyright information.
829
830=cut