This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fix autouse test, failing since commit 52102bb4f9
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
09f4604f
SH
5[ this is a template for a new perldelta file. Any text flagged as XXX needs
6to be processed before release. ]
7
8perldelta - what is new for perl v5.19.5
e128ab2c 9
4eabcf70 10=head1 DESCRIPTION
6db9054f 11
09f4604f 12This document describes differences between the 5.19.4 release and the 5.19.5
e08634c5 13release.
6db9054f 14
09f4604f
SH
15If you are upgrading from an earlier release such as 5.19.3, first read
16L<perl5194delta>, which describes differences between 5.19.3 and 5.19.4.
18ae6bbc 17
09f4604f 18=head1 Notice
18ae6bbc 19
09f4604f 20XXX Any important notices here
f2ab313d 21
09f4604f 22=head1 Core Enhancements
84d7ce3c 23
09f4604f
SH
24XXX New core language features go here. Summarize user-visible core language
25enhancements. Particularly prominent performance optimisations could go
26here, but most should go in the L</Performance Enhancements> section.
f53b57fd 27
09f4604f 28[ List each enhancement as a =head2 entry ]
f53b57fd 29
a9c9e371
KW
30=head2 Unicode 6.3 now supported
31
32Perl now supports and is shipped with Unicode 6.3 (though Perl may be
33recompiled with any previous Unicode release as well). A detailed
34list of Unicode 6.3 changes is at
35L<http://www.unicode.org/versions/Unicode6.3.0/>.
36
12ea29d9
RS
37=head2 Experimental Postfix Dereferencing
38
39When the C<postderef> feature is in effect, the following syntactical
40equivalencies are set up:
41
42 $sref->$*; # same as ${ $sref } # interpolates
43 $aref->@*; # same as @{ $aref } # interpolates
44 $href->%*; # same as %{ $href }
45 $cref->&*; # same as &{ $cref }
b9d083a6 46 $gref->**; # same as *{ $gref }
12ea29d9
RS
47
48 $gref->*{ $slot }; # same as *{ $gref }{ $slot }
49
50 $aref->@[ ... ]; # same as @$aref[ ... ] # interpolates
b9d083a6 51 $href->@{ ... }; # same as @$href{ ... } # interpolates
12ea29d9
RS
52 $aref->%[ ... ]; # same as %$aref[ ... ]
53 $href->%{ ... }; # same as %$href{ ... }
54
55Those marked as interpolating only interpolate if the associated
56C<postderef_qq> feature is also enabled. This feature is B<experimental> and
57will trigger C<experimental::postderef>-category warnings when used, unless
58they are suppressed.
59
60For more information, consult L<the Postfix Dereference Syntax section of
61perlref|perlref/Postfix Dereference Syntax>.
62
09f4604f 63=head1 Security
972690a1 64
09f4604f
SH
65XXX Any security-related notices go here. In particular, any security
66vulnerabilities closed should be noted here rather than in the
67L</Selected Bug Fixes> section.
972690a1 68
09f4604f 69[ List each security issue as a =head2 entry ]
972690a1 70
ba03bc34 71=head1 Incompatible Changes
a3fb66a4 72
09f4604f 73XXX For a release on a stable branch, this section aspires to be:
b29f65fc 74
09f4604f
SH
75 There are no changes intentionally incompatible with 5.XXX.XXX
76 If any exist, they are bugs, and we request that you submit a
77 report. See L</Reporting Bugs> below.
a3fb66a4 78
09f4604f 79[ List each incompatible change as a =head2 entry ]
42bff0d9 80
29b43da2
KW
81=head2 Functions C<PerlIO_vsprintf> and C<PerlIO_sprintf> have been removed
82
83These two functions, undocumented, unused in CPAN, and problematic have
84been removed.
85
09f4604f 86=head1 Deprecations
082a4c42 87
09f4604f 88XXX Any deprecated features, syntax, modules etc. should be listed here.
082a4c42 89
09f4604f 90=head2 Module removals
082a4c42 91
09f4604f 92XXX Remove this section if inapplicable.
00c5962f 93
09f4604f
SH
94The following modules will be removed from the core distribution in a
95future release, and will at that time need to be installed from CPAN.
96Distributions on CPAN which require these modules will need to list them as
97prerequisites.
00c5962f 98
09f4604f
SH
99The core versions of these modules will now issue C<"deprecated">-category
100warnings to alert you to this fact. To silence these deprecation warnings,
101install the modules in question from CPAN.
3b6e1650 102
09f4604f
SH
103Note that these are (with rare exceptions) fine modules that you are encouraged
104to continue to use. Their disinclusion from core primarily hinges on their
105necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
106not usually on concerns over their design.
00c5962f 107
09f4604f 108=over
8c24c1f7 109
09f4604f
SH
110XXX Note that deprecated modules should be listed here even if they are listed
111as an updated module in the L</Modules and Pragmata> section.
479090d3 112
09f4604f 113=back
479090d3 114
09f4604f 115[ List each other deprecation as a =head2 entry ]
479090d3 116
09f4604f 117=head1 Performance Enhancements
8c24c1f7 118
09f4604f
SH
119XXX Changes which enhance performance without changing behaviour go here.
120There may well be none in a stable release.
8c24c1f7 121
09f4604f 122[ List each enhancement as a =item entry ]
d5dcec3a 123
6ffbec2c
Z
124=over 4
125
126=item *
127
86a8e4b1
KW
128Perl has an optimizer for regular expression patterns. It analyzes the
129pattern to find things such as the minimum length a string has to be to
130match, etc. It now better handles code points that are above the Latin1
131range.
d5dcec3a 132
6ffbec2c
Z
133=back
134
09f4604f 135=head1 Modules and Pragmata
5565c738 136
09f4604f
SH
137XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
138go here. If Module::CoreList is updated, generate an initial draft of the
139following sections using F<Porting/corelist-perldelta.pl>, which prints stub
140entries to STDOUT. Results can be pasted in place of the '=head2' entries
141below. A paragraph summary for important changes should then be added by hand.
142In an ideal world, dual-life modules would have a F<Changes> file that could be
143cribbed.
5565c738 144
09f4604f 145[ Within each section, list entries as a =item entry ]
5565c738 146
09f4604f 147=head2 New Modules and Pragmata
8c24c1f7 148
09f4604f 149=over 4
8c24c1f7
SH
150
151=item *
152
09f4604f 153XXX
99366d6d 154
583aa5c2
RS
155=back
156
09f4604f 157=head2 Updated Modules and Pragmata
1944fb52
SH
158
159=over 4
160
161=item *
162
ff4ad1c0
SH
163L<autodie> has been upgraded from version 2.21 to 2.22.
164
165No changes have been made to the installed code other than the version bump to
166keep in sync with the latest CPAN release.
167
168=item *
169
229563a9
SH
170L<CPAN::Meta> has been upgraded from version 2.132661 to 2.132830.
171
172L<CPAN::Meta::Prereqs> now has a C<merged_requirements> method for combining
173requirements across multiple phases and types, and an invalid 'meta-spec' is no
174longer a fatal error.
175
176=item *
177
3d5f905f 178L<File::Temp> has been upgraded from version 0.2302 to 0.2304.
82107948 179
3d5f905f 180Required versions of other modules used are now listed more explicitly.
82107948
SH
181
182=item *
183
52102bb4
SH
184L<List::Util> has been upgraded from version 1.32 to 1.33.
185
186The list reduction functions C<any>, C<all>, C<none> and C<notall> have been
187added.
188
189=item *
190
fa5fbb39
SH
191L<Module::CoreList> has been upgraded from version 2.99 to 3.00.
192
193The list of Perl versions covered has been updated.
1944fb52 194
b7c730ff
SH
195=item *
196
d477c82b
SH
197L<Module::Metadata> has been upgraded from version 1.000018 to 1.000019.
198
199Warnings are now disabled during version evaluation.
200
201=item *
202
b52cde68 203The podlators modules have been upgraded from version 2.5.1 to 2.5.3.
b7c730ff
SH
204
205Numerous updates and bug fixes are incorporated. See the F<Changes> file in
206the CPAN distribution for full details.
207
befb5359
SH
208=item *
209
210L<Test::Harness> has been upgraded from version 3.28 to 3.29.
211
212All modules now use C<our> rather than C<use vars>, have C<use warnings>
213enabled and C<use parent> instead of @ISA.
214
2d8e8368
SH
215=back
216
09f4604f 217=head2 Removed Modules and Pragmata
a71a93a7 218
2d8e8368 219=over 4
a71a93a7
TC
220
221=item *
222
09f4604f 223XXX
a71a93a7 224
1944fb52
SH
225=back
226
09f4604f 227=head1 Documentation
1944fb52 228
09f4604f
SH
229XXX Changes to files in F<pod/> go here. Consider grouping entries by
230file and be sure to link to the appropriate page, e.g. L<perlfunc>.
1944fb52 231
09f4604f 232=head2 New Documentation
1944fb52 233
09f4604f 234XXX Changes which create B<new> files in F<pod/> go here.
195e3ea0 235
09f4604f 236=head3 L<XXX>
a3fb66a4 237
09f4604f 238XXX Description of the purpose of the new file here
a3fb66a4 239
09f4604f 240=head2 Changes to Existing Documentation
a3fb66a4 241
09f4604f
SH
242XXX Changes which significantly change existing files in F<pod/> go here.
243However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
244section.
a3fb66a4 245
09f4604f 246=head3 L<XXX>
2d8e8368
SH
247
248=over 4
249
250=item *
251
09f4604f 252XXX Description of the change here
2d8e8368
SH
253
254=back
255
c0ca71c9
AP
256=head1 Diagnostics
257
258The following additions or changes have been made to diagnostic output,
259including warnings and fatal error messages. For the complete list of
260diagnostic messages, see L<perldiag>.
261
09f4604f
SH
262XXX New or changed warnings emitted by the core's C<C> code go here. Also
263include any changes in L<perldiag> that reconcile it to the C<C> code.
264
c0ca71c9
AP
265=head2 New Diagnostics
266
09f4604f
SH
267XXX Newly added diagnostic messages go under here, separated into New Errors
268and New Warnings
269
12dcbffb 270=head3 New Errors
583aa5c2 271
38663f11 272=over 4
583aa5c2 273
b8a02ff1 274=item *
583aa5c2 275
09f4604f 276XXX L<message|perldiag/"message">
4a0af295 277
b8a02ff1 278=back
583aa5c2 279
12dcbffb 280=head3 New Warnings
96d496e4 281
38663f11 282=over 4
b8a02ff1
DG
283
284=item *
285
09f4604f 286XXX L<message|perldiag/"message">
dcc95d06 287
12dcbffb 288=back
1310e590 289
ba03bc34
SH
290=head2 Changes to Existing Diagnostics
291
09f4604f 292XXX Changes (i.e. rewording) of diagnostic messages go here
c1d900c3 293
09f4604f 294=over 4
e38fc308 295
4a0af295
SH
296=item *
297
09f4604f 298XXX Describe change here
4a0af295 299
ba03bc34 300=back
a34da6c4 301
ba03bc34 302=head1 Utility Changes
a34da6c4 303
09f4604f
SH
304XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
305Most of these are built within the directories F<utils> and F<x2p>.
7f1d4316 306
09f4604f
SH
307[ List utility changes as a =head3 entry for each utility and =item
308entries for each change
309Use L<XXX> with program names to get proper documentation linking. ]
ef947715 310
09f4604f 311=head3 L<XXX>
ef947715 312
12dcbffb 313=over 4
21c01741 314
467582e8
FC
315=item *
316
09f4604f 317XXX
467582e8 318
ba03bc34 319=back
64da853d 320
09f4604f 321=head1 Configuration and Compilation
8c24c1f7 322
09f4604f
SH
323XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
324go here. Any other changes to the Perl build process should be listed here.
325However, any platform-specific changes should be listed in the
326L</Platform Support> section, instead.
8c24c1f7 327
09f4604f 328[ List changes as a =item entry ].
215588ba 329
09f4604f 330=over 4
b895ac6f
SH
331
332=item *
333
09f4604f 334XXX
8c24c1f7 335
09f4604f 336=back
215588ba 337
09f4604f 338=head1 Testing
215588ba 339
09f4604f
SH
340XXX Any significant changes to the testing of a freshly built perl should be
341listed here. Changes which create B<new> files in F<t/> go here as do any
342large changes to the testing harness (e.g. when parallel testing was added).
343Changes to existing files in F<t/> aren't worth summarizing, although the bugs
344that they represent may be covered elsewhere.
b895ac6f 345
09f4604f 346[ List each test improvement as a =item entry ]
b895ac6f 347
09f4604f 348=over 4
8c24c1f7
SH
349
350=item *
351
09f4604f 352XXX
eaed284b 353
ba03bc34 354=back
0335212c 355
ba03bc34 356=head1 Platform Support
0335212c 357
09f4604f 358XXX Any changes to platform support should be listed in the sections below.
019705bc 359
09f4604f
SH
360[ Within the sections, list each platform as a =item entry with specific
361changes as paragraphs below it. ]
362
363=head2 New Platforms
25921d77 364
09f4604f
SH
365XXX List any platforms that this version of perl compiles on, that previous
366versions did not. These will either be enabled by new files in the F<hints/>
367directories, or new subdirectories and F<README> files at the top level of the
368source tree.
84d7ce3c 369
09f4604f 370=over 4
84d7ce3c 371
09f4604f 372=item XXX-some-platform
25921d77 373
09f4604f 374XXX
28ea507e 375
ba03bc34 376=back
28ea507e 377
ba03bc34 378=head2 Discontinued Platforms
28ea507e 379
09f4604f 380XXX List any platforms that this version of perl no longer compiles on.
7b0e9f13 381
ba03bc34 382=over 4
074d6753 383
09f4604f 384=item XXX-some-platform
074d6753 385
09f4604f 386XXX
4e5b563d 387
ba03bc34 388=back
4e5b563d 389
ba03bc34 390=head2 Platform-Specific Notes
ee818f56 391
09f4604f
SH
392XXX List any changes for specific platforms. This could include configuration
393and compilation changes or changes in portability/compatibility. However,
394changes within modules for platforms should generally be listed in the
395L</Modules and Pragmata> section.
ff3b1402 396
09f4604f 397=over 4
efcbb8b2 398
09f4604f 399=item XXX-some-platform
846aaad8 400
09f4604f 401XXX
846aaad8 402
ba03bc34 403=back
efcbb8b2 404
ba03bc34 405=head1 Internal Changes
36813eeb 406
09f4604f
SH
407XXX Changes which affect the interface available to C<XS> code go here. Other
408significant internal changes for future core maintainers should be noted as
409well.
6760cac5 410
09f4604f 411[ List each change as a =item entry ]
671f9ff7 412
09f4604f 413=over 4
6a67a797 414
972690a1
KW
415=item *
416
09f4604f 417XXX
972690a1 418
ba03bc34 419=back
671f9ff7 420
ba03bc34 421=head1 Selected Bug Fixes
912a9a8f 422
09f4604f
SH
423XXX Important bug fixes in the core language are summarized here. Bug fixes in
424files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
85037c5c 425
09f4604f 426[ List each fix as a =item entry ]
1261f9a2 427
09f4604f 428=over 4
1144b44d
FC
429
430=item *
431
09f4604f 432XXX
82d5eae5 433
09f4604f 434=back
cfbe45f9 435
09f4604f 436=head1 Known Problems
853f2d20 437
09f4604f
SH
438XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
439tests that had to be C<TODO>ed for the release would be noted here. Unfixed
440platform specific bugs also go here.
853f2d20 441
09f4604f 442[ List each fix as a =item entry ]
84fd7372 443
09f4604f 444=over 4
84fd7372 445
84d7ce3c
SH
446=item *
447
09f4604f 448XXX
84d7ce3c 449
09f4604f 450=back
176f22e8 451
09f4604f 452=head1 Obituary
176f22e8 453
09f4604f
SH
454XXX If any significant core contributor has died, we've added a short obituary
455here.
18e2e6cd 456
583aa5c2 457=head1 Acknowledgements
a75569c0 458
09f4604f
SH
459XXX Generate this with:
460
461 perl Porting/acknowledgements.pl v5.19.4..HEAD
f5b73711 462
44691e6f
AB
463=head1 Reporting Bugs
464
e08634c5
SH
465If you find what you think is a bug, you might check the articles recently
466posted to the comp.lang.perl.misc newsgroup and the perl bug database at
467http://rt.perl.org/perlbug/ . There may also be information at
468http://www.perl.org/ , the Perl Home Page.
44691e6f 469
e08634c5
SH
470If you believe you have an unreported bug, please run the L<perlbug> program
471included with your release. Be sure to trim your bug down to a tiny but
472sufficient test case. Your bug report, along with the output of C<perl -V>,
473will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
474
475If the bug you are reporting has security implications, which make it
e08634c5
SH
476inappropriate to send to a publicly archived mailing list, then please send it
477to perl5-security-report@perl.org. This points to a closed subscription
478unarchived mailing list, which includes all the core committers, who will be
479able to help assess the impact of issues, figure out a resolution, and help
f9001595 480co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
481platforms on which Perl is supported. Please only use this address for
482security issues in the Perl core, not for modules independently distributed on
483CPAN.
44691e6f
AB
484
485=head1 SEE ALSO
486
e08634c5
SH
487The F<Changes> file for an explanation of how to view exhaustive details on
488what changed.
44691e6f
AB
489
490The F<INSTALL> file for how to build Perl.
491
492The F<README> file for general stuff.
493
494The F<Artistic> and F<Copying> files for copyright information.
495
496=cut