This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta for eff754733a9
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
39c4a6cf
PM
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.21.4
c68523cb 9
238894db 10=head1 DESCRIPTION
c68523cb 11
39c4a6cf 12This document describes differences between the 5.21.3 release and the 5.21.4
238894db 13release.
c68523cb 14
39c4a6cf
PM
15If you are upgrading from an earlier release such as 5.21.2, first read
16L<perl5213delta>, which describes differences between 5.21.2 and 5.21.3.
7065301c 17
39c4a6cf 18=head1 Notice
7e957246 19
39c4a6cf 20XXX Any important notices here
7e957246 21
39c4a6cf 22=head1 Core Enhancements
f88f10f5 23
39c4a6cf
PM
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.
21f3b41e 27
39c4a6cf 28[ List each enhancement as a =head2 entry ]
f88f10f5 29
0346c3a9 30=head1 Security
7e957246 31
39c4a6cf
PM
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.
13900f93 35
39c4a6cf 36[ List each security issue as a =head2 entry ]
8bdb3f93 37
13900f93 38=head1 Incompatible Changes
8bdb3f93 39
39c4a6cf 40XXX For a release on a stable branch, this section aspires to be:
1178d2cf 41
39c4a6cf
PM
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.
1178d2cf 45
39c4a6cf 46[ List each incompatible change as a =head2 entry ]
f6f3144e 47
39c4a6cf 48=head1 Deprecations
7065301c 49
39c4a6cf 50XXX Any deprecated features, syntax, modules etc. should be listed here.
7065301c 51
39c4a6cf 52=head2 Module removals
b3e82ed1 53
39c4a6cf 54XXX Remove this section if inapplicable.
ca58223b 55
39c4a6cf
PM
56The following modules will be removed from the core distribution in a
57future release, and will at that time need to be installed from CPAN.
58Distributions on CPAN which require these modules will need to list them as
59prerequisites.
ca58223b 60
39c4a6cf
PM
61The core versions of these modules will now issue C<"deprecated">-category
62warnings to alert you to this fact. To silence these deprecation warnings,
63install the modules in question from CPAN.
23b03637 64
39c4a6cf
PM
65Note that these are (with rare exceptions) fine modules that you are encouraged
66to continue to use. Their disinclusion from core primarily hinges on their
67necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
68not usually on concerns over their design.
23b03637 69
39c4a6cf 70=over
85e8fb10 71
39c4a6cf 72=item XXX
85e8fb10 73
39c4a6cf
PM
74XXX Note that deprecated modules should be listed here even if they are listed
75as an updated module in the L</Modules and Pragmata> section.
134f90c2 76
39c4a6cf 77=back
134f90c2 78
39c4a6cf 79[ List each other deprecation as a =head2 entry ]
ff433f2d 80
39c4a6cf 81=head1 Performance Enhancements
ff433f2d 82
39c4a6cf
PM
83XXX Changes which enhance performance without changing behaviour go here.
84There may well be none in a stable release.
134f90c2 85
39c4a6cf 86[ List each enhancement as a =item entry ]
134f90c2 87
39c4a6cf 88=over 4
7d19f6a1 89
7d19f6a1
PM
90=item *
91
39c4a6cf 92XXX
55e8b286 93
39c4a6cf 94=back
55e8b286 95
39c4a6cf 96=head1 Modules and Pragmata
d99849ae 97
39c4a6cf
PM
98XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
99go here. If Module::CoreList is updated, generate an initial draft of the
100following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
101for important changes should then be added by hand. In an ideal world,
102dual-life modules would have a F<Changes> file that could be cribbed.
d99849ae 103
39c4a6cf 104[ Within each section, list entries as a =item entry ]
ff433f2d 105
39c4a6cf 106=head2 New Modules and Pragmata
ff433f2d 107
39c4a6cf 108=over 4
ff433f2d
PM
109
110=item *
111
39c4a6cf 112XXX
0bb39c26 113
39c4a6cf 114=back
0bb39c26 115
39c4a6cf 116=head2 Updated Modules and Pragmata
9c97a342 117
39c4a6cf 118=over 4
d99849ae
PM
119
120=item *
121
39c4a6cf 122L<XXX> has been upgraded from version A.xx to B.yy.
6ab3666b 123
233a4069
JK
124=item *
125
126L<File::Find> has been upgraded from version 1.27 to 1.28.
127C<find()> and C<finddepth()> will now warn if passed inappropriate or
128misspelled options.
129
d0ab07ee
JK
130=item *
131
132L<B::Concise> has been upgraded from version 0.992 to 0.993.
133
134=item *
135
136L<HTTP::Tiny> has been upgraded from version 0.047 to 0.048.
137
138=item *
139
140L<Module::CoreList> has been upgraded from version 5.021003 to 5.021004.
141
142=item *
143
144L<POSIX> has been upgraded from version 1.42 to 1.43.
145
146=item *
147
148L<Pod::Perldoc> has been upgraded from version 3.23 to 3.24.
149
150=item *
151
152L<constant> has been upgraded from version 1.31 to 1.32.
153
154=item *
155
156L<threads> has been upgraded from version 1.95 to 1.96.
157
39c4a6cf 158=back
9c97a342 159
39c4a6cf 160=head2 Removed Modules and Pragmata
d99849ae 161
39c4a6cf 162=over 4
d99849ae 163
ff433f2d
PM
164=item *
165
39c4a6cf 166XXX
ff433f2d 167
13900f93 168=back
aac7f82f 169
13900f93 170=head1 Documentation
aac7f82f 171
39c4a6cf
PM
172XXX Changes to files in F<pod/> go here. Consider grouping entries by
173file and be sure to link to the appropriate page, e.g. L<perlfunc>.
6d9b7c7c 174
39c4a6cf 175=head2 New Documentation
2a395b86 176
39c4a6cf 177XXX Changes which create B<new> files in F<pod/> go here.
2a395b86 178
39c4a6cf 179=head3 L<XXX>
2a395b86 180
39c4a6cf 181XXX Description of the purpose of the new file here
2a395b86 182
39c4a6cf 183=head2 Changes to Existing Documentation
2a395b86 184
39c4a6cf
PM
185XXX Changes which significantly change existing files in F<pod/> go here.
186However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
187section.
188
189=head3 L<XXX>
2a395b86
PM
190
191=over 4
192
193=item *
194
39c4a6cf 195XXX Description of the change here
2a395b86
PM
196
197=back
198
39c4a6cf 199=head1 Diagnostics
2a395b86 200
39c4a6cf
PM
201The following additions or changes have been made to diagnostic output,
202including warnings and fatal error messages. For the complete list of
203diagnostic messages, see L<perldiag>.
2a395b86 204
39c4a6cf
PM
205XXX New or changed warnings emitted by the core's C<C> code go here. Also
206include any changes in L<perldiag> that reconcile it to the C<C> code.
2a395b86 207
39c4a6cf 208=head2 New Diagnostics
0f4a583b 209
39c4a6cf
PM
210XXX Newly added diagnostic messages go under here, separated into New Errors
211and New Warnings
2a395b86 212
39c4a6cf 213=head3 New Errors
2a395b86
PM
214
215=over 4
216
217=item *
218
39c4a6cf 219XXX L<message|perldiag/"message">
2a395b86
PM
220
221=back
222
39c4a6cf 223=head3 New Warnings
2a395b86
PM
224
225=over 4
226
227=item *
228
39c4a6cf 229XXX L<message|perldiag/"message">
2a395b86
PM
230
231=back
6d9b7c7c 232
39c4a6cf
PM
233=head2 Changes to Existing Diagnostics
234
235XXX Changes (i.e. rewording) of diagnostic messages go here
7f55cec0 236
13900f93 237=over 4
7f55cec0
SH
238
239=item *
240
39c4a6cf 241XXX Describe change here
aac7f82f 242
13900f93 243=back
aac7f82f 244
39c4a6cf 245=head1 Utility Changes
091fed7c 246
39c4a6cf
PM
247XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
248Most of these are built within the directory F<utils>.
902c1f75 249
39c4a6cf
PM
250[ List utility changes as a =head2 entry for each utility and =item
251entries for each change
252Use L<XXX> with program names to get proper documentation linking. ]
2901561d 253
39c4a6cf 254=head2 L<XXX>
4594cf53 255
13900f93 256=over 4
96dcbc37
DD
257
258=item *
259
39c4a6cf 260XXX
a1d26ccd 261
39c4a6cf 262=back
a1d26ccd 263
39c4a6cf 264=head1 Configuration and Compilation
7065301c 265
39c4a6cf
PM
266XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
267go here. Any other changes to the Perl build process should be listed here.
268However, any platform-specific changes should be listed in the
269L</Platform Support> section, instead.
58f25ac1 270
39c4a6cf 271[ List changes as a =item entry ].
13900f93
A
272
273=over 4
58f25ac1
MH
274
275=item *
276
39c4a6cf 277XXX
a5873648 278
39c4a6cf 279=back
a5873648 280
39c4a6cf 281=head1 Testing
a5873648 282
39c4a6cf
PM
283XXX Any significant changes to the testing of a freshly built perl should be
284listed here. Changes which create B<new> files in F<t/> go here as do any
285large changes to the testing harness (e.g. when parallel testing was added).
286Changes to existing files in F<t/> aren't worth summarizing, although the bugs
287that they represent may be covered elsewhere.
a5873648 288
39c4a6cf 289[ List each test improvement as a =item entry ]
a5873648 290
39c4a6cf 291=over 4
a5873648
PM
292
293=item *
294
39c4a6cf 295XXX
a5873648 296
58f25ac1
MH
297=back
298
39c4a6cf 299=head1 Platform Support
b10906fb 300
39c4a6cf 301XXX Any changes to platform support should be listed in the sections below.
b10906fb 302
39c4a6cf
PM
303[ Within the sections, list each platform as a =item entry with specific
304changes as paragraphs below it. ]
b10906fb 305
39c4a6cf 306=head2 New Platforms
b10906fb 307
39c4a6cf
PM
308XXX List any platforms that this version of perl compiles on, that previous
309versions did not. These will either be enabled by new files in the F<hints/>
310directories, or new subdirectories and F<README> files at the top level of the
311source tree.
13900f93 312
7065301c 313=over 4
24a38d90 314
39c4a6cf 315=item XXX-some-platform
24a38d90 316
39c4a6cf 317XXX
bb076206 318
7065301c
RS
319=back
320
39c4a6cf 321=head2 Discontinued Platforms
097675bf 322
39c4a6cf 323XXX List any platforms that this version of perl no longer compiles on.
b3211734 324
6e97d65d 325=over 4
b3211734 326
39c4a6cf 327=item XXX-some-platform
7065301c 328
39c4a6cf 329XXX
13900f93 330
39c4a6cf 331=back
7d0ccdba 332
39c4a6cf 333=head2 Platform-Specific Notes
7d0ccdba 334
39c4a6cf
PM
335XXX List any changes for specific platforms. This could include configuration
336and compilation changes or changes in portability/compatibility. However,
337changes within modules for platforms should generally be listed in the
338L</Modules and Pragmata> section.
6e97d65d 339
39c4a6cf 340=over 4
6e97d65d 341
39c4a6cf 342=item XXX-some-platform
6e97d65d 343
39c4a6cf 344XXX
7d0ccdba 345
7065301c
RS
346=back
347
348=head1 Internal Changes
349
39c4a6cf
PM
350XXX Changes which affect the interface available to C<XS> code go here. Other
351significant internal changes for future core maintainers should be noted as
352well.
c9fcb674 353
39c4a6cf 354[ List each change as a =item entry ]
a835cd47 355
39c4a6cf 356=over 4
c1284011 357
1c43698b
PM
358=item *
359
07ec6dc6
FC
360The parser no longer gets confused by C<\U=> within a double-quoted string.
361It used to roduce a syntax error, but now compile it correctly.
362[perl #80368]
1c43698b 363
6d9b7c7c 364=back
c1284011 365
6d9b7c7c 366=head1 Selected Bug Fixes
375f5f06 367
39c4a6cf
PM
368XXX Important bug fixes in the core language are summarized here. Bug fixes in
369files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
370
371[ List each fix as a =item entry ]
372
0346c3a9 373=over 4
375f5f06 374
2884baee
MH
375=item *
376
39c4a6cf 377XXX
2884baee 378
0aa1826c
FC
379=item *
380
381Compile-time checking of constant dereferencing (e.g.,
382C<< my_constant->() >>) has been removed, since it was not taking
383overloading into account. [perl #69456] [perl #122607]
384
39c4a6cf 385=back
b756670b 386
39c4a6cf 387=head1 Known Problems
b756670b 388
39c4a6cf
PM
389XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
390tests that had to be C<TODO>ed for the release would be noted here. Unfixed
391platform specific bugs also go here.
e917e94e 392
39c4a6cf
PM
393[ List each fix as a =item entry ]
394
395=over 4
e917e94e 396
26dd5fd6
PM
397=item *
398
39c4a6cf 399XXX
26dd5fd6 400
13900f93
A
401=back
402
39c4a6cf 403=head1 Errata From Previous Releases
e831f11a 404
39c4a6cf
PM
405=over 4
406
407=item *
ff433f2d 408
39c4a6cf
PM
409XXX Add anything here that we forgot to add, or were mistaken about, in
410the perldelta of a previous release.
ff433f2d 411
39c4a6cf
PM
412=back
413
414=head1 Obituary
ff433f2d 415
39c4a6cf
PM
416XXX If any significant core contributor has died, we've added a short obituary
417here.
ff433f2d 418
39c4a6cf 419=head1 Acknowledgements
ff433f2d 420
39c4a6cf 421XXX Generate this with:
e831f11a 422
39c4a6cf 423 perl Porting/acknowledgements.pl v5.21.3..HEAD
f5b73711 424
44691e6f
AB
425=head1 Reporting Bugs
426
e08634c5
SH
427If you find what you think is a bug, you might check the articles recently
428posted to the comp.lang.perl.misc newsgroup and the perl bug database at
238894db 429https://rt.perl.org/ . There may also be information at
7ef8b31d 430http://www.perl.org/ , the Perl Home Page.
44691e6f 431
e08634c5
SH
432If you believe you have an unreported bug, please run the L<perlbug> program
433included with your release. Be sure to trim your bug down to a tiny but
434sufficient test case. Your bug report, along with the output of C<perl -V>,
435will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
436
437If the bug you are reporting has security implications, which make it
e08634c5
SH
438inappropriate to send to a publicly archived mailing list, then please send it
439to perl5-security-report@perl.org. This points to a closed subscription
440unarchived mailing list, which includes all the core committers, who will be
441able to help assess the impact of issues, figure out a resolution, and help
f9001595 442co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
443platforms on which Perl is supported. Please only use this address for
444security issues in the Perl core, not for modules independently distributed on
445CPAN.
44691e6f
AB
446
447=head1 SEE ALSO
448
e08634c5
SH
449The F<Changes> file for an explanation of how to view exhaustive details on
450what changed.
44691e6f
AB
451
452The F<INSTALL> file for how to build Perl.
453
454The F<README> file for general stuff.
455
456The F<Artistic> and F<Copying> files for copyright information.
457
458=cut