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