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