This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Tick off 5.22.4 and 5.24.2
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
1e189079
EH
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.27.2
89853d76 9
b5cbfe35 10=head1 DESCRIPTION
89853d76 11
1e189079 12This document describes differences between the 5.27.1 release and the 5.27.2
b5cbfe35 13release.
89853d76 14
1e189079
EH
15If you are upgrading from an earlier release such as 5.27.0, first read
16L<perl5271delta>, which describes differences between 5.27.0 and 5.27.1.
fbdbf2a7 17
1e189079 18=head1 Notice
fbdbf2a7 19
1e189079 20XXX Any important notices here
fbdbf2a7 21
1e189079 22=head1 Core Enhancements
fbdbf2a7 23
1e189079
EH
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.
fbdbf2a7 27
1e189079 28[ List each enhancement as a =head2 entry ]
fbdbf2a7 29
a8b85d6c
KW
30=head2 Unicode 10.0 is supported
31
32A list of changes is at
33L<http://www.unicode.org/versions/Unicode10.0.0>.
34
1e189079 35=head1 Security
fbdbf2a7 36
1e189079
EH
37XXX Any security-related notices go here. In particular, any security
38vulnerabilities closed should be noted here rather than in the
39L</Selected Bug Fixes> section.
fbdbf2a7 40
1e189079 41[ List each security issue as a =head2 entry ]
1b510166
S
42
43=head1 Incompatible Changes
44
1e189079 45XXX For a release on a stable branch, this section aspires to be:
85cd139f 46
1e189079
EH
47 There are no changes intentionally incompatible with 5.XXX.XXX
48 If any exist, they are bugs, and we request that you submit a
49 report. See L</Reporting Bugs> below.
be332ba0 50
1e189079 51[ List each incompatible change as a =head2 entry ]
be332ba0 52
1e189079 53=head1 Deprecations
489c16bf 54
1e189079 55XXX Any deprecated features, syntax, modules etc. should be listed here.
489c16bf 56
1e189079 57=head2 Module removals
c6e25b09 58
1e189079 59XXX Remove this section if inapplicable.
c6e25b09 60
1e189079
EH
61The following modules will be removed from the core distribution in a
62future release, and will at that time need to be installed from CPAN.
63Distributions on CPAN which require these modules will need to list them as
64prerequisites.
520b6fb6 65
1e189079
EH
66The core versions of these modules will now issue C<"deprecated">-category
67warnings to alert you to this fact. To silence these deprecation warnings,
68install the modules in question from CPAN.
520b6fb6 69
1e189079
EH
70Note that these are (with rare exceptions) fine modules that you are encouraged
71to continue to use. Their disinclusion from core primarily hinges on their
72necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
73not usually on concerns over their design.
02729eab 74
1e189079 75=over
02729eab 76
1e189079 77=item XXX
d0d6d4ce 78
1e189079
EH
79XXX Note that deprecated modules should be listed here even if they are listed
80as an updated module in the L</Modules and Pragmata> section.
d0d6d4ce 81
1e189079 82=back
64278e8c 83
1e189079 84[ List each other deprecation as a =head2 entry ]
64278e8c 85
1e189079 86=head1 Performance Enhancements
5d09ee1c 87
1e189079
EH
88XXX Changes which enhance performance without changing behaviour go here.
89There may well be none in a stable release.
5d09ee1c 90
1e189079 91[ List each enhancement as a =item entry ]
fd503f5c 92
1e189079 93=over 4
fd503f5c 94
1e189079 95=item *
c8787424 96
1e189079 97XXX
c8787424 98
1e189079 99=back
9a4e033c 100
1e189079 101=head1 Modules and Pragmata
9a4e033c 102
1e189079
EH
103XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
104go here. If Module::CoreList is updated, generate an initial draft of the
105following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
106for important changes should then be added by hand. In an ideal world,
107dual-life modules would have a F<Changes> file that could be cribbed.
1b510166 108
1e189079 109[ Within each section, list entries as a =item entry ]
315f3fc1 110
1e189079 111=head2 New Modules and Pragmata
315f3fc1 112
1e189079 113=over 4
53fdf12a 114
1e189079 115=item *
53fdf12a 116
1e189079 117XXX
53fdf12a 118
1e189079 119=back
53fdf12a 120
1e189079 121=head2 Updated Modules and Pragmata
1b510166 122
1b510166
S
123=over 4
124
125=item *
126
1e189079 127L<XXX> has been upgraded from version A.xx to B.yy.
9a4e033c 128
516aa7ad
JK
129=item *
130
131L<ExtUtils::CBuilder> has been upgraded from version 0.280225 to 0.280226.
132
1b510166 133=back
16beba24 134
1e189079 135=head2 Removed Modules and Pragmata
a049258c
S
136
137=over 4
fbe3f407 138
759020c9 139=item *
7ca0bfc4 140
1e189079 141XXX
1b510166 142
1e189079 143=back
9a4e033c 144
1e189079 145=head1 Documentation
9a4e033c 146
1e189079
EH
147XXX Changes to files in F<pod/> go here. Consider grouping entries by
148file and be sure to link to the appropriate page, e.g. L<perlfunc>.
9a4e033c 149
1e189079 150=head2 New Documentation
1b510166 151
1e189079 152XXX Changes which create B<new> files in F<pod/> go here.
1b510166 153
1e189079 154=head3 L<XXX>
1b510166 155
1e189079 156XXX Description of the purpose of the new file here
1b510166 157
1e189079 158=head2 Changes to Existing Documentation
1b510166 159
1e189079
EH
160We have attempted to update the documentation to reflect the changes
161listed in this document. If you find any we have missed, send email
162to L<perlbug@perl.org|mailto:perlbug@perl.org>.
1b510166 163
1e189079
EH
164XXX Changes which significantly change existing files in F<pod/> go here.
165However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
166section.
f717dc4d 167
1e189079 168Additionally, the following selected changes have been made:
1b510166 169
1e189079 170=head3 L<XXX>
1b510166 171
1e189079 172=over 4
a049258c 173
2c8edc25 174=item *
d5c7a4fc 175
1e189079 176XXX Description of the change here
a049258c 177
1e189079 178=back
3abe9611 179
1e189079 180=head1 Diagnostics
1b510166 181
1e189079
EH
182The following additions or changes have been made to diagnostic output,
183including warnings and fatal error messages. For the complete list of
184diagnostic messages, see L<perldiag>.
1b510166 185
1e189079
EH
186XXX New or changed warnings emitted by the core's C<C> code go here. Also
187include any changes in L<perldiag> that reconcile it to the C<C> code.
1b510166 188
1e189079 189=head2 New Diagnostics
1b510166 190
1e189079
EH
191XXX Newly added diagnostic messages go under here, separated into New Errors
192and New Warnings
1b510166 193
1e189079 194=head3 New Errors
1b510166 195
1e189079 196=over 4
1b510166
S
197
198=item *
199
1e189079 200XXX L<message|perldiag/"message">
1b510166 201
1e189079 202=back
1b510166 203
1e189079
EH
204=head3 New Warnings
205
206=over 4
1b510166
S
207
208=item *
209
1e189079 210XXX L<message|perldiag/"message">
1b510166 211
1e189079 212=back
1b510166 213
1e189079 214=head2 Changes to Existing Diagnostics
1b510166 215
1e189079 216XXX Changes (i.e. rewording) of diagnostic messages go here
1b510166 217
1e189079 218=over 4
1b510166
S
219
220=item *
221
1e189079 222XXX Describe change here
1b510166 223
1e189079 224=back
0cc8c746 225
1e189079 226=head1 Utility Changes
0cc8c746 227
1e189079
EH
228XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
229Most of these are built within the directory F<utils>.
0cc8c746 230
1e189079
EH
231[ List utility changes as a =head2 entry for each utility and =item
232entries for each change
233Use L<XXX> with program names to get proper documentation linking. ]
0cc8c746 234
1e189079 235=head2 L<XXX>
0cc8c746 236
1e189079 237=over 4
1b510166
S
238
239=item *
240
1e189079 241XXX
1b510166 242
1e189079 243=back
1b510166 244
1e189079 245=head1 Configuration and Compilation
1b510166 246
1e189079
EH
247XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
248go here. Any other changes to the Perl build process should be listed here.
249However, any platform-specific changes should be listed in the
250L</Platform Support> section, instead.
251
252[ List changes as a =item entry ].
1b510166 253
1e189079 254=over 4
1b510166
S
255
256=item *
257
1e189079 258XXX
1b510166
S
259
260=back
261
262=head1 Testing
263
1e189079
EH
264XXX Any significant changes to the testing of a freshly built perl should be
265listed here. Changes which create B<new> files in F<t/> go here as do any
266large changes to the testing harness (e.g. when parallel testing was added).
267Changes to existing files in F<t/> aren't worth summarizing, although the bugs
268that they represent may be covered elsewhere.
269
270XXX If there were no significant test changes, say this:
271
272Tests were added and changed to reflect the other additions and changes
273in this release.
274
275XXX If instead there were significant changes, say this:
276
f717dc4d
KW
277Tests were added and changed to reflect the other additions and
278changes in this release. Furthermore, these significant changes were
279made:
1b510166 280
1e189079 281[ List each test improvement as a =item entry ]
1b510166 282
1e189079 283=over 4
1b510166 284
10b7d799
TC
285=item *
286
1e189079 287XXX
10b7d799 288
1b510166
S
289=back
290
291=head1 Platform Support
292
1e189079 293XXX Any changes to platform support should be listed in the sections below.
1b510166 294
1e189079
EH
295[ Within the sections, list each platform as a =item entry with specific
296changes as paragraphs below it. ]
297
298=head2 New Platforms
1b510166 299
1e189079
EH
300XXX List any platforms that this version of perl compiles on, that previous
301versions did not. These will either be enabled by new files in the F<hints/>
302directories, or new subdirectories and F<README> files at the top level of the
303source tree.
1b510166 304
d8efeb46
SH
305=over 4
306
1e189079 307=item XXX-some-platform
d8efeb46 308
1e189079 309XXX
d8efeb46
SH
310
311=back
1b510166 312
1e189079
EH
313=head2 Discontinued Platforms
314
315XXX List any platforms that this version of perl no longer compiles on.
316
317=over 4
318
319=item XXX-some-platform
320
321XXX
322
1b510166
S
323=back
324
1e189079
EH
325=head2 Platform-Specific Notes
326
327XXX List any changes for specific platforms. This could include configuration
328and compilation changes or changes in portability/compatibility. However,
329changes within modules for platforms should generally be listed in the
330L</Modules and Pragmata> section.
1b510166 331
1b510166
S
332=over 4
333
1e189079 334=item XXX-some-platform
1b510166 335
1e189079 336XXX
1b510166 337
1e189079
EH
338=back
339
340=head1 Internal Changes
341
342XXX Changes which affect the interface available to C<XS> code go here. Other
343significant internal changes for future core maintainers should be noted as
344well.
f566c7cf 345
1e189079
EH
346[ List each change as a =item entry ]
347
348=over 4
f566c7cf 349
0cbf5865
KW
350=item *
351
1e189079 352XXX
0cbf5865 353
1b510166
S
354=back
355
356=head1 Selected Bug Fixes
357
1e189079
EH
358XXX Important bug fixes in the core language are summarized here. Bug fixes in
359files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
360
361[ List each fix as a =item entry ]
362
1b510166
S
363=over 4
364
365=item *
366
43901c14
TC
367List assignment (C<aassign>) could in some rare cases allocate an
368entry on the mortal stack and leave the entry uninitialized. [perl
369#131570]
1b510166 370
3072e759
TC
371=item *
372
373Attempting to apply an attribute to an C<our> variable where a
374function of that name already exists could result in a NULL pointer
375being supplied where an SV was expected, crashing perl. [perl
376#131597]
377
1e189079 378=back
9a4e033c 379
1e189079 380=head1 Known Problems
9a4e033c 381
1e189079
EH
382XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
383tests that had to be C<TODO>ed for the release would be noted here. Unfixed
384platform specific bugs also go here.
9a4e033c 385
1e189079 386[ List each fix as a =item entry ]
9a4e033c 387
1e189079
EH
388=over 4
389
390=item *
391
392XXX
9a4e033c 393
1b510166
S
394=back
395
1e189079 396=head1 Errata From Previous Releases
1b510166 397
1e189079
EH
398=over 4
399
400=item *
1b510166 401
1e189079
EH
402XXX Add anything here that we forgot to add, or were mistaken about, in
403the perldelta of a previous release.
1b510166 404
1e189079
EH
405=back
406
407=head1 Obituary
1b510166 408
1e189079
EH
409XXX If any significant core contributor has died, we've added a short obituary
410here.
1b510166 411
1e189079 412=head1 Acknowledgements
0cc8c746 413
1e189079 414XXX Generate this with:
2e0dcc12 415
1e189079 416 perl Porting/acknowledgements.pl v5.25.5..HEAD
f5b73711 417
44691e6f
AB
418=head1 Reporting Bugs
419
b5cbfe35
S
420If you find what you think is a bug, you might check the perl bug database
421at L<https://rt.perl.org/> . There may also be information at
422L<http://www.perl.org/> , the Perl Home Page.
44691e6f 423
e08634c5
SH
424If you believe you have an unreported bug, please run the L<perlbug> program
425included with your release. Be sure to trim your bug down to a tiny but
426sufficient test case. Your bug report, along with the output of C<perl -V>,
b5cbfe35 427will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f 428
87c118b9
DM
429If the bug you are reporting has security implications which make it
430inappropriate to send to a publicly archived mailing list, then see
c0ea3294
SH
431L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
432for details of how to report the issue.
44691e6f 433
390ae6f9
S
434=head1 Give Thanks
435
436If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
437you can do so by running the C<perlthanks> program:
438
439 perlthanks
440
441This will send an email to the Perl 5 Porters list with your show of thanks.
442
44691e6f
AB
443=head1 SEE ALSO
444
e08634c5
SH
445The F<Changes> file for an explanation of how to view exhaustive details on
446what changed.
44691e6f
AB
447
448The F<INSTALL> file for how to build Perl.
449
450The F<README> file for general stuff.
451
452The F<Artistic> and F<Copying> files for copyright information.
453
454=cut