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