This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta for afad11a2ce
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
a9c3e753
S
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.10
c68523cb 9
238894db 10=head1 DESCRIPTION
c68523cb 11
a9c3e753 12This document describes differences between the 5.21.9 release and the 5.21.10
238894db 13release.
c68523cb 14
a9c3e753
S
15If you are upgrading from an earlier release such as 5.21.8, first read
16L<perl5219delta>, which describes differences between 5.21.8 and 5.21.9.
2ec11c70 17
b5d4d3b9 18=head1 Notice
2ec11c70 19
a9c3e753 20XXX Any important notices here
67f2cc75 21
b5d4d3b9 22=head1 Core Enhancements
67f2cc75 23
a9c3e753
S
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.
06ae2722 27
a9c3e753 28[ List each enhancement as a =head2 entry ]
156f41cf 29
a9c3e753 30=head1 Security
156f41cf 31
a9c3e753
S
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.
156f41cf 35
a9c3e753 36[ List each security issue as a =head2 entry ]
48c4d243 37
b5d4d3b9 38=head1 Incompatible Changes
ef8784b7 39
a9c3e753 40XXX For a release on a stable branch, this section aspires to be:
541e1e0d 41
a9c3e753
S
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.
541e1e0d 45
a9c3e753 46[ List each incompatible change as a =head2 entry ]
541e1e0d 47
a9c3e753 48=head1 Deprecations
541e1e0d 49
a9c3e753 50XXX Any deprecated features, syntax, modules etc. should be listed here.
541e1e0d 51
a9c3e753 52=head2 Module removals
541e1e0d 53
a9c3e753 54XXX Remove this section if inapplicable.
541e1e0d 55
a9c3e753
S
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.
cd7bac54 60
a9c3e753
S
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.
541e1e0d 64
a9c3e753
S
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.
541e1e0d 69
a9c3e753 70=over
cd7bac54 71
a9c3e753 72=item XXX
6c8457e9 73
a9c3e753
S
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.
cd7bac54
S
76
77=back
6c8457e9 78
a9c3e753 79[ List each other deprecation as a =head2 entry ]
6c8457e9 80
a9c3e753 81=head1 Performance Enhancements
6c8457e9 82
a9c3e753
S
83XXX Changes which enhance performance without changing behaviour go here.
84There may well be none in a stable release.
127a7155 85
a9c3e753 86[ List each enhancement as a =item entry ]
6c8457e9 87
cd7bac54
S
88=over 4
89
90=item *
91
a9c3e753 92XXX
cd7bac54
S
93
94=back
95
a9c3e753 96=head1 Modules and Pragmata
0939a951 97
a9c3e753
S
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.
c49582c3 103
a9c3e753 104[ Within each section, list entries as a =item entry ]
9024667a 105
a9c3e753 106=head2 New Modules and Pragmata
31e72f27
KW
107
108=over 4
109
110=item *
111
a9c3e753 112XXX
0ce5e53e 113
31e72f27
KW
114=back
115
a9c3e753 116=head2 Updated Modules and Pragmata
cd7bac54 117
a9c3e753 118=over 4
cd7bac54
S
119
120=item *
121
b9c683b3
TC
122L<B::Deparse> has been upgraded from version 1.33 to 1.34.
123
124Deparse C<$#_> as that instead of as C<$#{_}>. [perl #123947]
125
126=item *
127
79116533
SH
128L<CPAN> has been upgraded from version 2.05 to 2.09-TRIAL.
129
130=over 4
131
132=item *
133
134Add support for C<Cwd::getdcwd()> and introduce workaround for a misbehaviour
135seen on Strawberry Perl 5.20.1.
136
137=item *
138
139Fix C<chdir()> after building dependencies bug.
140
141=item *
142
143Introduce experimental support for plugins/hooks.
144
145=item *
146
147Integrate the App::Cpan sources.
148
149=item *
150
151Do not check recursion on optional dependencies.
152
153=item *
154
155Sanity check META.yml to contain a hash.
156L<[cpan #95271]|https://rt.cpan.org/Ticket/Display.html?id=95271>
157
158=back
0939a951 159
c0ff9143
JH
160=item *
161
9409f752
SH
162L<Test::Simple> has been reverted from version 1.301001_098 to 1.001014.
163
164=item *
165
03a97c81
SH
166L<Text::Balanced> has been upgraded from version 2.02 to 2.03.
167
168No changes to installed files other than the version bump.
169
170=item *
171
ca2f5fd9 172L<threads> has been upgraded from version 1.96 to 1.99.
c0ff9143 173
a9c3e753 174=back
0939a951 175
a9c3e753 176=head2 Removed Modules and Pragmata
cd7bac54 177
a9c3e753 178=over 4
cd7bac54
S
179
180=item *
181
a9c3e753 182XXX
cd7bac54 183
2ff1ebfe 184=back
541e1e0d 185
cd7bac54
S
186=head1 Documentation
187
a9c3e753
S
188XXX Changes to files in F<pod/> go here. Consider grouping entries by
189file and be sure to link to the appropriate page, e.g. L<perlfunc>.
190
cd7bac54
S
191=head2 New Documentation
192
a9c3e753 193XXX Changes which create B<new> files in F<pod/> go here.
541e1e0d 194
a9c3e753 195=head3 L<XXX>
d676fe86 196
a9c3e753 197XXX Description of the purpose of the new file here
d676fe86 198
a9c3e753 199=head2 Changes to Existing Documentation
d2fff9f6 200
a9c3e753
S
201XXX Changes which significantly change existing files in F<pod/> go here.
202However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
203section.
d2fff9f6 204
a9c3e753 205=head3 L<XXX>
e329daf3 206
cd7bac54 207=over 4
e329daf3 208
cd7bac54 209=item *
e329daf3 210
a9c3e753 211XXX Description of the change here
ba31029d 212
cd7bac54
S
213=back
214
a9c3e753 215=head1 Diagnostics
cd7bac54 216
a9c3e753
S
217The following additions or changes have been made to diagnostic output,
218including warnings and fatal error messages. For the complete list of
219diagnostic messages, see L<perldiag>.
cd7bac54 220
a9c3e753
S
221XXX New or changed warnings emitted by the core's C<C> code go here. Also
222include any changes in L<perldiag> that reconcile it to the C<C> code.
cd7bac54 223
a9c3e753 224=head2 New Diagnostics
541e1e0d 225
a9c3e753
S
226XXX Newly added diagnostic messages go under here, separated into New Errors
227and New Warnings
541e1e0d 228
a9c3e753 229=head3 New Errors
cd7bac54
S
230
231=over 4
232
233=item *
234
a9c3e753 235XXX L<message|perldiag/"message">
cd7bac54
S
236
237=back
541e1e0d 238
a9c3e753 239=head3 New Warnings
541e1e0d 240
2ff1ebfe 241=over 4
aa67537d 242
4c7a0d98
DD
243=item *
244
a9c3e753 245XXX L<message|perldiag/"message">
4c7a0d98 246
b5d4d3b9 247=back
4c7a0d98 248
a9c3e753 249=head2 Changes to Existing Diagnostics
a5d66edf 250
a9c3e753 251XXX Changes (i.e. rewording) of diagnostic messages go here
f348c3d8 252
cd7bac54 253=over 4
f348c3d8 254
cd7bac54 255=item *
2ff1ebfe 256
a9c3e753 257XXX Describe change here
f348c3d8 258
cd7bac54 259=back
2ff1ebfe 260
a9c3e753 261=head1 Utility Changes
f348c3d8 262
a9c3e753
S
263XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
264Most of these are built within the directory F<utils>.
4dc623f0 265
a9c3e753
S
266[ List utility changes as a =head2 entry for each utility and =item
267entries for each change
268Use L<XXX> with program names to get proper documentation linking. ]
84d03adf 269
a9c3e753 270=head2 L<XXX>
ff433f2d 271
9ce6583e 272=over 4
4cd408ba 273
9ce6583e 274=item *
6ed80d55 275
a9c3e753 276XXX
9ce6583e 277
2ff1ebfe 278=back
ab0b796c 279
a9c3e753 280=head1 Configuration and Compilation
cd7bac54 281
a9c3e753
S
282XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
283go here. Any other changes to the Perl build process should be listed here.
284However, any platform-specific changes should be listed in the
285L</Platform Support> section, instead.
cd7bac54 286
a9c3e753 287[ List changes as a =item entry ].
8c6180a9 288
2ff1ebfe 289=over 4
0561e60b 290
9ce6583e 291=item *
dd200dff 292
a9c3e753 293XXX
c877af1b 294
cd7bac54 295=back
c877af1b 296
a9c3e753 297=head1 Testing
cd7bac54 298
a9c3e753
S
299XXX Any significant changes to the testing of a freshly built perl should be
300listed here. Changes which create B<new> files in F<t/> go here as do any
301large changes to the testing harness (e.g. when parallel testing was added).
302Changes to existing files in F<t/> aren't worth summarizing, although the bugs
303that they represent may be covered elsewhere.
cd7bac54 304
a9c3e753 305[ List each test improvement as a =item entry ]
bb8c7e27 306
b5d4d3b9 307=over 4
83b69bfd
DD
308
309=item *
310
a9c3e753 311XXX
13adb056 312
b5d4d3b9 313=back
391823f2 314
a9c3e753 315=head1 Platform Support
6c8457e9 316
a9c3e753 317XXX Any changes to platform support should be listed in the sections below.
6c8457e9 318
a9c3e753
S
319[ Within the sections, list each platform as a =item entry with specific
320changes as paragraphs below it. ]
db98db4e 321
a9c3e753 322=head2 New Platforms
8818afe8 323
a9c3e753
S
324XXX List any platforms that this version of perl compiles on, that previous
325versions did not. These will either be enabled by new files in the F<hints/>
326directories, or new subdirectories and F<README> files at the top level of the
327source tree.
8af808bf 328
2ff1ebfe 329=over 4
fdcaecb7 330
a9c3e753 331=item XXX-some-platform
fdcaecb7 332
a9c3e753 333XXX
2af7c6b6 334
4dc623f0 335=back
2af7c6b6 336
a9c3e753
S
337=head2 Discontinued Platforms
338
339XXX List any platforms that this version of perl no longer compiles on.
70cee83f 340
b5d4d3b9 341=over 4
e5fbfbc1 342
a9c3e753 343=item XXX-some-platform
b4045391 344
a9c3e753 345XXX
b4045391 346
2ff1ebfe 347=back
b4045391 348
2ff1ebfe 349=head2 Platform-Specific Notes
8c847e66 350
a9c3e753
S
351XXX List any changes for specific platforms. This could include configuration
352and compilation changes or changes in portability/compatibility. However,
353changes within modules for platforms should generally be listed in the
354L</Modules and Pragmata> section.
8c847e66 355
2ff1ebfe 356=over 4
d345f487 357
a9c3e753 358=item XXX-some-platform
d345f487 359
a9c3e753 360XXX
cd7bac54 361
4dc623f0 362=back
353075a0 363
a9c3e753 364=head1 Internal Changes
9f122eef 365
a9c3e753
S
366XXX Changes which affect the interface available to C<XS> code go here. Other
367significant internal changes for future core maintainers should be noted as
368well.
2ff1ebfe 369
a9c3e753 370[ List each change as a =item entry ]
2ff1ebfe 371
b5d4d3b9 372=over 4
2ec11c70
DM
373
374=item *
375
a9c3e753 376XXX
2683609f 377
4dc623f0 378=back
c7f058f0 379
4dc623f0 380=head1 Selected Bug Fixes
0ef4323a 381
a9c3e753
S
382XXX Important bug fixes in the core language are summarized here. Bug fixes in
383files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
567291b6 384
a9c3e753 385[ List each fix as a =item entry ]
436f6503 386
a9c3e753 387=over 4
2bf83140 388
041a5927
FC
389=item *
390
5268e911
TC
391Repeated global pattern matches in scalar context on large tainted
392strings were exponentially slow depending on the current match
393position in the string. [perl #123202]
041a5927 394
a9c3e753 395=back
ea13b07e 396
a9c3e753 397=head1 Known Problems
b65adbec 398
a9c3e753
S
399XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
400tests that had to be C<TODO>ed for the release would be noted here. Unfixed
401platform specific bugs also go here.
b65adbec 402
a9c3e753 403[ List each fix as a =item entry ]
370c71c5 404
a9c3e753 405=over 4
b94c7836
FC
406
407=item *
408
a9c3e753 409XXX
439f6100 410
a9c3e753 411=back
e3e8f263 412
a9c3e753 413=head1 Errata From Previous Releases
cd7bac54 414
a9c3e753 415=over 4
e3e8f263 416
cb6cc22b
TC
417=item *
418
a9c3e753
S
419XXX Add anything here that we forgot to add, or were mistaken about, in
420the perldelta of a previous release.
cb6cc22b 421
b5d4d3b9 422=back
fcfb7b86 423
a9c3e753 424=head1 Obituary
cd7bac54 425
a9c3e753
S
426XXX If any significant core contributor has died, we've added a short obituary
427here.
cd7bac54 428
a9c3e753 429=head1 Acknowledgements
541e1e0d 430
a9c3e753 431XXX Generate this with:
01d42a22 432
a9c3e753 433 perl Porting/acknowledgements.pl v5.21.9..HEAD
f5b73711 434
44691e6f
AB
435=head1 Reporting Bugs
436
e08634c5
SH
437If you find what you think is a bug, you might check the articles recently
438posted to the comp.lang.perl.misc newsgroup and the perl bug database at
238894db 439https://rt.perl.org/ . There may also be information at
7ef8b31d 440http://www.perl.org/ , the Perl Home Page.
44691e6f 441
e08634c5
SH
442If you believe you have an unreported bug, please run the L<perlbug> program
443included with your release. Be sure to trim your bug down to a tiny but
444sufficient test case. Your bug report, along with the output of C<perl -V>,
445will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
446
447If the bug you are reporting has security implications, which make it
e08634c5
SH
448inappropriate to send to a publicly archived mailing list, then please send it
449to perl5-security-report@perl.org. This points to a closed subscription
450unarchived mailing list, which includes all the core committers, who will be
451able to help assess the impact of issues, figure out a resolution, and help
f9001595 452co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
453platforms on which Perl is supported. Please only use this address for
454security issues in the Perl core, not for modules independently distributed on
455CPAN.
44691e6f
AB
456
457=head1 SEE ALSO
458
e08634c5
SH
459The F<Changes> file for an explanation of how to view exhaustive details on
460what changed.
44691e6f
AB
461
462The F<INSTALL> file for how to build Perl.
463
464The F<README> file for general stuff.
465
466The F<Artistic> and F<Copying> files for copyright information.
467
468=cut