This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
PL_sv_objcount deprecation notice
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
5a6a30f4
CBW
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.10
e128ab2c 9
4eabcf70 10=head1 DESCRIPTION
6db9054f 11
5a6a30f4 12This document describes differences between the 5.17.9 release and the 5.17.10
e08634c5 13release.
6db9054f 14
5a6a30f4
CBW
15If you are upgrading from an earlier release such as 5.17.8, first read
16L<perl5179delta>, which describes differences between 5.17.8 and 5.17.9.
3f01b192 17
5a6a30f4 18=head1 Notice
3f01b192 19
5a6a30f4 20XXX Any important notices here
3f01b192 21
5a6a30f4 22=head1 Core Enhancements
3f01b192 23
5a6a30f4
CBW
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.
3f01b192 27
5a6a30f4 28[ List each enhancement as a =head2 entry ]
3f01b192 29
5a6a30f4 30=head1 Security
3f01b192 31
5a6a30f4
CBW
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.
3f01b192 35
5a6a30f4 36[ List each security issue as a =head2 entry ]
3f01b192 37
5a6a30f4 38=head1 Incompatible Changes
3f01b192 39
5a6a30f4 40XXX For a release on a stable branch, this section aspires to be:
3f01b192 41
5a6a30f4
CBW
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.
3f01b192 45
5a6a30f4 46[ List each incompatible change as a =head2 entry ]
3f01b192 47
5a6a30f4 48=head1 Deprecations
3f01b192 49
5a6a30f4
CBW
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.
3f01b192 53
5a6a30f4 54[ List each deprecation as a =head2 entry ]
3f01b192 55
d7a08570
S
56=head2 PL_sv_objcount
57
58This interpreter-global variable used to track the total number of
59Perl objects in the interpreter. It is no longer maintained and will
60be removed altogether in Perl 5.20.
61
5a6a30f4 62=head1 Performance Enhancements
3f01b192 63
5a6a30f4
CBW
64XXX Changes which enhance performance without changing behaviour go here.
65There may well be none in a stable release.
3f01b192 66
5a6a30f4 67[ List each enhancement as a =item entry ]
3f01b192 68
5a6a30f4 69=over 4
3f01b192 70
5a6a30f4 71=item *
3f01b192 72
5a6a30f4 73XXX
3f01b192
CBW
74
75=back
76
5a6a30f4 77=head1 Modules and Pragmata
3f01b192 78
5a6a30f4
CBW
79XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
80go here. If Module::CoreList is updated, generate an initial draft of the
81following sections using F<Porting/corelist-perldelta.pl>, which prints stub
82entries to STDOUT. Results can be pasted in place of the '=head2' entries
83below. A paragraph summary for important changes should then be added by hand.
84In an ideal world, dual-life modules would have a F<Changes> file that could be
85cribbed.
ff56e4f1 86
5a6a30f4 87[ Within each section, list entries as a =item entry ]
19718730 88
19718730 89=head2 New Modules and Pragmata
751611d4 90
6253ee75 91=over 4
751611d4
FC
92
93=item *
94
5a6a30f4 95XXX
751611d4 96
19718730 97=back
86148eee 98
19718730
AC
99=head2 Updated Modules and Pragmata
100
101=over 4
7a7a10c7 102
e14ac59b 103=item *
7a7a10c7 104
a2656c4a
DM
105L<Benchmark> has been upgraded from version 1.14 to 1.15.
106
107This reverts (for now) a change in 1.14 whereby the "too few iterations"
108message became a warning on STDERR instead of being output on STDOUT. It's
109now on STDOUT again.
2426c394 110
5a6a30f4 111=back
2426c394 112
5a6a30f4 113=head2 Removed Modules and Pragmata
2426c394 114
5a6a30f4 115=over 4
2426c394
CBW
116
117=item *
118
5a6a30f4 119XXX
2426c394 120
5a6a30f4 121=back
2426c394 122
5a6a30f4 123=head1 Documentation
2426c394 124
5a6a30f4
CBW
125XXX Changes to files in F<pod/> go here. Consider grouping entries by
126file and be sure to link to the appropriate page, e.g. L<perlfunc>.
2426c394 127
5a6a30f4 128=head2 New Documentation
2426c394 129
5a6a30f4 130XXX Changes which create B<new> files in F<pod/> go here.
2426c394 131
5a6a30f4 132=head3 L<XXX>
2426c394 133
5a6a30f4 134XXX Description of the purpose of the new file here
2426c394 135
5a6a30f4 136=head2 Changes to Existing Documentation
2426c394 137
5a6a30f4
CBW
138XXX Changes which significantly change existing files in F<pod/> go here.
139However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
140section.
2426c394 141
2171640d 142=head3 L<perlrebackslash/\N>
2426c394 143
5a6a30f4 144=over 4
2426c394
CBW
145
146=item *
147
2171640d 148This feature is no longer experimental.
2426c394 149
5a6a30f4 150=back
e58c5aaf 151
5a6a30f4 152=head1 Diagnostics
7a7a10c7 153
5a6a30f4
CBW
154The following additions or changes have been made to diagnostic output,
155including warnings and fatal error messages. For the complete list of
156diagnostic messages, see L<perldiag>.
2426c394 157
5a6a30f4
CBW
158XXX New or changed warnings emitted by the core's C<C> code go here. Also
159include any changes in L<perldiag> that reconcile it to the C<C> code.
2426c394 160
5a6a30f4 161=head2 New Diagnostics
2426c394 162
5a6a30f4
CBW
163XXX Newly added diagnostic messages go under here, separated into New Errors
164and New Warnings
2426c394 165
5a6a30f4 166=head3 New Errors
2426c394 167
5a6a30f4 168=over 4
2426c394
CBW
169
170=item *
171
5a6a30f4 172XXX L<message|perldiag/"message">
2426c394 173
5a6a30f4 174=back
2426c394 175
5a6a30f4 176=head3 New Warnings
2426c394 177
5a6a30f4 178=over 4
2426c394
CBW
179
180=item *
181
5a6a30f4 182XXX L<message|perldiag/"message">
2426c394 183
5a6a30f4 184=back
2426c394 185
5a6a30f4 186=head2 Changes to Existing Diagnostics
2426c394 187
5a6a30f4 188XXX Changes (i.e. rewording) of diagnostic messages go here
2426c394 189
5a6a30f4 190=over 4
2426c394
CBW
191
192=item *
193
5a6a30f4 194XXX Describe change here
2426c394 195
5a6a30f4 196=back
2426c394 197
5a6a30f4 198=head1 Utility Changes
2426c394 199
5a6a30f4
CBW
200XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
201Most of these are built within the directories F<utils> and F<x2p>.
2426c394 202
5a6a30f4
CBW
203[ List utility changes as a =head3 entry for each utility and =item
204entries for each change
205Use L<XXX> with program names to get proper documentation linking. ]
2426c394 206
5a6a30f4 207=head3 L<XXX>
2426c394 208
5a6a30f4 209=over 4
2426c394
CBW
210
211=item *
212
5a6a30f4 213XXX
2426c394 214
19718730
AC
215=back
216
5a6a30f4 217=head1 Configuration and Compilation
11e375e0 218
5a6a30f4
CBW
219XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
220go here. Any other changes to the Perl build process should be listed here.
221However, any platform-specific changes should be listed in the
222L</Platform Support> section, instead.
19718730 223
5a6a30f4 224[ List changes as a =item entry ].
19718730
AC
225
226=over 4
dd4b1c75
AC
227
228=item *
229
5a6a30f4 230XXX
cb077ed2 231
5d8c8c8a 232=back
5f877a7f 233
5a6a30f4 234=head1 Testing
e14ac59b 235
5a6a30f4
CBW
236XXX Any significant changes to the testing of a freshly built perl should be
237listed here. Changes which create B<new> files in F<t/> go here as do any
238large changes to the testing harness (e.g. when parallel testing was added).
239Changes to existing files in F<t/> aren't worth summarizing, although the bugs
240that they represent may be covered elsewhere.
1ea91bbe 241
5a6a30f4 242[ List each test improvement as a =item entry ]
19718730
AC
243
244=over 4
5e0a247b
KW
245
246=item *
247
5a6a30f4 248XXX
19718730
AC
249
250=back
251
5a6a30f4 252=head1 Platform Support
8b877d20 253
5a6a30f4 254XXX Any changes to platform support should be listed in the sections below.
19718730 255
5a6a30f4
CBW
256[ Within the sections, list each platform as a =item entry with specific
257changes as paragraphs below it. ]
19718730 258
5a6a30f4 259=head2 New Platforms
19718730 260
5a6a30f4
CBW
261XXX List any platforms that this version of perl compiles on, that previous
262versions did not. These will either be enabled by new files in the F<hints/>
263directories, or new subdirectories and F<README> files at the top level of the
264source tree.
19718730
AC
265
266=over 4
e078d89d 267
5a6a30f4 268=item XXX-some-platform
09a49503 269
5a6a30f4 270XXX
09a49503 271
6253ee75 272=back
e078d89d 273
5a6a30f4 274=head2 Discontinued Platforms
19718730 275
5a6a30f4 276XXX List any platforms that this version of perl no longer compiles on.
e078d89d 277
5a6a30f4 278=over 4
b7c7d786 279
5a6a30f4 280=item XXX-some-platform
d2d1e842 281
5a6a30f4 282XXX
d2d1e842 283
5a6a30f4 284=back
d2d1e842 285
5a6a30f4 286=head2 Platform-Specific Notes
d2d1e842 287
5a6a30f4
CBW
288XXX List any changes for specific platforms. This could include configuration
289and compilation changes or changes in portability/compatibility. However,
290changes within modules for platforms should generally be listed in the
291L</Modules and Pragmata> section.
d2d1e842 292
5a6a30f4 293=over 4
b9214e65 294
5a6a30f4 295=item XXX-some-platform
b9214e65 296
5a6a30f4 297XXX
f355e93d 298
5a6a30f4 299=back
f355e93d 300
5a6a30f4 301=head1 Internal Changes
19718730 302
5a6a30f4
CBW
303XXX Changes which affect the interface available to C<XS> code go here. Other
304significant internal changes for future core maintainers should be noted as
305well.
19718730 306
5a6a30f4 307[ List each change as a =item entry ]
19718730 308
19718730 309=over 4
e14ac59b 310
fdea6f98
FC
311=item *
312
9f351b45 313The new copy-on-write mechanism that was introduced in 5.17.7 has now been
e8aa73ce 314disabled by default, since it was felt that there were too many rough
9f351b45
DM
315edges for the 5.18 release. It is expected that it will be enabled by
316default for 5.20.
317
318This change also re-enables PL_sawampersand by default.
319
320It can be enabled in a perl build by running F<Configure> with
321B<-Accflags=-DPERL_NEW_COPY_ON_WRITE>, and we would encourage XS authors to
322try their code with such an enabled perl, and provide feedback.
323XXX need blurb, e.g. a reference to a new section in perlguts or perlxs
324explaining how XS authors should handle COW strings.
325
fdea6f98 326
6253ee75 327=back
7cf3104f 328
5a6a30f4 329=head1 Selected Bug Fixes
8a987e1a 330
5a6a30f4
CBW
331XXX Important bug fixes in the core language are summarized here. Bug fixes in
332files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
785fb813 333
5a6a30f4 334[ List each fix as a =item entry ]
f5778209 335
6253ee75 336=over 4
f5778209 337
216cf7fc
DR
338=item *
339
5a6a30f4 340XXX
12719193 341
6253ee75 342=back
216cf7fc 343
5a6a30f4 344=head1 Known Problems
216cf7fc 345
5a6a30f4
CBW
346XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
347tests that had to be C<TODO>ed for the release would be noted here. Unfixed
348platform specific bugs also go here.
d76c0f4b 349
5a6a30f4 350[ List each fix as a =item entry ]
d76c0f4b 351
5a6a30f4 352=over 4
b9214e65 353
250ef6a9
KW
354=item *
355
5a6a30f4 356XXX
250ef6a9 357
5a6a30f4 358=back
250ef6a9 359
5a6a30f4 360=head1 Obituary
250ef6a9 361
5a6a30f4
CBW
362XXX If any significant core contributor has died, we've added a short obituary
363here.
6c042f06 364
19718730 365=head1 Acknowledgements
f5b73711 366
5a6a30f4
CBW
367XXX Generate this with:
368
369 perl Porting/acknowledgements.pl v5.17.9..HEAD
f5b73711 370
44691e6f
AB
371=head1 Reporting Bugs
372
e08634c5
SH
373If you find what you think is a bug, you might check the articles recently
374posted to the comp.lang.perl.misc newsgroup and the perl bug database at
375http://rt.perl.org/perlbug/ . There may also be information at
376http://www.perl.org/ , the Perl Home Page.
44691e6f 377
e08634c5
SH
378If you believe you have an unreported bug, please run the L<perlbug> program
379included with your release. Be sure to trim your bug down to a tiny but
380sufficient test case. Your bug report, along with the output of C<perl -V>,
381will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
382
383If the bug you are reporting has security implications, which make it
e08634c5
SH
384inappropriate to send to a publicly archived mailing list, then please send it
385to perl5-security-report@perl.org. This points to a closed subscription
386unarchived mailing list, which includes all the core committers, who will be
387able to help assess the impact of issues, figure out a resolution, and help
f9001595 388co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
389platforms on which Perl is supported. Please only use this address for
390security issues in the Perl core, not for modules independently distributed on
391CPAN.
44691e6f
AB
392
393=head1 SEE ALSO
394
e08634c5
SH
395The F<Changes> file for an explanation of how to view exhaustive details on
396what changed.
44691e6f
AB
397
398The F<INSTALL> file for how to build Perl.
399
400The F<README> file for general stuff.
401
402The F<Artistic> and F<Copying> files for copyright information.
403
404=cut