This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta for 8e88cfee26d866223a6b3bfffce6270271de00db
[perl5.git] / pod / perldelta.pod
CommitLineData
3a5c9134
CBW
1=encoding utf8
2
59773fc7 3=for comment
ca88a729 4This has been completed up to 91fad77.
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
535XXX
536
537=back
538
539=head1 Platform Support
540
541XXX Any changes to platform support should be listed in the sections below.
542
543[ Within the sections, list each platform as a =item entry with specific
544changes as paragraphs below it. ]
545
546=head2 New Platforms
547
548XXX List any platforms that this version of perl compiles on, that previous
549versions did not. These will either be enabled by new files in the F<hints/>
550directories, or new subdirectories and F<README> files at the top level of the
551source tree.
552
553=over 4
554
555=item XXX-some-platform
556
557XXX
558
559=back
560
561=head2 Discontinued Platforms
562
563XXX List any platforms that this version of perl no longer compiles on.
564
565=over 4
566
567=item XXX-some-platform
568
569XXX
570
571=back
572
573=head2 Platform-Specific Notes
574
575XXX List any changes for specific platforms. This could include configuration
576and compilation changes or changes in portability/compatibility. However,
577changes within modules for platforms should generally be listed in the
578L</Modules and Pragmata> section.
579
580=over 4
581
085d0904 582=item NetBSD
3a5c9134 583
085d0904
FC
584The NetBSD hints file has been changed to make the system's malloc the
585default.
3a5c9134 586
fb3a2d89
Z
587=item Windows
588
589The option to use an externally-supplied C<crypt()>, or to build with no
590C<crypt()> at all, has been removed. Perl supplies its own C<crypt()>
591implementation for Windows, and the political situation that required
592this part of the distribution to sometimes be omitted is long gone.
593
3a5c9134
CBW
594=back
595
596=head1 Internal Changes
597
598XXX Changes which affect the interface available to C<XS> code go here.
599Other significant internal changes for future core maintainers should
600be noted as well.
601
602[ List each test improvement as a =item entry ]
603
604=over 4
605
606=item *
607
833f1b93
FR
608C<mg_findext> and C<sv_unmagicext> have been added.
609
610These new functions allow extension authors to find and remove magic attached to
611scalars based on both the magic type and the magic virtual table, similar to how
612C<sv_magicext> attaches magic of a certain type and with a given virtual table
613to a scalar. This eliminates the need for extensions to walk the list of
614C<MAGIC> pointers of an C<SV> to find the magic that belongs to them.
3a5c9134 615
c61b6d0f
FC
616=item *
617
618The C<parse_fullexpr()>, C<parse_listexpr(), C<parse_termexpr()> and
619C<parse_arithexpr()> functions have been added.
620
621These are for parsing expressions at various precedence levels.
622
3a5c9134
CBW
623=back
624
625=head1 Selected Bug Fixes
626
627XXX Important bug fixes in the core language are summarised here.
628Bug fixes in files in F<ext/> and F<lib/> are best summarised in
629L</Modules and Pragmata>.
630
631[ List each fix as a =item entry ]
632
633=over 4
634
635=item *
636
88e9444c
NC
637C<BEGIN {require 5.12.0}> now behaves as documented, rather than behaving
638identically to C<use 5.12.0;>. Previously, C<require> in a C<BEGIN> block
639was erroneously executing the C<use feature ':5.12.0'> and
640C<use strict; use warnings;> behaviour, which only C<use> was documented to
b373eab8
FC
641provide
642L<[perl #69050]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=69050>.
643
644=item *
645
646C<use 5.42>
647L<[perl #69050]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=69050>,
648C<use 6> and C<no 5> no longer leak memory.
649
650=item *
651
652C<eval "BEGIN{die}"> no longer leaks memory on non-threaded builds.
3a5c9134 653
1428a560
FC
654=item *
655
656PerlIO no longer crashes when called recursively, e.g., from a signal
657handler. Now it just leaks memory
658L<[perl #75556]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75556>.
659
11cd2234
FC
660=item *
661
662Defining a constant with the same name as one of perl's special blocks
663(e.g., INIT) stopped working in 5.12.0, but has now been fixed
664L<[perl #78634]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78634>.
665
e3ef43a5
FC
666=item *
667
668A reference to a literal value used as a hash key (C<$hash{\"foo"}>) used
669to be stringified, even if the hash was tied
670L<[perl #79178]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=79178>.
671
3ad6135d
FC
672=item *
673
3ad6135d
FC
674A closure containing an C<if> statement followed by a constant or variable
675is no longer treated as a constant
676L<[perl #63540]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=63540>.
677
4d4ca6a5
FC
678=item *
679
680Calling a closure prototype (what is passed to an attribute handler for a
7cdf3308
FC
681closure) now results in a "Closure prototype called" error message instead
682of a crash
4d4ca6a5
FC
683L<[perl #68560]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68560>.
684
085d0904
FC
685=item *
686
687A regular expression optimisation would sometimes cause a match with a
688C<{n,m}> quantifier to fail when it should match
689L<[perl #79152]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=79152>.
690
20db7501
KW
691=item *
692
693What has become known as the "Unicode Bug" is resolved in this release.
694Under C<use feature 'unicode_strings'>, the internal storage format of a
695string no longer affects the external semantics. There are two known
696exceptions. User-defined case changing functions, which are planned to
697be deprecated in 5.14, require utf8-encoded strings to function; and the
698character C<LATIN SMALL LETTER SHARP S> in regular expression
699case-insensitive matching has a somewhat different set of bugs depending
700on the internal storage format. Case-insensitive matching of all
701characters that have multi-character matches, as this one does, is
702problematical in Perl.
703L<[perl #58182]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=58182>.
704
70bfa48a
FC
705=item *
706
707Mentioning a read-only lexical variable from the enclosing scope in a
708string C<eval> would cause the variable to become writable
709L<[perl #19135]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=19135>.
710
f853e70a
FC
711=item *
712
713C<state> can now be used with attributes. It used to mean the same thing as
714C<my> if attributes were present
715L<[perl #68658]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68658>.
716
37079308
FC
717=item *
718
719Expressions like C<< @$a > 3 >> no longer cause C<$a> to be mentioned in
720the "Use of uninitialized value in numeric gt" warning when C<$a> is
721undefined (since it is not part of the C<E<gt>> expression, but the operand
722of the C<@>)
723L<[perl #72090]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72090>.
724
4c9d53d5
FC
725=item *
726
727C<require> no longer causes C<caller> to return the wrong file name for
728the scope that called C<require> and other scopes higher up that had the
729same file name
730L<[perl #68712]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68712>.
731
0c7420e7
FC
732=item *
733
7cdf3308 734The ref types in the typemap for XS bindings now support magical variables
0c7420e7
FC
735L<[perl #72684]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72684>.
736
460c4bfb
FC
737=item *
738
739Match variables (e.g., C<$1>) no longer persist between calls to a sort
740subroutine
741L<[perl #76026]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=76026>.
742
26de4ac8
FC
743=item *
744
745The C<B> module was returning B::OPs instead of B::LOGOPs for C<entertry>
746L<[perl #80622]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=80622>.
747
748This was due to a bug in the perl core, not in C<B> itself.
749
ab7fb400
FC
750=item *
751
752Some numeric operators were converting integers to floating point,
753resulting in loss of precision on 64-bit platforms
754L<[perl #77456]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77456>.
755
836d5805
Z
756=item *
757
758The fallback behaviour of overloading on binary operators was asymmetric
759L<[perl #71286]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=71286>.
760
3a5c9134
CBW
761=back
762
763=head1 Known Problems
764
765XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
766tests that had to be C<TODO>ed for the release would be noted here, unless
767they were specific to a particular platform (see below).
768
769This is a list of some significant unfixed bugs, which are regressions
770from either 5.XXX.XXX or 5.XXX.XXX.
771
772[ List each fix as a =item entry ]
773
774=over 4
775
776=item *
777
3ad6135d 778XXX
3a5c9134
CBW
779
780=back
781
782=head1 Obituary
783
784XXX If any significant core contributor has died, we've added a short obituary
785here.
786
787=head1 Acknowledgements
788
789XXX The list of people to thank goes here.
790
791=head1 Reporting Bugs
792
793If you find what you think is a bug, you might check the articles
794recently posted to the comp.lang.perl.misc newsgroup and the perl
795bug database at http://rt.perl.org/perlbug/ . There may also be
796information at http://www.perl.org/ , the Perl Home Page.
797
798If you believe you have an unreported bug, please run the L<perlbug>
799program included with your release. Be sure to trim your bug down
800to a tiny but sufficient test case. Your bug report, along with the
801output of C<perl -V>, will be sent off to perlbug@perl.org to be
802analysed by the Perl porting team.
803
804If the bug you are reporting has security implications, which make it
805inappropriate to send to a publicly archived mailing list, then please send
806it to perl5-security-report@perl.org. This points to a closed subscription
807unarchived mailing list, which includes all the core committers, who be able
808to help assess the impact of issues, figure out a resolution, and help
809co-ordinate the release of patches to mitigate or fix the problem across all
810platforms on which Perl is supported. Please only use this address for
811security issues in the Perl core, not for modules independently
812distributed on CPAN.
813
814=head1 SEE ALSO
815
816The F<Changes> file for an explanation of how to view exhaustive details
817on what changed.
818
819The F<INSTALL> file for how to build Perl.
820
821The F<README> file for general stuff.
822
823The F<Artistic> and F<Copying> files for copyright information.
824
825=cut