This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Removed p5p-faq reference from perlhack.pod.
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
6253ee75
DR
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.17.8
e128ab2c 9
4eabcf70 10=head1 DESCRIPTION
6db9054f 11
6253ee75 12This document describes differences between the 5.17.7 release and the 5.17.8
e08634c5 13release.
6db9054f 14
6253ee75
DR
15If you are upgrading from an earlier release such as 5.17.6, first read
16L<perl5177delta>, which describes differences between 5.17.6 and 5.17.7.
bde9e88d 17
6253ee75 18=head1 Notice
86148eee 19
6253ee75 20XXX Any important notices here
dd271d7a 21
6253ee75 22=head1 Core Enhancements
dd271d7a 23
6253ee75
DR
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.
dd271d7a 27
6253ee75 28[ List each enhancement as a =head2 entry ]
dd271d7a 29
6253ee75 30=head1 Security
dd271d7a 31
6253ee75
DR
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.
dd271d7a 35
6253ee75 36[ List each security issue as a =head2 entry ]
dd271d7a 37
e14ac59b 38=head1 Incompatible Changes
90249f0a 39
6253ee75 40XXX For a release on a stable branch, this section aspires to be:
3ef6ec90 41
6253ee75
DR
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.
3ef6ec90 45
6253ee75 46[ List each incompatible change as a =head2 entry ]
3ef6ec90 47
6253ee75 48=head1 Deprecations
4d7cd482 49
6253ee75
DR
50XXX Any deprecated features, syntax, modules etc. should be listed here. In
51particular, deprecated modules should be listed here even if they are listed as
52an updated module in the L</Modules and Pragmata> section.
b7c7d786 53
6253ee75 54[ List each deprecation as a =head2 entry ]
b7c7d786 55
143aeb96
KW
56=head2 Various XS-callable functions are now deprecated
57
58All the functions used to classify characters will be removed from a
59future version of Perl, and should not be used. With participating C
60compilers (e.g., gcc), compiling any file that uses any of these will
61generate a warning. These were not intended for public use; there are
62equivalent, faster, macros for most of them.
63See L<perlapi/Character classes>. The complete list (including some
64that were deprecated in 5.17.7) is:
65C<is_uni_alnum>, C<is_uni_alnumc>, C<is_uni_alnumc_lc>,
66C<is_uni_alnum_lc>, C<is_uni_alpha>, C<is_uni_alpha_lc>,
67C<is_uni_ascii>, C<is_uni_ascii_lc>, C<is_uni_blank>,
68C<is_uni_blank_lc>, C<is_uni_cntrl>, C<is_uni_cntrl_lc>,
69C<is_uni_digit>, C<is_uni_digit_lc>, C<is_uni_graph>,
70C<is_uni_graph_lc>, C<is_uni_idfirst>, C<is_uni_idfirst_lc>,
71C<is_uni_lower>, C<is_uni_lower_lc>, C<is_uni_print>,
72C<is_uni_print_lc>, C<is_uni_punct>, C<is_uni_punct_lc>,
73C<is_uni_space>, C<is_uni_space_lc>, C<is_uni_upper>,
74C<is_uni_upper_lc>, C<is_uni_xdigit>, C<is_uni_xdigit_lc>,
75C<is_utf8_alnum>, C<is_utf8_alnumc>, C<is_utf8_alpha>,
76C<is_utf8_ascii>, C<is_utf8_blank>, C<is_utf8_char>,
77C<is_utf8_cntrl>, C<is_utf8_digit>, C<is_utf8_graph>,
78C<is_utf8_idcont>, C<is_utf8_idfirst>, C<is_utf8_lower>,
79C<is_utf8_mark>, C<is_utf8_perl_space>, C<is_utf8_perl_word>,
80C<is_utf8_posix_digit>, C<is_utf8_print>, C<is_utf8_punct>,
81C<is_utf8_space>, C<is_utf8_upper>, C<is_utf8_xdigit>,
82C<is_utf8_xidcont>, C<is_utf8_xidfirst>.
83
84In addition these three functions that have never worked properly are
85deprecated:
86C<to_uni_lower_lc>, C<to_uni_title_lc>, and C<to_uni_upper_lc>.
87
6253ee75 88=head1 Performance Enhancements
4d7cd482 89
6253ee75
DR
90XXX Changes which enhance performance without changing behaviour go here.
91There may well be none in a stable release.
751611d4 92
6253ee75 93[ List each enhancement as a =item entry ]
751611d4 94
6253ee75 95=over 4
751611d4
FC
96
97=item *
98
6253ee75 99XXX
751611d4 100
6253ee75 101=back
751611d4 102
6253ee75 103=head1 Modules and Pragmata
751611d4 104
6253ee75
DR
105XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
106go here. If Module::CoreList is updated, generate an initial draft of the
107following sections using F<Porting/corelist-perldelta.pl>, which prints stub
108entries to STDOUT. Results can be pasted in place of the '=head2' entries
109below. A paragraph summary for important changes should then be added by hand.
110In an ideal world, dual-life modules would have a F<Changes> file that could be
111cribbed.
751611d4 112
6253ee75 113[ Within each section, list entries as a =item entry ]
751611d4 114
6253ee75 115=head2 New Modules and Pragmata
751611d4 116
6253ee75 117=over 4
751611d4
FC
118
119=item *
120
6253ee75 121XXX
751611d4
FC
122
123=back
124
6253ee75 125=head2 Updated Modules and Pragmata
86148eee 126
e14ac59b 127=over 4
7a7a10c7 128
e14ac59b 129=item *
7a7a10c7 130
6253ee75 131L<XXX> has been upgraded from version A.xx to B.yy.
7a7a10c7 132
e14ac59b 133=back
7a7a10c7 134
6253ee75 135=head2 Removed Modules and Pragmata
c387386a 136
e14ac59b 137=over 4
32209f41 138
e14ac59b 139=item *
5faa50e9 140
6253ee75 141XXX
b7c7d786 142
6253ee75 143=back
b7c7d786 144
6253ee75 145=head1 Documentation
b7c7d786 146
6253ee75
DR
147XXX Changes to files in F<pod/> go here. Consider grouping entries by
148file and be sure to link to the appropriate page, e.g. L<perlfunc>.
5faa50e9 149
6253ee75 150=head2 New Documentation
fe03d33b 151
6253ee75 152XXX Changes which create B<new> files in F<pod/> go here.
fe03d33b 153
6253ee75 154=head3 L<XXX>
e14ac59b 155
6253ee75 156XXX Description of the purpose of the new file here
11e375e0 157
e14ac59b 158=head2 Changes to Existing Documentation
11e375e0 159
6253ee75
DR
160XXX Changes which significantly change existing files in F<pod/> go here.
161However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
162section.
163
164=head3 L<XXX>
11e375e0 165
e14ac59b 166=over 4
e498bd59
RS
167
168=item *
169
6253ee75 170XXX Description of the change here
cb077ed2 171
5d8c8c8a 172=back
5f877a7f 173
e14ac59b
RS
174=head1 Diagnostics
175
176The following additions or changes have been made to diagnostic output,
177including warnings and fatal error messages. For the complete list of
178diagnostic messages, see L<perldiag>.
1ea91bbe 179
6253ee75
DR
180XXX New or changed warnings emitted by the core's C<C> code go here. Also
181include any changes in L<perldiag> that reconcile it to the C<C> code.
182
183=head2 New Diagnostics
184
185XXX Newly added diagnostic messages go under here, separated into New Errors
186and New Warnings
187
188=head3 New Errors
e14ac59b 189
5d8c8c8a 190=over 4
5faa50e9 191
e14ac59b 192=item *
ddb1bef5 193
6253ee75 194XXX L<message|perldiag/"message">
11e375e0 195
e14ac59b 196=back
11e375e0 197
6253ee75 198=head3 New Warnings
11e375e0 199
e14ac59b 200=over 4
11e375e0
FC
201
202=item *
203
6253ee75 204XXX L<message|perldiag/"message">
463ea229 205
6253ee75 206=back
463ea229 207
6253ee75 208=head2 Changes to Existing Diagnostics
463ea229 209
6253ee75 210XXX Changes (i.e. rewording) of diagnostic messages go here
463ea229 211
6253ee75 212=over 4
e14ac59b 213
6253ee75 214=item *
8b877d20 215
6253ee75 216XXX Describe change here
8b877d20 217
6253ee75 218=back
e078d89d 219
6253ee75 220=head1 Utility Changes
e078d89d 221
6253ee75
DR
222XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
223Most of these are built within the directories F<utils> and F<x2p>.
e078d89d 224
6253ee75
DR
225[ List utility changes as a =head3 entry for each utility and =item
226entries for each change
227Use L<XXX> with program names to get proper documentation linking. ]
228
229=head3 L<XXX>
230
231=over 4
e078d89d
FC
232
233=item *
234
6253ee75 235XXX
e078d89d 236
6253ee75 237=back
e078d89d 238
6253ee75
DR
239=head1 Configuration and Compilation
240
241XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
242go here. Any other changes to the Perl build process should be listed here.
243However, any platform-specific changes should be listed in the
244L</Platform Support> section, instead.
e078d89d 245
6253ee75 246[ List changes as a =item entry ].
e078d89d 247
6253ee75 248=over 4
e078d89d 249
b7c7d786
FC
250=item *
251
6253ee75 252XXX
b7c7d786 253
e14ac59b
RS
254=back
255
6253ee75 256=head1 Testing
e14ac59b 257
6253ee75
DR
258XXX Any significant changes to the testing of a freshly built perl should be
259listed here. Changes which create B<new> files in F<t/> go here as do any
260large changes to the testing harness (e.g. when parallel testing was added).
261Changes to existing files in F<t/> aren't worth summarizing, although the bugs
262that they represent may be covered elsewhere.
11e375e0 263
6253ee75 264[ List each test improvement as a =item entry ]
11e375e0 265
6253ee75 266=over 4
e14ac59b 267
fdea6f98
FC
268=item *
269
6253ee75 270XXX
fdea6f98 271
6253ee75 272=back
7cf3104f 273
6253ee75 274=head1 Platform Support
7cf3104f 275
6253ee75 276XXX Any changes to platform support should be listed in the sections below.
966f0fdb 277
6253ee75
DR
278[ Within the sections, list each platform as a =item entry with specific
279changes as paragraphs below it. ]
966f0fdb 280
6253ee75 281=head2 New Platforms
edc013cb 282
6253ee75
DR
283XXX List any platforms that this version of perl compiles on, that previous
284versions did not. These will either be enabled by new files in the F<hints/>
285directories, or new subdirectories and F<README> files at the top level of the
286source tree.
edc013cb 287
6253ee75 288=over 4
7b5dd02a 289
6253ee75 290=item XXX-some-platform
7b5dd02a 291
6253ee75 292XXX
e078d89d 293
6253ee75 294=back
e078d89d 295
6253ee75 296=head2 Discontinued Platforms
a0e45bac 297
6253ee75 298XXX List any platforms that this version of perl no longer compiles on.
a0e45bac 299
6253ee75 300=over 4
139353f8 301
6253ee75 302=item XXX-some-platform
139353f8 303
6253ee75 304XXX
ba535ffe 305
6253ee75 306=back
ba535ffe 307
6253ee75 308=head2 Platform-Specific Notes
52c09c59 309
6253ee75
DR
310XXX List any changes for specific platforms. This could include configuration
311and compilation changes or changes in portability/compatibility. However,
312changes within modules for platforms should generally be listed in the
313L</Modules and Pragmata> section.
52c09c59 314
6253ee75 315=over 4
12b847a2 316
6253ee75 317=item XXX-some-platform
12b847a2 318
6253ee75 319XXX
6e50262c 320
6253ee75 321=back
6e50262c 322
6253ee75 323=head1 Internal Changes
785fb813 324
6253ee75
DR
325XXX Changes which affect the interface available to C<XS> code go here. Other
326significant internal changes for future core maintainers should be noted as
327well.
785fb813 328
6253ee75 329[ List each change as a =item entry ]
f5778209 330
6253ee75 331=over 4
f5778209 332
216cf7fc
DR
333=item *
334
6253ee75 335XXX
216cf7fc 336
6253ee75 337=back
216cf7fc 338
6253ee75 339=head1 Selected Bug Fixes
216cf7fc 340
6253ee75
DR
341XXX Important bug fixes in the core language are summarized here. Bug fixes in
342files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
216cf7fc 343
6253ee75 344[ List each fix as a =item entry ]
216cf7fc 345
6253ee75 346=over 4
216cf7fc 347
6253ee75 348=item *
216cf7fc 349
e2beedf4
DD
350A bug in the core typemap caused any C types that map to the T_BOOL core
351typemap entry to not be set, updated, or modified when the T_BOOL variable was
352used in an OUTPUT: section with an exception for RETVAL. T_BOOL in an INPUT:
353section was not affected. Using a T_BOOL return type for an XSUB (RETVAL)
354was not affected. A side effect of fixing this bug is, if a T_BOOL is specified
355in the OUTPUT: section (which previous did nothing to the SV), and a read only
356SV (literal) is passed to the XSUB, croaks like "Modification of a read-only
357value attempted" will happen. [perl #115796]
216cf7fc 358
6253ee75 359=back
6c042f06 360
6253ee75 361=head1 Known Problems
6c042f06 362
6253ee75
DR
363XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
364tests that had to be C<TODO>ed for the release would be noted here. Unfixed
365platform specific bugs also go here.
216cf7fc 366
6253ee75 367[ List each fix as a =item entry ]
e14ac59b 368
6253ee75 369=over 4
3cf48cac 370
6253ee75 371=item *
3cf48cac 372
6253ee75 373XXX
05bee12a 374
6253ee75 375=back
f5b73711 376
6253ee75 377=head1 Obituary
f5b73711 378
6253ee75
DR
379XXX If any significant core contributor has died, we've added a short obituary
380here.
f5b73711 381
6253ee75 382=head1 Acknowledgements
f5b73711 383
6253ee75 384XXX Generate this with:
f5b73711 385
6253ee75 386 perl Porting/acknowledgements.pl v5.17.7..HEAD
f5b73711 387
44691e6f
AB
388=head1 Reporting Bugs
389
e08634c5
SH
390If you find what you think is a bug, you might check the articles recently
391posted to the comp.lang.perl.misc newsgroup and the perl bug database at
392http://rt.perl.org/perlbug/ . There may also be information at
393http://www.perl.org/ , the Perl Home Page.
44691e6f 394
e08634c5
SH
395If you believe you have an unreported bug, please run the L<perlbug> program
396included with your release. Be sure to trim your bug down to a tiny but
397sufficient test case. Your bug report, along with the output of C<perl -V>,
398will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
399
400If the bug you are reporting has security implications, which make it
e08634c5
SH
401inappropriate to send to a publicly archived mailing list, then please send it
402to perl5-security-report@perl.org. This points to a closed subscription
403unarchived mailing list, which includes all the core committers, who will be
404able to help assess the impact of issues, figure out a resolution, and help
f9001595 405co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
406platforms on which Perl is supported. Please only use this address for
407security issues in the Perl core, not for modules independently distributed on
408CPAN.
44691e6f
AB
409
410=head1 SEE ALSO
411
e08634c5
SH
412The F<Changes> file for an explanation of how to view exhaustive details on
413what changed.
44691e6f
AB
414
415The F<INSTALL> file for how to build Perl.
416
417The F<README> file for general stuff.
418
419The F<Artistic> and F<Copying> files for copyright information.
420
421=cut