This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Dear CoreList: Please note that 5.12.3 included VMS::Filespec.
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
d2006265
FC
3=for comment
4This has been completed up to 527d644b124fe.
5
44691e6f
AB
6=head1 NAME
7
63ac71b9
RS
8[ this is a template for a new perldelta file. Any text flagged as
9XXX needs to be processed before release. ]
10
f25d4e05 11perldelta - what is new for perl v5.15.3
760696b8 12
5438d4b8 13=head1 DESCRIPTION
5cd408a2 14
f25d4e05
RS
15This document describes differences between the 5.15.2 release and
16the 5.15.3 release.
5cd408a2 17
f25d4e05
RS
18If you are upgrading from an earlier release such as 5.15.1, first read
19L<perl5152delta>, which describes differences between 5.15.1 and
205.15.2.
062678b2 21
63ac71b9 22=head1 Notice
4185c919 23
63ac71b9 24XXX Any important notices here
0afed34d 25
63ac71b9 26=head1 Core Enhancements
0afed34d 27
63ac71b9
RS
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.
0afed34d 31
63ac71b9 32[ List each enhancement as a =head2 entry ]
0afed34d 33
d2006265
FC
34=head2 More CORE subs are callable through references
35
c148612c 36Perl 5.15.2 introduced subroutines in the CORE namespace. Most of them
d2006265
FC
37could only be called as barewords; i.e., they could be aliased at compile
38time and then inlined under new names.
39
2702a50a
FC
40Almost all of these functions can now be called through references and via
41C<&foo()> syntax, bypassing the prototype. See L<CORE> for a list of the
42exceptions.
d2006265 43
63ac71b9 44=head1 Security
0afed34d 45
63ac71b9
RS
46XXX Any security-related notices go here. In particular, any security
47vulnerabilities closed should be noted here rather than in the
48L</Selected Bug Fixes> section.
135c0b08 49
63ac71b9 50[ List each security issue as a =head2 entry ]
135c0b08 51
46661105
CB
52=head2 C<File::Glob::bsd_glob()> memory error with GLOB_ALTDIRFUNC (CVE-2011-2728).
53
54Calling C<File::Glob::bsd_glob> with the unsupported flag GLOB_ALTDIRFUNC would
55cause an access violation / segfault. A Perl program that accepts a flags value from
56an external source could expose itself to denial of service or arbitrary code
57execution attacks. There are no known exploits in the wild. The problem has been
58corrected by explicitly disabling all unsupported flags and setting unused function
59pointers to null. Bug reported by Clément Lecigne.
60
5438d4b8 61=head1 Incompatible Changes
7818c927 62
e1dccc0d
Z
63=head2 $[ has been removed
64
65The array/string index offsetting mechanism, controlled by the C<$[> magic
66variable, has been removed. C<$[> now always reads as zero. Writing a
67zero to it is still permitted, but writing a non-zero value causes an
68exception. Those hopelessly addicted to FORTRAN-style 1-based indexing
69may wish to use the module L<Array::Base>, which provides an independent
70implementation of the index offsetting concept, or L<Classic::Perl>,
71which allows L<Array::Base> to be controlled through assignment to C<$[>.
72
5d1892be 73=head2 User-defined case changing operations.
7b2b001e 74
5d1892be
KW
75This feature was deprecated in Perl 5.14, and has now been removed.
76The CPAN module L<Unicode::Casing> provides better functionality without
77the drawbacks that this feature had, as are detailed in the 5.14
78documentation:
79L<http://perldoc.perl.org/5.14.0/perlunicode.html#User-Defined-Case-Mappings-%28for-serious-hackers-only%29>
bdb9ba77 80
7ec04da5
SM
81=head2 XSUBs are now 'static'
82
83XSUB C functions are now 'static', that is, they are not visible from
404452ea
SM
84outside the compilation unit. Users can use the new C<XS_EXTERNAL(name)>
85and C<XS_INTERNAL(name)> macros to pick the desired linking behaviour.
86The ordinary C<XS(name)> declaration for XSUBs will continue to declare
87non-'static' XSUBs for compatibility, but the XS compiler,
88C<ExtUtils::ParseXS> (C<xsubpp>) will emit 'static' XSUBs by default.
89C<ExtUtils::ParseXS>'s behaviour can be reconfigured from XS using the
7ec04da5
SM
90C<EXPORT_XSUB_SYMBOLS> keyword, see L<perlxs> for details.
91
63ac71b9 92=head1 Deprecations
760696b8 93
63ac71b9
RS
94XXX Any deprecated features, syntax, modules etc. should be listed here.
95In particular, deprecated modules should be listed here even if they are
96listed as an updated module in the L</Modules and Pragmata> section.
760696b8 97
63ac71b9 98[ List each deprecation as a =head2 entry ]
760696b8 99
63ac71b9 100=head1 Performance Enhancements
115ff745 101
63ac71b9
RS
102XXX Changes which enhance performance without changing behaviour go here. There
103may well be none in a stable release.
115ff745 104
63ac71b9 105[ List each enhancement as a =item entry ]
115ff745 106
63ac71b9 107=over 4
4ea805df
CBW
108
109=item *
110
63ac71b9 111XXX
1ba7a2fb 112
63ac71b9 113=back
730e5b5b 114
63ac71b9 115=head1 Modules and Pragmata
730e5b5b 116
63ac71b9
RS
117XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
118go here. If Module::CoreList is updated, generate an initial draft of the
119following sections using F<Porting/corelist-perldelta.pl>, which prints stub
120entries to STDOUT. Results can be pasted in place of the '=head2' entries
121below. A paragraph summary for important changes should then be added by hand.
122In an ideal world, dual-life modules would have a F<Changes> file that could be
123cribbed.
730e5b5b 124
63ac71b9 125[ Within each section, list entries as a =item entry ]
730e5b5b 126
63ac71b9 127=head2 New Modules and Pragmata
a30cae0b 128
63ac71b9 129=over 4
a30cae0b
CBW
130
131=item *
132
63ac71b9 133XXX
bbc28bfc 134
63ac71b9 135=back
bbc28bfc 136
63ac71b9 137=head2 Updated Modules and Pragmata
e46d9735 138
63ac71b9 139=over 4
e46d9735
CBW
140
141=item *
142
5f8b5b70
NC
143L<AnyDBM_File> has been upgraded from version 1.00 to version 1.01.
144
145This is only a minor documentation update.
146
147=item *
148
43c6b706 149L<Archive::Extract> has been upgraded from version 0.52 to version 0.56.
4afdee4c
CBW
150
151Resolved an issue where C<unzip> executable was present in C<PATH> on MSWin32
57126352 152
d93f0209
FC
153=item *
154
93e94d8a
CBW
155L<Archive::Tar> has been upgraded from version 1.76 to version 1.78.
156
157=item *
158
53b10071
CBW
159L<CPAN::Meta::YAML> has been upgraded from version 0.003 to version 0.004.
160
161=item *
162
755f12e5
NC
163L<CPANPLUS> has been upgraded from version 0.9109 to version 0.9110.
164
165=item *
166
50b3d220
CBW
167L<CPANPLUS::Dist::Build> has been upgraded from version 0.56 to version 0.58.
168
169=item *
170
49ef49fe
CBW
171L<Devel::PPPort> has been upgraded from version 3.19 to version 3.20.
172
173=item *
174
43c6b706 175L<diagnostics> has been upgraded from version 1.24 to version 1.25.
d2006265
FC
176
177It now strips out C<SZ<><...>> formatting codes before displaying
178descriptions [perl #94488].
179
180=item *
181
4bbdbd51
NC
182L<Data::Dumper> has been upgraded from version 2.133 to version 2.134.
183
184The XS code for sorting hash keys has been simplified slightly.
185
186=item *
187
f87cd9fa
CBW
188L<Exporter> has been upgraded from version 5.64_03 to version 5.65.
189
190=item *
191
404452ea 192L<ExtUtils::ParseXS> has been upgraded from version 3.03_01 to version 3.04_04.
98e61122
NC
193
194The handling of C<dVAR> in the generated XS code has been simplified.
195
404452ea
SM
196The previously broken "INCLUDE: ... |" functionality has been repaired
197(CPAN RT #70213).
198
199A compatibility-workaround for modules that cannot
200live with the new XSUB staticness (see I<XSUBs are now static> above)
201has been implemented with the C<PERL_EUPXS_ALWAYS_EXPORT> and
202C<PERL_EUPXS_NEVER_EXPORT> preprocessor defines.
203
204The compiler warnings when -except option is used with F<xsubpp>
205have been fixed.
206
207The XSUB.h changes to make C<XS(name)> use C<XS_INTERNAL(name)>
208by default (which were in the 5.15.2 dev release of perl)
209have been reverted since too many CPAN modules expect to
210be able to refer to XSUBs declared with C<XS(name)>.
211Instead, C<ExtUtils::ParseXS> will define a copy of the
212C<XS_INTERNAL>/C<XS_EXTERNAL> macros as necessary going back to
213perl 5.10.0. By default, ExtUtils::ParseXS will use
214C<XS_INTERNAL(name)> instead of C<XS(name)>.
215
216Fixed regression for input-typemap override in XS argument
217list (CPAN RT #70448).
218
219C<ExtUtils::Typemaps> now properly strips trailing semicolons
220from inputmaps. These could previously trigger warnings (errors
221in strict C89 compilers) due to additional semicolons being
222interpreted as empty statements.
223
224Now detects and throws a warning if there is a C<CODE> section using
225C<RETVAL>, but no C<OUTPUT> section (CPAN RT #69536).
226
98e61122
NC
227=item *
228
43c6b706
CBW
229L<Locale::Codes> has been upgraded from version 3.17 to version 3.18.
230
231The CIA world added non-standard values, so this is no longer used as a source
232of data.
233
234=item *
235
46661105
CB
236L<File::Glob> has been upgraded from version 1.12 to version 1.13.
237
238See L</Security>.
239
240=item *
241
0b2be169
FC
242L<Filter::Simple> has been upgrade from version 0.87 to 0.88.
243
244It is now better at detecting the end of a pod section. It always checks
245for =cut, instead of checking for =end (if the pod begins with =begin) or
246the end of the paragraph (if the pod begins with =for) [perl #92436].
247
248=item *
249
43c6b706 250L<Math::BigRat> has been upgraded from version 0.2602 to version 0.2603.
d93f0209
FC
251
252C<int()> on a Math::BigRat object containing -1/2 now creates a
253Math::BigInt containing 0, rather than -0. L<Math::BigInt> does not even
254support negative zero, so the resulting object was actually malformed
255[perl #95530].
256
60527824
FR
257=item *
258
d6ee8587 259L<Module::Metadata> has been upgraded from version 1.000005_01 to version 1.000007.
d39de893
CBW
260
261=item *
262
39afdc5a
CBW
263L<Module::Load::Conditional> has been upgraded from version 0.44 to version 0.46.
264
265=item *
266
666c7ca6
NC
267L<ODBM_File> has been upgraded from version 1.11 to version 1.12.
268
269This is only a minor refactoring of the XS code to bring it closer to the
270other C<?DBM_File> modules.
271
272=item *
273
c56bc1f6 274L<perlfaq> has been upgraded from version 5.01500302 to version 5.0150034.
a9feb6cb
CBW
275
276=item *
277
43c6b706 278L<Pod::Simple> has been upgraded from version 3.18 to version 3.19.
60527824 279
7ac26854
NC
280=item *
281
282L<POSIX> has been upgraded from version 1.24 to version 1.25.
283
284L<POSIX> no longer uses L<AutoLoader>. Any code which was relying on this
285implementation detail was buggy, and may fail as a result of this change.
286The module's Perl code has been considerably simplified, roughly halving
29d1ad9e
NC
287the number of lines, with no change in functionality. The XS code has
288been refactored to reduce the size of the shared object by about 12%,
289with no change in functionality. More POSIX functions now have tests.
7ac26854 290
518487b2
NC
291C<POSIX::Termios::setattr> now defaults the third argument to C<TCSANOW>,
292instead of 0. On most platforms C<TCSANOW> is defined as 0, but on some
2930 is not a valid parameter, which caused a call with defaults to fail.
294
daef35db
NC
295=item *
296
b420b12a
NC
297L<Storable> has been upgraded from version 2.31 to version 2.32.
298
299XS code which duplicates functionality of F<ppport.h> has been removed.
300Tests should now pass on older versions of L<Test::More>. Storable now
301builds and passes tests back to perl 5.004.
302
303=item *
304
daef35db
NC
305L<XSLoader> has been upgraded from version 0.15 to version 0.16.
306
63ac71b9 307=back
259925f6 308
63ac71b9 309=head2 Removed Modules and Pragmata
6252d2e2 310
63ac71b9 311=over 4
9840cdee
CBW
312
313=item *
314
63ac71b9 315XXX
54e02335 316
63ac71b9 317=back
310913d4 318
63ac71b9 319=head1 Documentation
310913d4 320
63ac71b9
RS
321XXX Changes to files in F<pod/> go here. Consider grouping entries by
322file and be sure to link to the appropriate page, e.g. L<perlfunc>.
7b2b001e 323
63ac71b9 324=head2 New Documentation
7b2b001e 325
b89e9b0d 326=head3 L<perlootut>
7b2b001e 327
b89e9b0d
DR
328This a new OO tutorial. It focuses on basic OO concepts, and then recommends
329that readers choose an OO framework from CPAN.
2df9265e 330
63ac71b9 331=head2 Changes to Existing Documentation
2df9265e 332
b89e9b0d 333=head3 L<perlobj>
dc80b0c6 334
63ac71b9 335=over 4
83b32788
CBW
336
337=item *
338
b89e9b0d
DR
339This document has been rewritten from scratch, and its coverage of various OO
340concepts has been expanded.
4eb81ef2 341
63ac71b9 342=back
4eb81ef2 343
b89e9b0d
DR
344=head2 Removed Documentation
345
346=head3 Old OO Documentation
347
348All the old OO tutorials, perltoot, perltooc, and perlboot, have been
349removed. The perlbot (bag of object tricks) document has been removed as well.
350
63ac71b9 351=head1 Diagnostics
4eb81ef2 352
63ac71b9
RS
353The following additions or changes have been made to diagnostic output,
354including warnings and fatal error messages. For the complete list of
355diagnostic messages, see L<perldiag>.
82eefd8a 356
63ac71b9
RS
357XXX New or changed warnings emitted by the core's C<C> code go here. Also
358include any changes in L<perldiag> that reconcile it to the C<C> code.
82eefd8a 359
63ac71b9
RS
360[ Within each section, list entries as a =item entry that links to perldiag,
361 e.g.
6252d2e2 362
63ac71b9 363 =item *
6252d2e2 364
63ac71b9
RS
365 L<Invalid version object|perldiag/"Invalid version object">
366]
5213914c 367
63ac71b9 368=head2 New Diagnostics
5213914c 369
63ac71b9 370XXX Newly added diagnostic messages go here
5213914c 371
63ac71b9 372=head3 New Errors
17609435 373
63ac71b9 374=over 4
17609435 375
69f26f52
CBW
376=item *
377
63ac71b9 378XXX L<message|perldiag/"message">
69f26f52 379
5438d4b8 380=back
77ccfaeb 381
63ac71b9 382=head3 New Warnings
c69a30ec 383
63ac71b9
RS
384=over 4
385
386=item *
7c420290 387
63ac71b9 388XXX L<message|perldiag/"message">
7818c927 389
63ac71b9 390=back
7818c927 391
63ac71b9 392=head2 Changes to Existing Diagnostics
dd413713 393
63ac71b9 394XXX Changes (i.e. rewording) of diagnostic messages go here
7818c927 395
5438d4b8 396=over 4
7818c927
FC
397
398=item *
399
63ac71b9 400XXX Describe change here
5aeca1f7 401
5438d4b8 402=back
5aeca1f7 403
63ac71b9 404=head1 Utility Changes
0cb4637e 405
63ac71b9
RS
406XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
407here. Most of these are built within the directories F<utils> and F<x2p>.
0cb4637e 408
63ac71b9
RS
409[ List utility changes as a =head3 entry for each utility and =item
410entries for each change
411Use L<XXX> with program names to get proper documentation linking. ]
4abaf918 412
63ac71b9 413=head3 L<XXX>
4abaf918 414
5438d4b8 415=over 4
4abaf918
Z
416
417=item *
418
63ac71b9 419XXX
8b00e523 420
e8e35311
FC
421=back
422
63ac71b9 423=head1 Configuration and Compilation
b908e258 424
63ac71b9
RS
425XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
426go here. Any other changes to the Perl build process should be listed here.
427However, any platform-specific changes should be listed in the
428L</Platform Support> section, instead.
b908e258 429
63ac71b9 430[ List changes as a =item entry ].
b908e258 431
63ac71b9 432=over 4
71449ad0
DG
433
434=item *
435
5ecd28b8
NC
436The file F<global.sym> is no longer needed, and has been removed. It
437contained a list of all exported functions, one of the files generated by
438F<regen/embed.pl> from data in F<embed.fnc> and F<regen/opcodes>. The code
439has been refactored so that the only user of F<global.sym>, F<makedef.pl>,
440now reads F<embed.fnc> and F<regen/opcodes> directly, removing the need to
441store the list of exported functions in an intermediate file.
442
443As F<global.sym> was never installed, this change will not be visible
444outside the build process.
b908e258 445
6693394d
FC
446=back
447
63ac71b9 448=head1 Testing
bbc28bfc 449
63ac71b9
RS
450XXX Any significant changes to the testing of a freshly built perl should be
451listed here. Changes which create B<new> files in F<t/> go here as do any
452large changes to the testing harness (e.g. when parallel testing was added).
453Changes to existing files in F<t/> aren't worth summarising, although the bugs
454that they represent may be covered elsewhere.
bbc28bfc 455
63ac71b9 456[ List each test improvement as a =item entry ]
b7188eb5 457
34dc2ec0 458=over 4
42a91c97 459
6693394d 460=item *
42a91c97 461
c752c500
FC
462F<t/porting/globvar.t> has been added, to run a sanity check on F<globar.sym>.
463F<globar.sym> is not needed on most *nix platforms, but is for Win32, hence
464previously was it was possible to inadvertently commit changes that worked
465perfectly locally, but broke the build on Win32.
310913d4 466
d2006265
FC
467=item *
468
469F<t/op/unlink.t> has been added to test the C<unlink> function.
470
34dc2ec0 471=back
42a91c97 472
0890f1a5 473=head1 Platform Support
975dff8c 474
63ac71b9 475XXX Any changes to platform support should be listed in the sections below.
9cfd094e 476
63ac71b9
RS
477[ Within the sections, list each platform as a =item entry with specific
478changes as paragraphs below it. ]
9cfd094e 479
63ac71b9 480=head2 New Platforms
9cfd094e 481
63ac71b9
RS
482XXX List any platforms that this version of perl compiles on, that previous
483versions did not. These will either be enabled by new files in the F<hints/>
484directories, or new subdirectories and F<README> files at the top level of the
485source tree.
7c4c6e7c 486
5438d4b8 487=over 4
95f7e41f 488
63ac71b9 489=item XXX-some-platform
95f7e41f 490
63ac71b9 491XXX
df5b44bd 492
63ac71b9 493=back
310913d4 494
63ac71b9 495=head2 Discontinued Platforms
310913d4 496
63ac71b9 497XXX List any platforms that this version of perl no longer compiles on.
310913d4 498
63ac71b9
RS
499=over 4
500
501=item XXX-some-platform
502
503XXX
310913d4 504
5438d4b8 505=back
df5b44bd 506
63ac71b9
RS
507=head2 Platform-Specific Notes
508
509XXX List any changes for specific platforms. This could include configuration
510and compilation changes or changes in portability/compatibility. However,
511changes within modules for platforms should generally be listed in the
512L</Modules and Pragmata> section.
e22e289d 513
5438d4b8 514=over 4
7818c927 515
63ac71b9 516=item XXX-some-platform
7818c927 517
63ac71b9 518XXX
f79aa60b 519
63ac71b9 520=back
7818c927 521
63ac71b9 522=head1 Internal Changes
3fdd840f 523
63ac71b9
RS
524XXX Changes which affect the interface available to C<XS> code go here.
525Other significant internal changes for future core maintainers should
526be noted as well.
3fdd840f 527
63ac71b9 528[ List each change as a =item entry ]
7ffa7e75 529
63ac71b9 530=over 4
7ffa7e75 531
862b2c43
FC
532=item *
533
63ac71b9 534XXX
862b2c43 535
63ac71b9 536=back
c973bd4f 537
63ac71b9 538=head1 Selected Bug Fixes
a6cefd81 539
63ac71b9
RS
540XXX Important bug fixes in the core language are summarised here.
541Bug fixes in files in F<ext/> and F<lib/> are best summarised in
542L</Modules and Pragmata>.
a6cefd81 543
63ac71b9 544[ List each fix as a =item entry ]
c4499eff 545
63ac71b9 546=over 4
c4499eff 547
bbc28bfc
FC
548=item *
549
d2006265
FC
550In Perl 5.15.0 C<defined(${'$'})> stopped returning true if the C<$$>
551variable had not been used yet. This has been fixed.
552
553=item *
554
b4155db2
FC
555C<defined(${"..."})>, C<defined(*{"..."})>, etc., used to
556return true for most, but not all built-in variables, if
557they had not been used yet. Many times that new built-in
558variables were added in past versions, this construct was
23496c6e 559not taken into account, so this affected C<${^GLOBAL_PHASE}> and
b4155db2
FC
560C<${^UTF8CACHE}>, among others. It also used to return false if the
561package name was given as well (C<${"::!"}>) and for subroutines in the
562CORE package [perl #97978] [perl #97492] [perl #97484].
23496c6e
FC
563
564=item *
565
d2006265
FC
566Perl 5.10.0 introduced a similar bug: C<defined(*{"foo"})> where "foo"
567represents the name of a built-in global variable used to return false if
568the variable had never been used before, but only on the I<first> call.
569This, too, has been fixed.
570
571=item *
572
573Various functions that take a filehandle argument in rvalue context
574(C<close>, C<readline>, etc.) used to call C<FETCH> multiple times, if it
575was a tied variable, and warn twice, if it was C<undef> [perl #97482].
576
577=item *
578
579C<close> and similar filehandle functions, when called on built-in global
580variables (like C<$+>), used to die if the variable happened to hold the
581undefined value, instead of producing the usual "Use of uninitialized
582value" warning.
583
584=item *
585
586When autovivified file handles were introduced in Perl 5.6.0, C<readline>
587was inadvertently made to autovivify when called as C<readline($foo)> (but
588not as C<< <$foo> >>). It has now been fixed never to autovivify.
589
590=item *
591
592C<defined ${ $tied_variable }> used to call C<FETCH> multiple times, but
593now calls it just once.
594
595=item *
596
597Some cases of dereferencing a complex expression, such as
598C<${ (), $tied } = 1>, used to call C<FETCH> multiple times, but now call
599it once.
600
601=item *
602
603For a tied variable returning a package name, C<< $tied->method >> used to
604call C<FETCH> multiple times (even up to six!), and sometimes would
605fail to call the method, due to memory corruption.
606
607=item *
608
609Calling an undefined anonymous subroutine (e.g., what $x holds after
610C<undef &{$x = sub{}}>) used to cause a "Not a CODE reference" error, which
611has been corrected to "Undefined subroutine called" [perl #71154].
bbc28bfc 612
e1a80902
FC
613=item *
614
615Causing C<@DB::args> to be freed between uses of C<caller> no longer
616results in a crash [perl #93320].
617
fdd313f4
FC
618=item *
619
620Since 5.6.0, C<*{ ... }> has been inconsistent in how it treats undefined
621values. It would die in strict mode or lvalue context for most undefined
622values, but would be treated as the empty string (with a warning) for the
623specific scalar return by C<undef()> (C<&PL_sv_undef> internally). This
624has been corrected. C<undef()> is now treated like other undefined
625scalars, as in Perl 5.005.
626
01433346
FC
627=item *
628
629It used to be possible to free the typeglob of a localised array or hash
630(e.g., C<local @{"x"}; delete $::{x}>), resulting in a crash on scope exit.
631
88d69532
FC
632=item *
633
634C<setpgrp($foo)> used to be equivalent to C<($foo, setpgrp)>, because
635C<setpgrp> was ignoring its argument if there was just one. Now it is
636equivalent to C<setpgrp($foo,0)>.
637
33d4ef81
FC
638=item *
639
8d4393cf
FC
640Assignments like C<*$tied = \&{"..."}> and C<*glob = $tied> now call FETCH
641only once.
33d4ef81 642
93564729
FC
643=item *
644
645C<chdir>, C<chmod> and C<chown> now always call FETCH if passed a tied
646variable as the last argument. They used to ignore tiedness if the last
647thing return from or assigned to the variable was a typeglob or reference
648to a typeglob.
649
63ac71b9 650=back
bbc28bfc 651
63ac71b9 652=head1 Known Problems
bbc28bfc 653
63ac71b9
RS
654XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
655tests that had to be C<TODO>ed for the release would be noted here, unless
656they were specific to a particular platform (see below).
bbc28bfc 657
63ac71b9
RS
658This is a list of some significant unfixed bugs, which are regressions
659from either 5.XXX.XXX or 5.XXX.XXX.
bbc28bfc 660
63ac71b9 661[ List each fix as a =item entry ]
bbc28bfc 662
63ac71b9 663=over 4
bbc28bfc 664
bad4ae38
FC
665=item *
666
63ac71b9 667XXX
bad4ae38 668
63ac71b9 669=back
ab6ce8ea 670
63ac71b9 671=head1 Obituary
ab6ce8ea 672
63ac71b9
RS
673XXX If any significant core contributor has died, we've added a short obituary
674here.
c62f68e3 675
44691e6f
AB
676=head1 Acknowledgements
677
63ac71b9
RS
678XXX Generate this with:
679
680 perl Porting/acknowledgements.pl v5.15.2..HEAD
29cf780c 681
44691e6f
AB
682=head1 Reporting Bugs
683
684If you find what you think is a bug, you might check the articles
34dc2ec0 685recently posted to the comp.lang.perl.misc newsgroup and the perl
44691e6f
AB
686bug database at http://rt.perl.org/perlbug/ . There may also be
687information at http://www.perl.org/ , the Perl Home Page.
688
689If you believe you have an unreported bug, please run the L<perlbug>
690program included with your release. Be sure to trim your bug down
691to a tiny but sufficient test case. Your bug report, along with the
692output of C<perl -V>, will be sent off to perlbug@perl.org to be
693analysed by the Perl porting team.
694
695If the bug you are reporting has security implications, which make it
696inappropriate to send to a publicly archived mailing list, then please send
34dc2ec0 697it to perl5-security-report@perl.org. This points to a closed subscription
b4707b2a
FC
698unarchived mailing list, which includes
699all the core committers, who will be able
44691e6f
AB
700to help assess the impact of issues, figure out a resolution, and help
701co-ordinate the release of patches to mitigate or fix the problem across all
34dc2ec0
DM
702platforms on which Perl is supported. Please only use this address for
703security issues in the Perl core, not for modules independently
44691e6f
AB
704distributed on CPAN.
705
706=head1 SEE ALSO
707
708The F<Changes> file for an explanation of how to view exhaustive details
709on what changed.
710
711The F<INSTALL> file for how to build Perl.
712
713The F<README> file for general stuff.
714
715The F<Artistic> and F<Copying> files for copyright information.
716
717=cut