This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
(perl #131597) ensure the GV slot is filled for our [%$@]foo: attr
[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
1b510166 129=back
16beba24 130
1e189079 131=head2 Removed Modules and Pragmata
a049258c
S
132
133=over 4
fbe3f407 134
759020c9 135=item *
7ca0bfc4 136
1e189079 137XXX
1b510166 138
1e189079 139=back
9a4e033c 140
1e189079 141=head1 Documentation
9a4e033c 142
1e189079
EH
143XXX Changes to files in F<pod/> go here. Consider grouping entries by
144file and be sure to link to the appropriate page, e.g. L<perlfunc>.
9a4e033c 145
1e189079 146=head2 New Documentation
1b510166 147
1e189079 148XXX Changes which create B<new> files in F<pod/> go here.
1b510166 149
1e189079 150=head3 L<XXX>
1b510166 151
1e189079 152XXX Description of the purpose of the new file here
1b510166 153
1e189079 154=head2 Changes to Existing Documentation
1b510166 155
1e189079
EH
156We have attempted to update the documentation to reflect the changes
157listed in this document. If you find any we have missed, send email
158to L<perlbug@perl.org|mailto:perlbug@perl.org>.
1b510166 159
1e189079
EH
160XXX Changes which significantly change existing files in F<pod/> go here.
161However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
162section.
f717dc4d 163
1e189079 164Additionally, the following selected changes have been made:
1b510166 165
1e189079 166=head3 L<XXX>
1b510166 167
1e189079 168=over 4
a049258c 169
2c8edc25 170=item *
d5c7a4fc 171
1e189079 172XXX Description of the change here
a049258c 173
1e189079 174=back
3abe9611 175
1e189079 176=head1 Diagnostics
1b510166 177
1e189079
EH
178The following additions or changes have been made to diagnostic output,
179including warnings and fatal error messages. For the complete list of
180diagnostic messages, see L<perldiag>.
1b510166 181
1e189079
EH
182XXX New or changed warnings emitted by the core's C<C> code go here. Also
183include any changes in L<perldiag> that reconcile it to the C<C> code.
1b510166 184
1e189079 185=head2 New Diagnostics
1b510166 186
1e189079
EH
187XXX Newly added diagnostic messages go under here, separated into New Errors
188and New Warnings
1b510166 189
1e189079 190=head3 New Errors
1b510166 191
1e189079 192=over 4
1b510166
S
193
194=item *
195
1e189079 196XXX L<message|perldiag/"message">
1b510166 197
1e189079 198=back
1b510166 199
1e189079
EH
200=head3 New Warnings
201
202=over 4
1b510166
S
203
204=item *
205
1e189079 206XXX L<message|perldiag/"message">
1b510166 207
1e189079 208=back
1b510166 209
1e189079 210=head2 Changes to Existing Diagnostics
1b510166 211
1e189079 212XXX Changes (i.e. rewording) of diagnostic messages go here
1b510166 213
1e189079 214=over 4
1b510166
S
215
216=item *
217
1e189079 218XXX Describe change here
1b510166 219
1e189079 220=back
0cc8c746 221
1e189079 222=head1 Utility Changes
0cc8c746 223
1e189079
EH
224XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
225Most of these are built within the directory F<utils>.
0cc8c746 226
1e189079
EH
227[ List utility changes as a =head2 entry for each utility and =item
228entries for each change
229Use L<XXX> with program names to get proper documentation linking. ]
0cc8c746 230
1e189079 231=head2 L<XXX>
0cc8c746 232
1e189079 233=over 4
1b510166
S
234
235=item *
236
1e189079 237XXX
1b510166 238
1e189079 239=back
1b510166 240
1e189079 241=head1 Configuration and Compilation
1b510166 242
1e189079
EH
243XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
244go here. Any other changes to the Perl build process should be listed here.
245However, any platform-specific changes should be listed in the
246L</Platform Support> section, instead.
247
248[ List changes as a =item entry ].
1b510166 249
1e189079 250=over 4
1b510166
S
251
252=item *
253
1e189079 254XXX
1b510166
S
255
256=back
257
258=head1 Testing
259
1e189079
EH
260XXX Any significant changes to the testing of a freshly built perl should be
261listed here. Changes which create B<new> files in F<t/> go here as do any
262large changes to the testing harness (e.g. when parallel testing was added).
263Changes to existing files in F<t/> aren't worth summarizing, although the bugs
264that they represent may be covered elsewhere.
265
266XXX If there were no significant test changes, say this:
267
268Tests were added and changed to reflect the other additions and changes
269in this release.
270
271XXX If instead there were significant changes, say this:
272
f717dc4d
KW
273Tests were added and changed to reflect the other additions and
274changes in this release. Furthermore, these significant changes were
275made:
1b510166 276
1e189079 277[ List each test improvement as a =item entry ]
1b510166 278
1e189079 279=over 4
1b510166 280
10b7d799
TC
281=item *
282
1e189079 283XXX
10b7d799 284
1b510166
S
285=back
286
287=head1 Platform Support
288
1e189079 289XXX Any changes to platform support should be listed in the sections below.
1b510166 290
1e189079
EH
291[ Within the sections, list each platform as a =item entry with specific
292changes as paragraphs below it. ]
293
294=head2 New Platforms
1b510166 295
1e189079
EH
296XXX List any platforms that this version of perl compiles on, that previous
297versions did not. These will either be enabled by new files in the F<hints/>
298directories, or new subdirectories and F<README> files at the top level of the
299source tree.
1b510166 300
d8efeb46
SH
301=over 4
302
1e189079 303=item XXX-some-platform
d8efeb46 304
1e189079 305XXX
d8efeb46
SH
306
307=back
1b510166 308
1e189079
EH
309=head2 Discontinued Platforms
310
311XXX List any platforms that this version of perl no longer compiles on.
312
313=over 4
314
315=item XXX-some-platform
316
317XXX
318
1b510166
S
319=back
320
1e189079
EH
321=head2 Platform-Specific Notes
322
323XXX List any changes for specific platforms. This could include configuration
324and compilation changes or changes in portability/compatibility. However,
325changes within modules for platforms should generally be listed in the
326L</Modules and Pragmata> section.
1b510166 327
1b510166
S
328=over 4
329
1e189079 330=item XXX-some-platform
1b510166 331
1e189079 332XXX
1b510166 333
1e189079
EH
334=back
335
336=head1 Internal Changes
337
338XXX Changes which affect the interface available to C<XS> code go here. Other
339significant internal changes for future core maintainers should be noted as
340well.
f566c7cf 341
1e189079
EH
342[ List each change as a =item entry ]
343
344=over 4
f566c7cf 345
0cbf5865
KW
346=item *
347
1e189079 348XXX
0cbf5865 349
1b510166
S
350=back
351
352=head1 Selected Bug Fixes
353
1e189079
EH
354XXX Important bug fixes in the core language are summarized here. Bug fixes in
355files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
356
357[ List each fix as a =item entry ]
358
1b510166
S
359=over 4
360
361=item *
362
43901c14
TC
363List assignment (C<aassign>) could in some rare cases allocate an
364entry on the mortal stack and leave the entry uninitialized. [perl
365#131570]
1b510166 366
1e189079 367=back
9a4e033c 368
1e189079 369=head1 Known Problems
9a4e033c 370
1e189079
EH
371XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
372tests that had to be C<TODO>ed for the release would be noted here. Unfixed
373platform specific bugs also go here.
9a4e033c 374
1e189079 375[ List each fix as a =item entry ]
9a4e033c 376
1e189079
EH
377=over 4
378
379=item *
380
381XXX
9a4e033c 382
1b510166
S
383=back
384
1e189079 385=head1 Errata From Previous Releases
1b510166 386
1e189079
EH
387=over 4
388
389=item *
1b510166 390
1e189079
EH
391XXX Add anything here that we forgot to add, or were mistaken about, in
392the perldelta of a previous release.
1b510166 393
1e189079
EH
394=back
395
396=head1 Obituary
1b510166 397
1e189079
EH
398XXX If any significant core contributor has died, we've added a short obituary
399here.
1b510166 400
1e189079 401=head1 Acknowledgements
0cc8c746 402
1e189079 403XXX Generate this with:
2e0dcc12 404
1e189079 405 perl Porting/acknowledgements.pl v5.25.5..HEAD
f5b73711 406
44691e6f
AB
407=head1 Reporting Bugs
408
b5cbfe35
S
409If you find what you think is a bug, you might check the perl bug database
410at L<https://rt.perl.org/> . There may also be information at
411L<http://www.perl.org/> , the Perl Home Page.
44691e6f 412
e08634c5
SH
413If you believe you have an unreported bug, please run the L<perlbug> program
414included with your release. Be sure to trim your bug down to a tiny but
415sufficient test case. Your bug report, along with the output of C<perl -V>,
b5cbfe35 416will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f 417
87c118b9
DM
418If the bug you are reporting has security implications which make it
419inappropriate to send to a publicly archived mailing list, then see
c0ea3294
SH
420L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
421for details of how to report the issue.
44691e6f 422
390ae6f9
S
423=head1 Give Thanks
424
425If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
426you can do so by running the C<perlthanks> program:
427
428 perlthanks
429
430This will send an email to the Perl 5 Porters list with your show of thanks.
431
44691e6f
AB
432=head1 SEE ALSO
433
e08634c5
SH
434The F<Changes> file for an explanation of how to view exhaustive details on
435what changed.
44691e6f
AB
436
437The F<INSTALL> file for how to build Perl.
438
439The F<README> file for general stuff.
440
441The F<Artistic> and F<Copying> files for copyright information.
442
443=cut