This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #114864] Don’t use amt for DESTROY
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
5d8c8c8a
FR
5[ this is a template for a new perldelta file. Any text flagged as XXX needs
6to be processed before release. ]
7
7e7cfa2d 8perldelta - what is new for perl v5.17.6
e128ab2c 9
4eabcf70 10=head1 DESCRIPTION
6db9054f 11
7e7cfa2d 12This document describes differences between the 5.17.5 release and the 5.17.6
e08634c5 13release.
6db9054f 14
7e7cfa2d
FR
15If you are upgrading from an earlier release such as 5.17.4, first read
16L<perl5175delta>, which describes differences between 5.17.4 and 5.17.5.
5faa50e9 17
5d8c8c8a 18=head1 Notice
b932b266 19
5d8c8c8a 20XXX Any important notices here
b932b266 21
5d8c8c8a 22=head1 Core Enhancements
4db91b87 23
5d8c8c8a
FR
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.
4db91b87 27
5d8c8c8a 28[ List each enhancement as a =head2 entry ]
4db91b87 29
bde9e88d
KW
30=head2 Character name aliases may now include non-Latin1-range characters
31
32It is possible to define your own names for characters for use in
33C<\N{...}>, C<charnames::vianame()>, etc. These names can now be
34comprised of characters from the whole Unicode range. This allows for
35names to be in your native language, and not just English. Certain
36restrictions apply to the characters that may be used (you can't define
37a name that has punctuation in it, for example). See L<charnames/CUSTOM
38ALIASES>.
39
5d8c8c8a 40=head1 Security
4db91b87 41
5d8c8c8a
FR
42XXX Any security-related notices go here. In particular, any security
43vulnerabilities closed should be noted here rather than in the
44L</Selected Bug Fixes> section.
4db91b87 45
5d8c8c8a 46[ List each security issue as a =head2 entry ]
4db91b87 47
916c45d9 48=head1 Incompatible Changes
9c5f5e7a 49
5d8c8c8a 50XXX For a release on a stable branch, this section aspires to be:
4db91b87 51
5d8c8c8a
FR
52 There are no changes intentionally incompatible with 5.XXX.XXX
53 If any exist, they are bugs, and we request that you submit a
54 report. See L</Reporting Bugs> below.
4db91b87 55
5d8c8c8a 56[ List each incompatible change as a =head2 entry ]
4db91b87 57
90249f0a
KW
58=head2 An unknown character name in C<\N{...}> is now a syntax error
59
60Previously, it warned, and the Unicode REPLACEMENT CHARACTER was
61substituted. Unicode now recommends that this situation be a syntax
62error. Also, the previous behavior led to some confusing warnings and
63behaviors, and since the REPLACEMENT CHARACTER has no use other than as
64a stand-in for some unknown character, any code that has this problem is
65buggy.
66
4d7cd482
KW
67=head2 Formerly deprecated characters in C<\N{}> character name aliases are now errors.
68
69Since v5.12.0, it has been deprecated to use certain characters in
70user-defined C<\N{...}> character names. These now cause a syntax
71error. For example, it is now an error to begin a name with a digit,
72such as in
73
74 my $undraftable = "\N{4F}"; # Syntax error!
75
76or to have commas anywhere in the name. See L<charnames/CUSTOM ALIASES>
77
5d8c8c8a 78=head1 Deprecations
4db91b87 79
5d8c8c8a
FR
80XXX Any deprecated features, syntax, modules etc. should be listed here. In
81particular, deprecated modules should be listed here even if they are listed as
82an updated module in the L</Modules and Pragmata> section.
4db91b87 83
5d8c8c8a 84[ List each deprecation as a =head2 entry ]
4db91b87 85
5d8c8c8a 86=head1 Performance Enhancements
45f11e9c 87
5d8c8c8a
FR
88XXX Changes which enhance performance without changing behaviour go here.
89There may well be none in a stable release.
45f11e9c 90
5d8c8c8a 91[ List each enhancement as a =item entry ]
9c5f5e7a 92
916c45d9 93=over 4
338a1057
SH
94
95=item *
96
5d8c8c8a 97XXX
0ace302a 98
5d8c8c8a 99=back
5faa50e9 100
5d8c8c8a 101=head1 Modules and Pragmata
5faa50e9 102
5d8c8c8a
FR
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>, which prints stub
106entries to STDOUT. Results can be pasted in place of the '=head2' entries
107below. A paragraph summary for important changes should then be added by hand.
108In an ideal world, dual-life modules would have a F<Changes> file that could be
109cribbed.
5faa50e9 110
5d8c8c8a 111[ Within each section, list entries as a =item entry ]
5faa50e9 112
5d8c8c8a 113=head2 New Modules and Pragmata
5faa50e9 114
5d8c8c8a 115=over 4
5faa50e9
FR
116
117=item *
118
5d8c8c8a 119XXX
5faa50e9 120
916c45d9 121=back
0ace302a 122
916c45d9 123=head2 Updated Modules and Pragmata
4cc02608 124
916c45d9 125=over 4
e7b92d54
SH
126
127=item *
128
7b379596
CB
129L<CPAN> has been upgraded from version 1.98 to 1.99_51.
130
5c26a176
SH
131=item *
132
133L<DynaLoader> has been upgraded from version 1.16 to 1.17.
134
cb077ed2
DD
135=item *
136
137L<Tie::Hash::NamedCapture> has been upgraded from version 0.08 to 0.09.
138
5d8c8c8a 139=back
5f877a7f 140
5d8c8c8a 141=head2 Removed Modules and Pragmata
5f877a7f 142
5d8c8c8a 143=over 4
2a527d37
SH
144
145=item *
146
5d8c8c8a 147XXX
5faa50e9 148
5d8c8c8a 149=back
5faa50e9 150
5d8c8c8a 151=head1 Documentation
5faa50e9 152
5d8c8c8a
FR
153XXX Changes to files in F<pod/> go here. Consider grouping entries by
154file and be sure to link to the appropriate page, e.g. L<perlfunc>.
9c5f5e7a 155
5d8c8c8a 156=head2 New Documentation
5faa50e9 157
5d8c8c8a 158XXX Changes which create B<new> files in F<pod/> go here.
eebee32b 159
5d8c8c8a 160=head3 L<XXX>
eebee32b 161
5d8c8c8a 162XXX Description of the purpose of the new file here
1ea91bbe 163
5d8c8c8a 164=head2 Changes to Existing Documentation
1ea91bbe 165
5d8c8c8a
FR
166XXX Changes which significantly change existing files in F<pod/> go here.
167However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
168section.
5faa50e9 169
5d8c8c8a 170=head3 L<XXX>
5faa50e9 171
5d8c8c8a 172=over 4
1ea91bbe
FR
173
174=item *
175
5d8c8c8a 176XXX Description of the change here
5faa50e9 177
916c45d9 178=back
9c5f5e7a 179
4eabcf70 180=head1 Diagnostics
05c8f9ed 181
4eabcf70
TC
182The following additions or changes have been made to diagnostic output,
183including warnings and fatal error messages. For the complete list of
184diagnostic messages, see L<perldiag>.
ceb0881c 185
5d8c8c8a
FR
186XXX New or changed warnings emitted by the core's C<C> code go here. Also
187include any changes in L<perldiag> that reconcile it to the C<C> code.
90519d0f 188
5d8c8c8a 189=head2 New Diagnostics
4db91b87 190
5d8c8c8a
FR
191XXX Newly added diagnostic messages go under here, separated into New Errors
192and New Warnings
4db91b87 193
5d8c8c8a 194=head3 New Errors
4db91b87 195
5d8c8c8a 196=over 4
4db91b87
FC
197
198=item *
199
5d8c8c8a 200XXX L<message|perldiag/"message">
4db91b87 201
5d8c8c8a 202=back
4db91b87 203
5d8c8c8a 204=head3 New Warnings
4db91b87 205
5d8c8c8a 206=over 4
90519d0f 207
1ea91bbe
FR
208=item *
209
5d8c8c8a 210XXX L<message|perldiag/"message">
1ea91bbe 211
61174fb5 212=back
422287bf 213
916c45d9 214=head2 Changes to Existing Diagnostics
c95d4104 215
5d8c8c8a
FR
216XXX Changes (i.e. rewording) of diagnostic messages go here
217
4eabcf70 218=over 4
7ab2ea42 219
916c45d9 220=item *
7ab2ea42 221
7e7cfa2d 222XXX Describe change here
4db91b87 223
5d8c8c8a 224=back
1ea91bbe 225
5d8c8c8a 226=head1 Utility Changes
1ea91bbe 227
5d8c8c8a
FR
228XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
229Most of these are built within the directories F<utils> and F<x2p>.
1ea91bbe 230
5d8c8c8a
FR
231[ List utility changes as a =head3 entry for each utility and =item
232entries for each change
233Use L<XXX> with program names to get proper documentation linking. ]
1ea91bbe 234
7e7cfa2d 235=head3 L<XXX>
d7f7c515 236
916c45d9 237=over 4
afc04f16 238
b4cf37f5
FC
239=item *
240
7e7cfa2d 241XXX
b4cf37f5 242
916c45d9 243=back
b4cf37f5 244
5d8c8c8a 245=head1 Configuration and Compilation
a21a3918 246
5d8c8c8a
FR
247XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
248go here. Any other changes to the Perl build process should be listed here.
249However, any platform-specific changes should be listed in the
250L</Platform Support> section, instead.
a21a3918 251
5d8c8c8a 252[ List changes as a =item entry ].
a21a3918 253
916c45d9 254=over 4
60ca243a 255
5d8c8c8a 256=item *
eebee32b 257
5d8c8c8a 258XXX
eebee32b 259
916c45d9 260=back
d91f1bc9 261
5d8c8c8a 262=head1 Testing
d91f1bc9 263
5d8c8c8a
FR
264XXX Any significant changes to the testing of a freshly built perl should be
265listed here. Changes which create B<new> files in F<t/> go here as do any
266large changes to the testing harness (e.g. when parallel testing was added).
267Changes to existing files in F<t/> aren't worth summarizing, although the bugs
268that they represent may be covered elsewhere.
3c774534 269
5d8c8c8a 270[ List each test improvement as a =item entry ]
050862bb 271
5d8c8c8a 272=over 4
050862bb
DM
273
274=item *
275
5d8c8c8a 276XXX
050862bb 277
916c45d9 278=back
d91f1bc9 279
5d8c8c8a 280=head1 Platform Support
4db91b87 281
5d8c8c8a 282XXX Any changes to platform support should be listed in the sections below.
4db91b87 283
5d8c8c8a
FR
284[ Within the sections, list each platform as a =item entry with specific
285changes as paragraphs below it. ]
4db91b87 286
5d8c8c8a 287=head2 New Platforms
4db91b87 288
5d8c8c8a
FR
289XXX List any platforms that this version of perl compiles on, that previous
290versions did not. These will either be enabled by new files in the F<hints/>
291directories, or new subdirectories and F<README> files at the top level of the
292source tree.
4db91b87 293
5d8c8c8a 294=over 4
4db91b87 295
5d8c8c8a 296=item XXX-some-platform
4db91b87 297
5d8c8c8a 298XXX
4db91b87 299
5d8c8c8a 300=back
4db91b87 301
5d8c8c8a 302=head2 Discontinued Platforms
4db91b87 303
5d8c8c8a 304XXX List any platforms that this version of perl no longer compiles on.
4db91b87 305
5d8c8c8a 306=over 4
4db91b87 307
7e7cfa2d 308=item XXX-some-platform
4db91b87 309
7e7cfa2d 310XXX
4db91b87 311
5d8c8c8a 312=back
5faa50e9 313
5d8c8c8a 314=head2 Platform-Specific Notes
5faa50e9 315
5d8c8c8a
FR
316XXX List any changes for specific platforms. This could include configuration
317and compilation changes or changes in portability/compatibility. However,
318changes within modules for platforms should generally be listed in the
319L</Modules and Pragmata> section.
5faa50e9 320
5d8c8c8a 321=over 4
5faa50e9 322
7e7cfa2d 323=item XXX-some-platform
5faa50e9 324
7e7cfa2d 325XXX
5faa50e9 326
5d8c8c8a 327=back
5faa50e9 328
5d8c8c8a 329=head1 Internal Changes
5faa50e9 330
5d8c8c8a
FR
331XXX Changes which affect the interface available to C<XS> code go here. Other
332significant internal changes for future core maintainers should be noted as
333well.
5faa50e9 334
5d8c8c8a 335[ List each change as a =item entry ]
5faa50e9 336
5d8c8c8a 337=over 4
5faa50e9
FR
338
339=item *
340
cb077ed2
DD
341The private Perl_croak_no_modify has had its context parameter removed. It is
342now has a void prototype. Users of the public API croak_no_modify remain
343unaffected.
344
345=item *
346
7e7cfa2d 347XXX
90814a4e 348
5d8c8c8a 349=back
31c15ce5 350
5d8c8c8a 351=head1 Selected Bug Fixes
4db91b87 352
5d8c8c8a
FR
353XXX Important bug fixes in the core language are summarized here. Bug fixes in
354files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
4db91b87 355
5d8c8c8a 356[ List each fix as a =item entry ]
4db91b87 357
5d8c8c8a 358=over 4
4db91b87
FC
359
360=item *
361
7e7cfa2d 362XXX
2d9cd31f 363
5d8c8c8a 364=back
4db91b87 365
5d8c8c8a 366=head1 Known Problems
4db91b87 367
5d8c8c8a
FR
368XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
369tests that had to be C<TODO>ed for the release would be noted here. Unfixed
370platform specific bugs also go here.
4db91b87 371
5d8c8c8a 372[ List each fix as a =item entry ]
4db91b87 373
5d8c8c8a 374=over 4
4db91b87 375
45f11e9c
FC
376=item *
377
5d8c8c8a 378XXX
45f11e9c 379
916c45d9 380=back
d91f1bc9 381
5d8c8c8a 382=head1 Obituary
d91f1bc9 383
5d8c8c8a
FR
384XXX If any significant core contributor has died, we've added a short obituary
385here.
90519d0f 386
916c45d9 387=head1 Acknowledgements
05bee12a 388
5d8c8c8a
FR
389XXX Generate this with:
390
7e7cfa2d 391 perl Porting/acknowledgements.pl v5.17.5..HEAD
29cf780c 392
44691e6f
AB
393=head1 Reporting Bugs
394
e08634c5
SH
395If you find what you think is a bug, you might check the articles recently
396posted to the comp.lang.perl.misc newsgroup and the perl bug database at
397http://rt.perl.org/perlbug/ . There may also be information at
398http://www.perl.org/ , the Perl Home Page.
44691e6f 399
e08634c5
SH
400If you believe you have an unreported bug, please run the L<perlbug> program
401included with your release. Be sure to trim your bug down to a tiny but
402sufficient test case. Your bug report, along with the output of C<perl -V>,
403will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
404
405If the bug you are reporting has security implications, which make it
e08634c5
SH
406inappropriate to send to a publicly archived mailing list, then please send it
407to perl5-security-report@perl.org. This points to a closed subscription
408unarchived mailing list, which includes all the core committers, who will be
409able to help assess the impact of issues, figure out a resolution, and help
f9001595 410co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
411platforms on which Perl is supported. Please only use this address for
412security issues in the Perl core, not for modules independently distributed on
413CPAN.
44691e6f
AB
414
415=head1 SEE ALSO
416
e08634c5
SH
417The F<Changes> file for an explanation of how to view exhaustive details on
418what changed.
44691e6f
AB
419
420The F<INSTALL> file for how to build Perl.
421
422The F<README> file for general stuff.
423
424The F<Artistic> and F<Copying> files for copyright information.
425
426=cut