This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #113932] UNIVERSAL::can with globs and globrefs
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
38663f11
DG
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.2
e128ab2c 9
4eabcf70 10=head1 DESCRIPTION
6db9054f 11
38663f11 12This document describes differences between the 5.19.1 release and the 5.19.2
e08634c5 13release.
6db9054f 14
38663f11
DG
15If you are upgrading from an earlier release such as 5.19.0, first read
16L<perl5191delta>, which describes differences between 5.19.0 and 5.19.1.
42bff0d9 17
38663f11 18=head1 Notice
42bff0d9 19
38663f11 20XXX Any important notices here
d69d1f92 21
38663f11 22=head1 Core Enhancements
287d2d21 23
38663f11
DG
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.
287d2d21 27
38663f11 28[ List each enhancement as a =head2 entry ]
287d2d21 29
38663f11 30=head1 Security
42bff0d9 31
38663f11
DG
32XXX Any security-related notices go here. In particular, any security
33vulnerabilities closed should be noted here rather than in the
34L</Selected Bug Fixes> section.
42bff0d9 35
38663f11 36[ List each security issue as a =head2 entry ]
42bff0d9 37
38663f11 38=head1 Incompatible Changes
42bff0d9 39
38663f11 40XXX For a release on a stable branch, this section aspires to be:
42bff0d9 41
38663f11
DG
42 There are no changes intentionally incompatible with 5.XXX.XXX
43 If any exist, they are bugs, and we request that you submit a
44 report. See L</Reporting Bugs> below.
42bff0d9 45
38663f11 46[ List each incompatible change as a =head2 entry ]
42bff0d9 47
38663f11 48=head1 Deprecations
42bff0d9 49
38663f11 50XXX Any deprecated features, syntax, modules etc. should be listed here.
42bff0d9 51
38663f11 52=head2 Module removals
42bff0d9 53
38663f11 54XXX Remove this section if inapplicable.
42bff0d9 55
38663f11
DG
56The following modules will be removed from the core distribution in a future
57release, and will at that time need to be installed from CPAN. Distributions
58on CPAN which require these modules will need to list them as prerequisites.
42bff0d9 59
38663f11
DG
60The core versions of these modules will now issue C<"deprecated">-category
61warnings to alert you to this fact. To silence these deprecation warnings,
62install the modules in question from CPAN.
42bff0d9 63
38663f11
DG
64Note that these are (with rare exceptions) fine modules that you are encouraged
65to continue to use. Their disinclusion from core primarily hinges on their
66necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
67not usually on concerns over their design.
42bff0d9 68
38663f11 69=over
42bff0d9 70
38663f11
DG
71XXX Note that deprecated modules should be listed here even if they are listed
72as an updated module in the L</Modules and Pragmata> section.
42bff0d9 73
38663f11 74=back
42bff0d9 75
38663f11 76[ List each other deprecation as a =head2 entry ]
42bff0d9 77
38663f11 78=head1 Performance Enhancements
42bff0d9 79
38663f11
DG
80XXX Changes which enhance performance without changing behaviour go here.
81There may well be none in a stable release.
42bff0d9 82
38663f11 83[ List each enhancement as a =item entry ]
42bff0d9 84
38663f11 85=over 4
42bff0d9
DG
86
87=item *
88
38663f11 89XXX
42bff0d9 90
38663f11 91=back
42bff0d9 92
38663f11 93=head1 Modules and Pragmata
42bff0d9 94
38663f11
DG
95XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
96go here. If Module::CoreList is updated, generate an initial draft of the
97following sections using F<Porting/corelist-perldelta.pl>, which prints stub
98entries to STDOUT. Results can be pasted in place of the '=head2' entries
99below. A paragraph summary for important changes should then be added by hand.
100In an ideal world, dual-life modules would have a F<Changes> file that could be
101cribbed.
42bff0d9 102
38663f11 103[ Within each section, list entries as a =item entry ]
42bff0d9 104
38663f11 105=head2 New Modules and Pragmata
42bff0d9 106
38663f11 107=over 4
42bff0d9
DG
108
109=item *
110
38663f11 111XXX
42bff0d9 112
38663f11 113=back
42bff0d9 114
38663f11 115=head2 Updated Modules and Pragmata
42bff0d9 116
38663f11 117=over 4
42bff0d9
DG
118
119=item *
120
70ba8092
TC
121L<POSIX> has been upgraded from version 1.33 to 1.34.
122
123C<POSIX::AUTOLOAD> will no longer infinitely recurse if the shared
124object fails to load.
42bff0d9 125
38663f11 126=back
42bff0d9 127
38663f11 128=head2 Removed Modules and Pragmata
42bff0d9 129
38663f11 130=over 4
42bff0d9
DG
131
132=item *
133
38663f11 134XXX
42bff0d9 135
38663f11 136=back
42bff0d9 137
38663f11 138=head1 Documentation
42bff0d9 139
38663f11
DG
140XXX Changes to files in F<pod/> go here. Consider grouping entries by
141file and be sure to link to the appropriate page, e.g. L<perlfunc>.
42bff0d9 142
38663f11 143=head2 New Documentation
42bff0d9 144
38663f11 145XXX Changes which create B<new> files in F<pod/> go here.
42bff0d9 146
38663f11 147=head3 L<XXX>
42bff0d9 148
38663f11 149XXX Description of the purpose of the new file here
42bff0d9 150
38663f11 151=head2 Changes to Existing Documentation
42bff0d9 152
38663f11
DG
153XXX Changes which significantly change existing files in F<pod/> go here.
154However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
155section.
dbd04185 156
41f6d116 157=head3 L<perlexperiment>
dbd04185 158
38663f11 159=over 4
583aa5c2 160
1fdd5e53
KW
161=item *
162
41f6d116
RS
163Code in regular expressions, regular expression backtracking verbs,
164and lvalue subroutines are no longer listed as experimental. (This
165also affects L<perlre> and L<perlsub>.)
42bff0d9 166
38663f11 167=back
42bff0d9 168
38663f11 169=head1 Diagnostics
42bff0d9 170
38663f11
DG
171The following additions or changes have been made to diagnostic output,
172including warnings and fatal error messages. For the complete list of
173diagnostic messages, see L<perldiag>.
42bff0d9 174
38663f11
DG
175XXX New or changed warnings emitted by the core's C<C> code go here. Also
176include any changes in L<perldiag> that reconcile it to the C<C> code.
42bff0d9 177
38663f11 178=head2 New Diagnostics
42bff0d9 179
38663f11
DG
180XXX Newly added diagnostic messages go under here, separated into New Errors
181and New Warnings
42bff0d9 182
38663f11 183=head3 New Errors
42bff0d9 184
38663f11 185=over 4
42bff0d9
DG
186
187=item *
188
38663f11 189XXX L<message|perldiag/"message">
1fdd5e53 190
583aa5c2
RS
191=back
192
38663f11 193=head3 New Warnings
583aa5c2 194
38663f11 195=over 4
583aa5c2 196
b8a02ff1 197=item *
583aa5c2 198
38663f11 199XXX L<message|perldiag/"message">
583aa5c2 200
b8a02ff1 201=back
583aa5c2 202
38663f11 203=head2 Changes to Existing Diagnostics
96d496e4 204
38663f11 205XXX Changes (i.e. rewording) of diagnostic messages go here
b8a02ff1 206
38663f11 207=over 4
b8a02ff1
DG
208
209=item *
210
38663f11 211XXX Describe change here
96d496e4
RS
212
213=back
214
38663f11 215=head1 Utility Changes
d7bfa554 216
38663f11
DG
217XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
218Most of these are built within the directories F<utils> and F<x2p>.
d7bfa554 219
38663f11
DG
220[ List utility changes as a =head3 entry for each utility and =item
221entries for each change
222Use L<XXX> with program names to get proper documentation linking. ]
d7bfa554 223
38663f11 224=head3 L<XXX>
583aa5c2
RS
225
226=over 4
1993add8 227
e9912eaa 228=item *
ec985017 229
38663f11 230XXX
583aa5c2
RS
231
232=back
233
38663f11 234=head1 Configuration and Compilation
583aa5c2 235
38663f11
DG
236XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
237go here. Any other changes to the Perl build process should be listed here.
238However, any platform-specific changes should be listed in the
239L</Platform Support> section, instead.
583aa5c2 240
38663f11 241[ List changes as a =item entry ].
583aa5c2
RS
242
243=over 4
71e6aba6 244
d5f315e8
KW
245=item *
246
38663f11 247XXX
d5f315e8 248
337fb649 249=back
2426c394 250
38663f11 251=head1 Testing
357b01df 252
38663f11
DG
253XXX Any significant changes to the testing of a freshly built perl should be
254listed here. Changes which create B<new> files in F<t/> go here as do any
255large changes to the testing harness (e.g. when parallel testing was added).
256Changes to existing files in F<t/> aren't worth summarizing, although the bugs
257that they represent may be covered elsewhere.
4724da03 258
38663f11 259[ List each test improvement as a =item entry ]
357b01df 260
583aa5c2 261=over 4
357b01df 262
583aa5c2 263=item *
357b01df 264
38663f11 265XXX
4724da03 266
38663f11 267=back
4724da03 268
38663f11 269=head1 Platform Support
4724da03 270
38663f11 271XXX Any changes to platform support should be listed in the sections below.
4724da03 272
38663f11
DG
273[ Within the sections, list each platform as a =item entry with specific
274changes as paragraphs below it. ]
4724da03 275
38663f11 276=head2 New Platforms
4724da03 277
38663f11
DG
278XXX List any platforms that this version of perl compiles on, that previous
279versions did not. These will either be enabled by new files in the F<hints/>
280directories, or new subdirectories and F<README> files at the top level of the
281source tree.
4724da03 282
38663f11 283=over 4
357b01df 284
38663f11 285=item XXX-some-platform
583aa5c2 286
38663f11 287XXX
4724da03 288
38663f11 289=back
583aa5c2 290
583aa5c2
RS
291=head2 Discontinued Platforms
292
38663f11
DG
293XXX List any platforms that this version of perl no longer compiles on.
294
583aa5c2
RS
295=over 4
296
38663f11 297=item XXX-some-platform
d7bfa554 298
38663f11 299XXX
d7bfa554 300
583aa5c2
RS
301=back
302
303=head2 Platform-Specific Notes
304
38663f11
DG
305XXX List any changes for specific platforms. This could include configuration
306and compilation changes or changes in portability/compatibility. However,
307changes within modules for platforms should generally be listed in the
308L</Modules and Pragmata> section.
583aa5c2 309
38663f11 310=over 4
a34da6c4 311
3a0b4597 312=item MidnightBSD
a34da6c4 313
3a0b4597
CBW
314C<objformat> was removed from version 0.4-RELEASE of MidnightBSD and had been
315deprecated on earlier versions. This caused the build environment to be
316erroneously configured for C<a.out> rather than C<elf>. This has been now
317been corrected.
a34da6c4 318
583aa5c2
RS
319=back
320
321=head1 Internal Changes
322
38663f11
DG
323XXX Changes which affect the interface available to C<XS> code go here. Other
324significant internal changes for future core maintainers should be noted as
325well.
583aa5c2 326
38663f11 327[ List each change as a =item entry ]
583aa5c2 328
38663f11 329=over 4
1de7c8e6 330
d7bfa554
DG
331=item *
332
eca6ff41
NC
333The Makefile shortcut targets for many rarely (or never) used testing and
334profiling targets have been removed, or merged into the only other Makefile
335target that uses them. Specifically, these targets are gone, along with
336documentation that referenced them or explained how to use them:
337
af94b52d
KW
338 check.third check.utf16 check.utf8 coretest minitest.prep
339 minitest.utf16 perl.config.dashg perl.config.dashpg
340 perl.config.gcov perl.gcov perl.gprof perl.gprof.config perl.pixie
341 perl.pixie.atom perl.pixie.config perl.pixie.irix perl.third
342 perl.third.config pureperl purecovperl quantperl test.deparse
343 test.taintwarn test.third test.torture test.utf16 test.utf8
344 test_notty.deparse test_notty.third test_prep.third torturetest
345 ucheck ucheck.third ucheck.utf16 ucheck.valgrind utest utest.third
346 utest.utf16 utest.valgrind
eca6ff41
NC
347
348It's still possible to run the relevant commands by "hand" - no underlying
349functionality has been removed.
d7bfa554 350
583aa5c2
RS
351=back
352
353=head1 Selected Bug Fixes
354
38663f11
DG
355XXX Important bug fixes in the core language are summarized here. Bug fixes in
356files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
acfe52c8 357
38663f11 358[ List each fix as a =item entry ]
a2ef523e 359
38663f11 360=over 4
42dd67ca 361
e0d46238
FC
362=item *
363
38663f11 364XXX
d7bfa554 365
38663f11 366=back
d7bfa554 367
38663f11 368=head1 Known Problems
6810f0ad 369
38663f11
DG
370XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
371tests that had to be C<TODO>ed for the release would be noted here. Unfixed
372platform specific bugs also go here.
6810f0ad 373
38663f11 374[ List each fix as a =item entry ]
0e417e4d 375
38663f11 376=over 4
14fd9356
FC
377
378=item *
379
38663f11 380XXX
0e417e4d 381
38663f11 382=back
583aa5c2 383
38663f11 384=head1 Obituary
583aa5c2 385
38663f11
DG
386XXX If any significant core contributor has died, we've added a short obituary
387here.
583aa5c2 388
583aa5c2 389=head1 Acknowledgements
a75569c0 390
38663f11
DG
391XXX Generate this with:
392
393 perl Porting/acknowledgements.pl v5.19.1..HEAD
f5b73711 394
44691e6f
AB
395=head1 Reporting Bugs
396
e08634c5
SH
397If you find what you think is a bug, you might check the articles recently
398posted to the comp.lang.perl.misc newsgroup and the perl bug database at
399http://rt.perl.org/perlbug/ . There may also be information at
400http://www.perl.org/ , the Perl Home Page.
44691e6f 401
e08634c5
SH
402If you believe you have an unreported bug, please run the L<perlbug> program
403included with your release. Be sure to trim your bug down to a tiny but
404sufficient test case. Your bug report, along with the output of C<perl -V>,
405will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
406
407If the bug you are reporting has security implications, which make it
e08634c5
SH
408inappropriate to send to a publicly archived mailing list, then please send it
409to perl5-security-report@perl.org. This points to a closed subscription
410unarchived mailing list, which includes all the core committers, who will be
411able to help assess the impact of issues, figure out a resolution, and help
f9001595 412co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
413platforms on which Perl is supported. Please only use this address for
414security issues in the Perl core, not for modules independently distributed on
415CPAN.
44691e6f
AB
416
417=head1 SEE ALSO
418
e08634c5
SH
419The F<Changes> file for an explanation of how to view exhaustive details on
420what changed.
44691e6f
AB
421
422The F<INSTALL> file for how to build Perl.
423
424The F<README> file for general stuff.
425
426The F<Artistic> and F<Copying> files for copyright information.
427
428=cut