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