This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Make tests for gmagic on sub exit count fetches
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
5438d4b8
Z
5[ this is a template for a new perldelta file. Any text flagged as
6XXX needs to be processed before release. ]
f5938650 7
5438d4b8 8perldelta - what is new for perl v5.15.2
760696b8 9
5438d4b8 10=head1 DESCRIPTION
5cd408a2 11
5438d4b8
Z
12This document describes differences between the 5.15.1 release and
13the 5.15.2 release.
5cd408a2 14
5438d4b8
Z
15If you are upgrading from an earlier release such as 5.15.0, first read
16L<perl5151delta>, which describes differences between 5.15.0 and
175.15.1.
062678b2 18
5438d4b8 19=head1 Notice
062678b2 20
5438d4b8 21XXX Any important notices here
4185c919 22
5438d4b8 23=head1 Core Enhancements
4185c919 24
5438d4b8
Z
25XXX New core language features go here. Summarise user-visible core language
26enhancements. Particularly prominent performance optimisations could go
27here, but most should go in the L</Performance Enhancements> section.
82aed44a 28
5438d4b8 29[ List each enhancement as a =head2 entry ]
82aed44a 30
5438d4b8 31=head1 Security
2b679393 32
5438d4b8
Z
33XXX Any security-related notices go here. In particular, any security
34vulnerabilities closed should be noted here rather than in the
35L</Selected Bug Fixes> section.
2b679393 36
5438d4b8 37[ List each security issue as a =head2 entry ]
7818c927 38
5438d4b8 39=head1 Incompatible Changes
7818c927 40
5438d4b8 41XXX For a release on a stable branch, this section aspires to be:
760696b8 42
5438d4b8
Z
43 There are no changes intentionally incompatible with 5.XXX.XXX
44 If any exist, they are bugs and reports are welcome.
6693394d 45
5438d4b8 46[ List each incompatible change as a =head2 entry ]
6693394d 47
5438d4b8 48=head1 Deprecations
92c695db 49
5438d4b8
Z
50XXX Any deprecated features, syntax, modules etc. should be listed here.
51In particular, deprecated modules should be listed here even if they are
52listed as an updated module in the L</Modules and Pragmata> section.
92c695db 53
5438d4b8 54[ List each deprecation as a =head2 entry ]
6693394d 55
5438d4b8 56=head1 Performance Enhancements
bfafcb9a 57
5438d4b8
Z
58XXX Changes which enhance performance without changing behaviour go here. There
59may well be none in a stable release.
bfafcb9a 60
5438d4b8 61[ List each enhancement as a =item entry ]
72de20cd 62
5438d4b8 63=over 4
72de20cd 64
93905212
FC
65=item *
66
5438d4b8 67XXX
93905212 68
6693394d
FC
69=back
70
0890f1a5 71=head1 Modules and Pragmata
bdb9ba77 72
5438d4b8
Z
73XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
74go here. If Module::CoreList is updated, generate an initial draft of the
75following sections using F<Porting/corelist-perldelta.pl>, which prints stub
76entries to STDOUT. Results can be pasted in place of the '=head2' entries
77below. A paragraph summary for important changes should then be added by hand.
78In an ideal world, dual-life modules would have a F<Changes> file that could be
79cribbed.
80
81[ Within each section, list entries as a =item entry ]
82
0890f1a5 83=head2 New Modules and Pragmata
6693394d 84
0890f1a5 85=over 4
6693394d
FC
86
87=item *
88
5438d4b8 89XXX
6693394d
FC
90
91=back
92
0890f1a5 93=head2 Updated Modules and Pragmata
760696b8 94
0890f1a5 95=over 4
760696b8
FC
96
97=item *
98
57126352
DG
99L<ExtUtils::Install> has been upgraded from version 1.56 to version 1.57.
100
101There is no change to ExtUtils::Install other than the version number
102increase, but L<ExtUtils::Installed> has been upgraded from version 1.999_001
c493c0a1 103to version 1.999002 and a new C<skip_cwd> attribute has been added.
259925f6 104
6252d2e2
NC
105=item *
106
2df9265e
DG
107L<Module::Build> has been upgraded from version 0.3800 to version 0.39_01.
108
109Pod to HTML internals changed to support revisions to Pod::Html in core.
110Also fixes some minor bugs. [rt.cpan.org #68585] [rt.cpan.org #67893]
111[rt.cpan.org #67008]
112
113=item *
114
5213914c 115L<PerlIO::via> has been upgraded from version 0.11 to version 0.12.
6252d2e2
NC
116
117The only change is a correction in the documentation.
118
5213914c
CBW
119=item *
120
121L<Term::ANSIColor> has been upgraded from version 3.00 to version 3.01
122
123Only interpret an initial array reference as a list of colors, not any initial
124reference, allowing the colored function to work properly on objects with
125stringification defined.
126
5438d4b8 127=back
77ccfaeb 128
5438d4b8 129=head2 Removed Modules and Pragmata
508236ce 130
5438d4b8 131=over 4
508236ce
CBW
132
133=item *
134
5438d4b8 135XXX
c69a30ec 136
5438d4b8 137=back
c69a30ec 138
5438d4b8 139=head1 Documentation
c69a30ec 140
5438d4b8
Z
141XXX Changes to files in F<pod/> go here. Consider grouping entries by
142file and be sure to link to the appropriate page, e.g. L<perlfunc>.
7c420290 143
5438d4b8 144=head2 New Documentation
7c420290 145
5438d4b8 146XXX Changes which create B<new> files in F<pod/> go here.
0cb4637e 147
5438d4b8 148=head3 L<XXX>
7818c927 149
5438d4b8 150XXX Description of the purpose of the new file here
7818c927 151
5438d4b8 152=head2 Changes to Existing Documentation
dd413713 153
5438d4b8
Z
154XXX Changes which significantly change existing files in F<pod/> go here.
155However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
156section.
7818c927 157
5438d4b8 158=head3 L<XXX>
7818c927 159
5438d4b8 160=over 4
7818c927
FC
161
162=item *
163
5438d4b8 164XXX Description of the change here
5aeca1f7 165
5438d4b8 166=back
5aeca1f7 167
5438d4b8 168=head1 Diagnostics
0cb4637e 169
5438d4b8
Z
170The following additions or changes have been made to diagnostic output,
171including warnings and fatal error messages. For the complete list of
172diagnostic messages, see L<perldiag>.
0cb4637e 173
5438d4b8
Z
174XXX New or changed warnings emitted by the core's C<C> code go here. Also
175include any changes in L<perldiag> that reconcile it to the C<C> code.
00f02a57 176
5438d4b8
Z
177[ Within each section, list entries as a =item entry that links to perldiag,
178 e.g.
00f02a57 179
5438d4b8 180 =item *
00f02a57 181
5438d4b8
Z
182 L<Invalid version object|perldiag/"Invalid version object">
183]
8b00e523 184
5438d4b8 185=head2 New Diagnostics
4abaf918 186
5438d4b8 187XXX Newly added diagnostic messages go here
4abaf918 188
5438d4b8 189=head3 New Errors
4abaf918 190
5438d4b8 191=over 4
4abaf918
Z
192
193=item *
194
5438d4b8 195XXX L<message|perldiag/"message">
8b00e523 196
e8e35311
FC
197=back
198
5438d4b8 199=head3 New Warnings
bdb9ba77 200
0890f1a5 201=over 4
bdb9ba77
DG
202
203=item *
204
5438d4b8 205XXX L<message|perldiag/"message">
bdb9ba77
DG
206
207=back
208
5438d4b8 209=head2 Changes to Existing Diagnostics
7818c927 210
5438d4b8 211XXX Changes (i.e. rewording) of diagnostic messages go here
0890f1a5 212
0890f1a5 213=over 4
6693394d
FC
214
215=item *
216
5438d4b8 217XXX Describe change here
259925f6 218
5438d4b8 219=back
7818c927 220
5438d4b8 221=head1 Utility Changes
7818c927 222
5438d4b8
Z
223XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
224here. Most of these are built within the directories F<utils> and F<x2p>.
7818c927 225
5438d4b8
Z
226[ List utility changes as a =head3 entry for each utility and =item
227entries for each change
228Use L<XXX> with program names to get proper documentation linking. ]
7818c927 229
71449ad0 230=head3 L<perlivp>
b908e258 231
5438d4b8 232=over 4
b908e258
Z
233
234=item *
235
71449ad0
DG
236Fixed a bug whereby other perls under the current directory could cause
237false positive failures.
238
239=item *
240
241Tests for .ph files have been removed, as these test have been optional since
2422005 and .ph files are no longer generated during installation.
b908e258 243
6693394d
FC
244=back
245
5438d4b8 246=head1 Configuration and Compilation
b7188eb5 247
5438d4b8
Z
248XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
249go here. Any other changes to the Perl build process should be listed here.
250However, any platform-specific changes should be listed in the
251L</Platform Support> section, instead.
44691e6f 252
5438d4b8 253[ List changes as a =item entry ].
42a91c97 254
34dc2ec0 255=over 4
42a91c97 256
6693394d 257=item *
42a91c97 258
5438d4b8 259XXX
42a91c97 260
34dc2ec0 261=back
42a91c97 262
0890f1a5 263=head1 Testing
bdab33d1 264
5438d4b8
Z
265XXX Any significant changes to the testing of a freshly built perl should be
266listed here. Changes which create B<new> files in F<t/> go here as do any
267large changes to the testing harness (e.g. when parallel testing was added).
268Changes to existing files in F<t/> aren't worth summarising, although the bugs
269that they represent may be covered elsewhere.
f5938650 270
5438d4b8 271[ List each test improvement as a =item entry ]
1fcb0052 272
5438d4b8 273=over 4
1fcb0052 274
b908e258
Z
275=item *
276
5438d4b8 277XXX
b908e258 278
f5938650 279=back
2fbb14a0 280
0890f1a5 281=head1 Platform Support
975dff8c 282
5438d4b8 283XXX Any changes to platform support should be listed in the sections below.
6693394d 284
5438d4b8
Z
285[ Within the sections, list each platform as a =item entry with specific
286changes as paragraphs below it. ]
6693394d 287
5438d4b8 288=head2 New Platforms
1fcb0052 289
5438d4b8
Z
290XXX List any platforms that this version of perl compiles on, that previous
291versions did not. These will either be enabled by new files in the F<hints/>
292directories, or new subdirectories and F<README> files at the top level of the
293source tree.
6693394d 294
0890f1a5 295=over 4
f5938650 296
5438d4b8 297=item XXX-some-platform
c62f68e3 298
5438d4b8 299XXX
f5938650 300
0890f1a5 301=back
25aa614d 302
5438d4b8 303=head2 Discontinued Platforms
87d00a71 304
5438d4b8 305XXX List any platforms that this version of perl no longer compiles on.
87d00a71 306
5438d4b8 307=over 4
da507230 308
5438d4b8 309=item XXX-some-platform
fff96ff7 310
5438d4b8 311XXX
da507230 312
5438d4b8 313=back
bb3abb05 314
5438d4b8 315=head2 Platform-Specific Notes
d25b0d7b 316
5438d4b8
Z
317XXX List any changes for specific platforms. This could include configuration
318and compilation changes or changes in portability/compatibility. However,
319changes within modules for platforms should generally be listed in the
320L</Modules and Pragmata> section.
d25b0d7b 321
5438d4b8 322=over 4
4bee03f8 323
5438d4b8 324=item XXX-some-platform
4bee03f8 325
5438d4b8 326XXX
d9463c66 327
5438d4b8 328=back
d9463c66 329
5438d4b8 330=head1 Internal Changes
7c4c6e7c 331
5438d4b8
Z
332XXX Changes which affect the interface available to C<XS> code go here.
333Other significant internal changes for future core maintainers should
334be noted as well.
7c4c6e7c 335
5438d4b8 336[ List each change as a =item entry ]
777d9014 337
5438d4b8 338=over 4
95f7e41f
FC
339
340=item *
341
5438d4b8 342XXX
df5b44bd 343
5438d4b8 344=back
df5b44bd 345
5438d4b8 346=head1 Selected Bug Fixes
e22e289d 347
5438d4b8
Z
348XXX Important bug fixes in the core language are summarised here.
349Bug fixes in files in F<ext/> and F<lib/> are best summarised in
350L</Modules and Pragmata>.
7818c927 351
5438d4b8 352[ List each fix as a =item entry ]
7818c927 353
5438d4b8 354=over 4
7818c927
FC
355
356=item *
357
f4df43b5
FC
358Locking an lvalue subroutine (via C<lock &lvsub>) now locks the return
359value, instead of trying to lock the sub (which has no effect). It also no
360longer tries to return the sub as a scalar, resulting in strange side
361effects like C<ref \$_> returning "CODE" in some instances.
7818c927 362
3fdd840f
FC
363=item *
364
365C<lock>'s prototype has been corrected to C<(\[$@%*])> from C<(\$)>, which
366was just wrong.
367
7ffa7e75
FC
368=item *
369
370Most dereferencing operators (C<${}>, etc.) used to call C<FETCH> twice on
371a tied operand when doing a symbolic dereference (looking up a variable by
372name, which is not permitted under C<use strict 'refs'>). Only C<&{}> did
373not have this problem. This has been fixed.
374
5438d4b8 375=back
c62f68e3 376
5438d4b8 377=head1 Known Problems
c62f68e3 378
5438d4b8
Z
379XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
380tests that had to be C<TODO>ed for the release would be noted here, unless
381they were specific to a particular platform (see below).
c62f68e3 382
5438d4b8
Z
383This is a list of some significant unfixed bugs, which are regressions
384from either 5.XXX.XXX or 5.XXX.XXX.
e22e289d 385
5438d4b8 386[ List each fix as a =item entry ]
e22e289d 387
5438d4b8 388=over 4
e22e289d 389
b908e258
Z
390=item *
391
5438d4b8 392XXX
4ec40670 393
5438d4b8 394=back
4ec40670 395
5438d4b8 396=head1 Obituary
b908e258 397
5438d4b8
Z
398XXX If any significant core contributor has died, we've added a short obituary
399here.
42a91c97 400
44691e6f
AB
401=head1 Acknowledgements
402
f1c1ecab 403XXX Generate this with:
5438d4b8
Z
404
405 perl Porting/acknowledgements.pl v5.15.1..HEAD
29cf780c 406
44691e6f
AB
407=head1 Reporting Bugs
408
409If you find what you think is a bug, you might check the articles
34dc2ec0 410recently posted to the comp.lang.perl.misc newsgroup and the perl
44691e6f
AB
411bug database at http://rt.perl.org/perlbug/ . There may also be
412information at http://www.perl.org/ , the Perl Home Page.
413
414If you believe you have an unreported bug, please run the L<perlbug>
415program included with your release. Be sure to trim your bug down
416to a tiny but sufficient test case. Your bug report, along with the
417output of C<perl -V>, will be sent off to perlbug@perl.org to be
418analysed by the Perl porting team.
419
420If the bug you are reporting has security implications, which make it
421inappropriate to send to a publicly archived mailing list, then please send
34dc2ec0 422it to perl5-security-report@perl.org. This points to a closed subscription
b4707b2a
FC
423unarchived mailing list, which includes
424all the core committers, who will be able
44691e6f
AB
425to help assess the impact of issues, figure out a resolution, and help
426co-ordinate the release of patches to mitigate or fix the problem across all
34dc2ec0
DM
427platforms on which Perl is supported. Please only use this address for
428security issues in the Perl core, not for modules independently
44691e6f
AB
429distributed on CPAN.
430
431=head1 SEE ALSO
432
433The F<Changes> file for an explanation of how to view exhaustive details
434on what changed.
435
436The F<INSTALL> file for how to build Perl.
437
438The F<README> file for general stuff.
439
440The F<Artistic> and F<Copying> files for copyright information.
441
442=cut