This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
fix warning in PmopSTASH_set()
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
e14ac59b
RS
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.7
e128ab2c 9
4eabcf70 10=head1 DESCRIPTION
6db9054f 11
e14ac59b 12This document describes differences between the 5.17.6 release and the 5.17.7
e08634c5 13release.
6db9054f 14
e14ac59b
RS
15If you are upgrading from an earlier release such as 5.17.5, first read
16L<perl5176delta>, which describes differences between 5.17.5 and 5.17.6.
17
18=head1 Notice
19
20XXX Any important notices here
5faa50e9 21
5d8c8c8a 22=head1 Core Enhancements
4db91b87 23
e14ac59b
RS
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.
bde9e88d 27
e14ac59b 28[ List each enhancement as a =head2 entry ]
bde9e88d 29
e14ac59b 30=head1 Security
86148eee 31
e14ac59b
RS
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.
86148eee 35
e14ac59b 36[ List each security issue as a =head2 entry ]
9c5f5e7a 37
e14ac59b 38=head1 Incompatible Changes
90249f0a 39
e14ac59b 40XXX For a release on a stable branch, this section aspires to be:
90249f0a 41
e14ac59b
RS
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.
4d7cd482 45
e14ac59b 46[ List each incompatible change as a =head2 entry ]
4d7cd482 47
e14ac59b 48=head1 Deprecations
4d7cd482 49
e14ac59b
RS
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.
4d7cd482 53
e14ac59b 54[ List each deprecation as a =head2 entry ]
86148eee 55
61b19385
KW
56=head2 Various XS-callable functions are now deprecated
57
58The following functions will be removed from a future version of Perl,
59and should not be used. With participating C compilers (e.g., gcc),
60compiling any file that uses any of these will generate a warning.
61These were not intended for public use; there are equivalent, faster,
62macros for most of them. See L<perlapi/Character classes>:
63C<is_uni_ascii>,
64C<is_uni_ascii_lc>,
65C<is_uni_blank>,
66C<is_uni_blank_lc>,
67C<is_uni_cntrl>,
68C<is_uni_cntrl_lc>,
69C<is_uni_idfirst_lc>,
70C<is_uni_space>,
71C<is_uni_space_lc>,
72C<is_uni_xdigit>,
73C<is_uni_xdigit_lc>,
74C<is_utf8_ascii>,
75C<is_utf8_blank>,
76C<is_utf8_cntrl>,
77C<is_utf8_idcont>,
78C<is_utf8_idfirst>,
79C<is_utf8_perl_space>,
80C<is_utf8_perl_word>,
81C<is_utf8_posix_digit>,
82C<is_utf8_space>,
83C<is_utf8_xdigit>.
84C<is_utf8_xidcont>,
85C<is_utf8_xidfirst>,
86C<to_uni_lower_lc>,
87C<to_uni_title_lc>,
88and
89C<to_uni_upper_lc>.
90
e14ac59b 91=head1 Performance Enhancements
86148eee 92
e14ac59b
RS
93XXX Changes which enhance performance without changing behaviour go here.
94There may well be none in a stable release.
86148eee 95
e14ac59b 96[ List each enhancement as a =item entry ]
1611045a 97
e14ac59b 98=over 4
7a7a10c7 99
e14ac59b 100=item *
7a7a10c7 101
e14ac59b 102XXX
7a7a10c7 103
e14ac59b 104=back
7a7a10c7 105
e14ac59b 106=head1 Modules and Pragmata
7a7a10c7 107
e14ac59b
RS
108XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
109go here. If Module::CoreList is updated, generate an initial draft of the
110following sections using F<Porting/corelist-perldelta.pl>, which prints stub
111entries to STDOUT. Results can be pasted in place of the '=head2' entries
112below. A paragraph summary for important changes should then be added by hand.
113In an ideal world, dual-life modules would have a F<Changes> file that could be
114cribbed.
7a7a10c7 115
e14ac59b 116[ Within each section, list entries as a =item entry ]
7a7a10c7 117
e14ac59b 118=head2 New Modules and Pragmata
45f11e9c 119
916c45d9 120=over 4
338a1057
SH
121
122=item *
123
e14ac59b 124XXX
0ace302a 125
e14ac59b 126=back
32209f41 127
e14ac59b 128=head2 Updated Modules and Pragmata
c387386a 129
e14ac59b 130=over 4
32209f41 131
e14ac59b 132=item *
5faa50e9 133
e14ac59b 134L<XXX> has been upgraded from version A.xx to B.yy.
5faa50e9 135
e14ac59b
RS
136=back
137
138=head2 Removed Modules and Pragmata
4cc02608 139
916c45d9 140=over 4
e7b92d54
SH
141
142=item *
143
e14ac59b 144XXX
11e375e0 145
e14ac59b 146=back
11e375e0 147
e14ac59b 148=head1 Documentation
11e375e0 149
e14ac59b
RS
150XXX Changes to files in F<pod/> go here. Consider grouping entries by
151file and be sure to link to the appropriate page, e.g. L<perlfunc>.
7b379596 152
e14ac59b 153=head2 New Documentation
5c26a176 154
e14ac59b 155XXX Changes which create B<new> files in F<pod/> go here.
5c26a176 156
e14ac59b 157=head3 L<XXX>
cb077ed2 158
e14ac59b 159XXX Description of the purpose of the new file here
11e375e0 160
e14ac59b 161=head2 Changes to Existing Documentation
11e375e0 162
e14ac59b
RS
163XXX Changes which significantly change existing files in F<pod/> go here.
164However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
165section.
166
243effed 167=head3 L<perlapi/Character classes>
11e375e0 168
e14ac59b 169=over 4
e498bd59
RS
170
171=item *
172
243effed
KW
173There are quite a few macros callable from XS modules that classify
174characters into things like alphabetic, punctuation, etc. More of these
175are now documented, including ones which work on characters whose code
176points are outside the Latin-1 range.
cb077ed2 177
5d8c8c8a 178=back
5f877a7f 179
e14ac59b
RS
180=head1 Diagnostics
181
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>.
1ea91bbe 185
e14ac59b
RS
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.
188
189=head2 New Diagnostics
190
191XXX Newly added diagnostic messages go under here, separated into New Errors
192and New Warnings
193
194=head3 New Errors
5faa50e9 195
5d8c8c8a 196=over 4
1ea91bbe
FR
197
198=item *
199
e14ac59b 200XXX L<message|perldiag/"message">
5faa50e9 201
916c45d9 202=back
9c5f5e7a 203
e14ac59b 204=head3 New Warnings
4db91b87 205
5d8c8c8a 206=over 4
4db91b87 207
e14ac59b 208=item *
4db91b87 209
e14ac59b 210XXX L<message|perldiag/"message">
4db91b87 211
5d8c8c8a 212=back
5faa50e9 213
e14ac59b
RS
214=head2 Changes to Existing Diagnostics
215
216XXX Changes (i.e. rewording) of diagnostic messages go here
5faa50e9 217
5d8c8c8a 218=over 4
5faa50e9 219
e14ac59b 220=item *
ddb1bef5 221
e14ac59b 222XXX Describe change here
ddb1bef5 223
e14ac59b 224=back
5faa50e9 225
e14ac59b 226=head1 Utility Changes
5faa50e9 227
e14ac59b
RS
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>.
5faa50e9 230
e14ac59b
RS
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. ]
234
235=head3 L<XXX>
5faa50e9 236
5d8c8c8a 237=over 4
5faa50e9
FR
238
239=item *
240
e14ac59b 241XXX
cb077ed2 242
e14ac59b
RS
243=back
244
245=head1 Configuration and Compilation
246
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.
cb077ed2 251
e14ac59b
RS
252[ List changes as a =item entry ].
253
254=over 4
90814a4e 255
5ce83ae9
DM
256=item *
257
e14ac59b 258XXX
5ce83ae9 259
5d8c8c8a 260=back
31c15ce5 261
e14ac59b
RS
262=head1 Testing
263
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.
269
270[ List each test improvement as a =item entry ]
4db91b87 271
5d8c8c8a 272=over 4
4db91b87
FC
273
274=item *
275
e14ac59b 276XXX
11e375e0 277
e14ac59b 278=back
11e375e0 279
e14ac59b 280=head1 Platform Support
11e375e0 281
e14ac59b 282XXX Any changes to platform support should be listed in the sections below.
11e375e0 283
e14ac59b
RS
284[ Within the sections, list each platform as a =item entry with specific
285changes as paragraphs below it. ]
11e375e0 286
e14ac59b 287=head2 New Platforms
11e375e0 288
e14ac59b
RS
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.
11e375e0 293
e14ac59b 294=over 4
11e375e0 295
e14ac59b 296=item XXX-some-platform
11e375e0 297
e14ac59b 298XXX
11e375e0 299
e14ac59b 300=back
11e375e0 301
e14ac59b 302=head2 Discontinued Platforms
11e375e0 303
e14ac59b 304XXX List any platforms that this version of perl no longer compiles on.
11e375e0 305
e14ac59b 306=over 4
11e375e0 307
e14ac59b 308=item XXX-some-platform
11e375e0 309
e14ac59b 310XXX
11e375e0 311
e14ac59b 312=back
11e375e0 313
e14ac59b 314=head2 Platform-Specific Notes
11e375e0 315
e14ac59b
RS
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.
11e375e0 320
e14ac59b 321=over 4
11e375e0 322
e14ac59b 323=item XXX-some-platform
11e375e0 324
e14ac59b 325XXX
11e375e0 326
e14ac59b 327=back
11e375e0 328
e14ac59b 329=head1 Internal Changes
11e375e0 330
e14ac59b
RS
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.
11e375e0 334
e14ac59b 335[ List each change as a =item entry ]
11e375e0 336
e14ac59b 337=over 4
11e375e0
FC
338
339=item *
340
e14ac59b
RS
341XXX
342
343=back
344
345=head1 Selected Bug Fixes
346
347XXX Important bug fixes in the core language are summarized here. Bug fixes in
348files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
349
350[ List each fix as a =item entry ]
351
352=over 4
11e375e0
FC
353
354=item *
355
e14ac59b
RS
356XXX
357
358=back
359
360=head1 Known Problems
361
362XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
363tests that had to be C<TODO>ed for the release would be noted here. Unfixed
364platform specific bugs also go here.
365
366[ List each fix as a =item entry ]
367
368=over 4
2d9cd31f 369
c9ac5216
FC
370=item *
371
e14ac59b 372XXX
c9ac5216 373
5d8c8c8a 374=back
4db91b87 375
e14ac59b
RS
376=head1 Obituary
377
378XXX If any significant core contributor has died, we've added a short obituary
379here.
380
916c45d9 381=head1 Acknowledgements
05bee12a 382
e14ac59b
RS
383XXX Generate this with:
384
385 perl Porting/acknowledgements.pl v5.17.6..HEAD
29cf780c 386
44691e6f
AB
387=head1 Reporting Bugs
388
e08634c5
SH
389If you find what you think is a bug, you might check the articles recently
390posted to the comp.lang.perl.misc newsgroup and the perl bug database at
391http://rt.perl.org/perlbug/ . There may also be information at
392http://www.perl.org/ , the Perl Home Page.
44691e6f 393
e08634c5
SH
394If you believe you have an unreported bug, please run the L<perlbug> program
395included with your release. Be sure to trim your bug down to a tiny but
396sufficient test case. Your bug report, along with the output of C<perl -V>,
397will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
398
399If the bug you are reporting has security implications, which make it
e08634c5
SH
400inappropriate to send to a publicly archived mailing list, then please send it
401to perl5-security-report@perl.org. This points to a closed subscription
402unarchived mailing list, which includes all the core committers, who will be
403able to help assess the impact of issues, figure out a resolution, and help
f9001595 404co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
405platforms on which Perl is supported. Please only use this address for
406security issues in the Perl core, not for modules independently distributed on
407CPAN.
44691e6f
AB
408
409=head1 SEE ALSO
410
e08634c5
SH
411The F<Changes> file for an explanation of how to view exhaustive details on
412what changed.
44691e6f
AB
413
414The F<INSTALL> file for how to build Perl.
415
416The F<README> file for general stuff.
417
418The F<Artistic> and F<Copying> files for copyright information.
419
420=cut