This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #95544] Test that UNIVERSAL::VERSION returns $VERSION
[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
1ba7a2fb
CBW
99L<CPANPLUS> has been upgraded from version 0.9108 to version 0.9109
100
101Fixed support for v-strings and x.y.z versions with v5.8.4
102
103=item *
104
57126352
DG
105L<ExtUtils::Install> has been upgraded from version 1.56 to version 1.57.
106
107There is no change to ExtUtils::Install other than the version number
108increase, but L<ExtUtils::Installed> has been upgraded from version 1.999_001
c493c0a1 109to version 1.999002 and a new C<skip_cwd> attribute has been added.
259925f6 110
6252d2e2
NC
111=item *
112
2df9265e
DG
113L<Module::Build> has been upgraded from version 0.3800 to version 0.39_01.
114
115Pod to HTML internals changed to support revisions to Pod::Html in core.
116Also fixes some minor bugs. [rt.cpan.org #68585] [rt.cpan.org #67893]
117[rt.cpan.org #67008]
118
119=item *
120
82eefd8a
CBW
121L<Params::Check> has been upgraded from version 0.28 to version 0.30
122
123=item *
124
5213914c 125L<PerlIO::via> has been upgraded from version 0.11 to version 0.12.
6252d2e2
NC
126
127The only change is a correction in the documentation.
128
5213914c
CBW
129=item *
130
131L<Term::ANSIColor> has been upgraded from version 3.00 to version 3.01
132
133Only interpret an initial array reference as a list of colors, not any initial
134reference, allowing the colored function to work properly on objects with
135stringification defined.
136
17609435
CBW
137=item *
138
139L<Unicode::Collate> has been upgraded from version 0.77 to version 0.78
140
69f26f52
CBW
141=item *
142
143L<Unicode::Normalize> has been upgraded from version 1.12 to version 1.13
144
5438d4b8 145=back
77ccfaeb 146
5438d4b8 147=head2 Removed Modules and Pragmata
508236ce 148
5438d4b8 149=over 4
508236ce
CBW
150
151=item *
152
5438d4b8 153XXX
c69a30ec 154
5438d4b8 155=back
c69a30ec 156
5438d4b8 157=head1 Documentation
c69a30ec 158
5438d4b8
Z
159XXX Changes to files in F<pod/> go here. Consider grouping entries by
160file and be sure to link to the appropriate page, e.g. L<perlfunc>.
7c420290 161
5438d4b8 162=head2 New Documentation
7c420290 163
5438d4b8 164XXX Changes which create B<new> files in F<pod/> go here.
0cb4637e 165
5438d4b8 166=head3 L<XXX>
7818c927 167
5438d4b8 168XXX Description of the purpose of the new file here
7818c927 169
5438d4b8 170=head2 Changes to Existing Documentation
dd413713 171
5438d4b8
Z
172XXX Changes which significantly change existing files in F<pod/> go here.
173However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
174section.
7818c927 175
5438d4b8 176=head3 L<XXX>
7818c927 177
5438d4b8 178=over 4
7818c927
FC
179
180=item *
181
5438d4b8 182XXX Description of the change here
5aeca1f7 183
5438d4b8 184=back
5aeca1f7 185
5438d4b8 186=head1 Diagnostics
0cb4637e 187
5438d4b8
Z
188The following additions or changes have been made to diagnostic output,
189including warnings and fatal error messages. For the complete list of
190diagnostic messages, see L<perldiag>.
0cb4637e 191
5438d4b8
Z
192XXX New or changed warnings emitted by the core's C<C> code go here. Also
193include any changes in L<perldiag> that reconcile it to the C<C> code.
00f02a57 194
5438d4b8
Z
195[ Within each section, list entries as a =item entry that links to perldiag,
196 e.g.
00f02a57 197
5438d4b8 198 =item *
00f02a57 199
5438d4b8
Z
200 L<Invalid version object|perldiag/"Invalid version object">
201]
8b00e523 202
5438d4b8 203=head2 New Diagnostics
4abaf918 204
5438d4b8 205XXX Newly added diagnostic messages go here
4abaf918 206
5438d4b8 207=head3 New Errors
4abaf918 208
5438d4b8 209=over 4
4abaf918
Z
210
211=item *
212
5438d4b8 213XXX L<message|perldiag/"message">
8b00e523 214
e8e35311
FC
215=back
216
5438d4b8 217=head3 New Warnings
bdb9ba77 218
0890f1a5 219=over 4
bdb9ba77
DG
220
221=item *
222
5438d4b8 223XXX L<message|perldiag/"message">
bdb9ba77
DG
224
225=back
226
5438d4b8 227=head2 Changes to Existing Diagnostics
7818c927 228
5438d4b8 229XXX Changes (i.e. rewording) of diagnostic messages go here
0890f1a5 230
0890f1a5 231=over 4
6693394d
FC
232
233=item *
234
5438d4b8 235XXX Describe change here
259925f6 236
5438d4b8 237=back
7818c927 238
5438d4b8 239=head1 Utility Changes
7818c927 240
5438d4b8
Z
241XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
242here. Most of these are built within the directories F<utils> and F<x2p>.
7818c927 243
5438d4b8
Z
244[ List utility changes as a =head3 entry for each utility and =item
245entries for each change
246Use L<XXX> with program names to get proper documentation linking. ]
7818c927 247
71449ad0 248=head3 L<perlivp>
b908e258 249
5438d4b8 250=over 4
b908e258
Z
251
252=item *
253
71449ad0
DG
254Fixed a bug whereby other perls under the current directory could cause
255false positive failures.
256
257=item *
258
259Tests for .ph files have been removed, as these test have been optional since
2602005 and .ph files are no longer generated during installation.
b908e258 261
6693394d
FC
262=back
263
5438d4b8 264=head1 Configuration and Compilation
b7188eb5 265
5438d4b8
Z
266XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
267go here. Any other changes to the Perl build process should be listed here.
268However, any platform-specific changes should be listed in the
269L</Platform Support> section, instead.
44691e6f 270
5438d4b8 271[ List changes as a =item entry ].
42a91c97 272
34dc2ec0 273=over 4
42a91c97 274
6693394d 275=item *
42a91c97 276
5438d4b8 277XXX
42a91c97 278
34dc2ec0 279=back
42a91c97 280
0890f1a5 281=head1 Testing
bdab33d1 282
5438d4b8
Z
283XXX Any significant changes to the testing of a freshly built perl should be
284listed here. Changes which create B<new> files in F<t/> go here as do any
285large changes to the testing harness (e.g. when parallel testing was added).
286Changes to existing files in F<t/> aren't worth summarising, although the bugs
287that they represent may be covered elsewhere.
f5938650 288
5438d4b8 289[ List each test improvement as a =item entry ]
1fcb0052 290
5438d4b8 291=over 4
1fcb0052 292
b908e258
Z
293=item *
294
5438d4b8 295XXX
b908e258 296
f5938650 297=back
2fbb14a0 298
0890f1a5 299=head1 Platform Support
975dff8c 300
5438d4b8 301XXX Any changes to platform support should be listed in the sections below.
6693394d 302
5438d4b8
Z
303[ Within the sections, list each platform as a =item entry with specific
304changes as paragraphs below it. ]
6693394d 305
5438d4b8 306=head2 New Platforms
1fcb0052 307
5438d4b8
Z
308XXX List any platforms that this version of perl compiles on, that previous
309versions did not. These will either be enabled by new files in the F<hints/>
310directories, or new subdirectories and F<README> files at the top level of the
311source tree.
6693394d 312
0890f1a5 313=over 4
f5938650 314
5438d4b8 315=item XXX-some-platform
c62f68e3 316
5438d4b8 317XXX
f5938650 318
0890f1a5 319=back
25aa614d 320
5438d4b8 321=head2 Discontinued Platforms
87d00a71 322
5438d4b8 323XXX List any platforms that this version of perl no longer compiles on.
87d00a71 324
5438d4b8 325=over 4
da507230 326
5438d4b8 327=item XXX-some-platform
fff96ff7 328
5438d4b8 329XXX
da507230 330
5438d4b8 331=back
bb3abb05 332
5438d4b8 333=head2 Platform-Specific Notes
d25b0d7b 334
5438d4b8
Z
335XXX List any changes for specific platforms. This could include configuration
336and compilation changes or changes in portability/compatibility. However,
337changes within modules for platforms should generally be listed in the
338L</Modules and Pragmata> section.
d25b0d7b 339
5438d4b8 340=over 4
4bee03f8 341
5438d4b8 342=item XXX-some-platform
4bee03f8 343
5438d4b8 344XXX
d9463c66 345
5438d4b8 346=back
d9463c66 347
5438d4b8 348=head1 Internal Changes
7c4c6e7c 349
5438d4b8
Z
350XXX Changes which affect the interface available to C<XS> code go here.
351Other significant internal changes for future core maintainers should
352be noted as well.
7c4c6e7c 353
5438d4b8 354[ List each change as a =item entry ]
777d9014 355
5438d4b8 356=over 4
95f7e41f
FC
357
358=item *
359
5438d4b8 360XXX
df5b44bd 361
5438d4b8 362=back
df5b44bd 363
5438d4b8 364=head1 Selected Bug Fixes
e22e289d 365
5438d4b8
Z
366XXX Important bug fixes in the core language are summarised here.
367Bug fixes in files in F<ext/> and F<lib/> are best summarised in
368L</Modules and Pragmata>.
7818c927 369
5438d4b8 370[ List each fix as a =item entry ]
7818c927 371
5438d4b8 372=over 4
7818c927
FC
373
374=item *
375
f4df43b5
FC
376Locking an lvalue subroutine (via C<lock &lvsub>) now locks the return
377value, instead of trying to lock the sub (which has no effect). It also no
378longer tries to return the sub as a scalar, resulting in strange side
379effects like C<ref \$_> returning "CODE" in some instances.
7818c927 380
3fdd840f
FC
381=item *
382
383C<lock>'s prototype has been corrected to C<(\[$@%*])> from C<(\$)>, which
384was just wrong.
385
7ffa7e75
FC
386=item *
387
604022a7
FC
388The prototypes for the core functions C<stat> and C<lstat> have been
389removed, as they were incorrect, because their syntax cannot be replicated
390by Perl subroutines.
391
392=item *
393
7ffa7e75
FC
394Most dereferencing operators (C<${}>, etc.) used to call C<FETCH> twice on
395a tied operand when doing a symbolic dereference (looking up a variable by
396name, which is not permitted under C<use strict 'refs'>). Only C<&{}> did
397not have this problem. This has been fixed.
398
862b2c43
FC
399=item *
400
401A minor regression introduced in 5.15.0 has been fixed. Dereferencing a
402magical mortal (e.g., the return value of C<delete> on a tied hash element)
403explicitly returned from a subroutine called recursively was not calling
404C<FETCH>. This would affect code like C<@{ foo() }> where the C<foo> sub
405contains C<return delete $hash{elem}> and is calling itself.
406
5438d4b8 407=back
c62f68e3 408
5438d4b8 409=head1 Known Problems
c62f68e3 410
5438d4b8
Z
411XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
412tests that had to be C<TODO>ed for the release would be noted here, unless
413they were specific to a particular platform (see below).
c62f68e3 414
5438d4b8
Z
415This is a list of some significant unfixed bugs, which are regressions
416from either 5.XXX.XXX or 5.XXX.XXX.
e22e289d 417
5438d4b8 418[ List each fix as a =item entry ]
e22e289d 419
5438d4b8 420=over 4
e22e289d 421
b908e258
Z
422=item *
423
5438d4b8 424XXX
4ec40670 425
5438d4b8 426=back
4ec40670 427
5438d4b8 428=head1 Obituary
b908e258 429
5438d4b8
Z
430XXX If any significant core contributor has died, we've added a short obituary
431here.
42a91c97 432
44691e6f
AB
433=head1 Acknowledgements
434
f1c1ecab 435XXX Generate this with:
5438d4b8
Z
436
437 perl Porting/acknowledgements.pl v5.15.1..HEAD
29cf780c 438
44691e6f
AB
439=head1 Reporting Bugs
440
441If you find what you think is a bug, you might check the articles
34dc2ec0 442recently posted to the comp.lang.perl.misc newsgroup and the perl
44691e6f
AB
443bug database at http://rt.perl.org/perlbug/ . There may also be
444information at http://www.perl.org/ , the Perl Home Page.
445
446If you believe you have an unreported bug, please run the L<perlbug>
447program included with your release. Be sure to trim your bug down
448to a tiny but sufficient test case. Your bug report, along with the
449output of C<perl -V>, will be sent off to perlbug@perl.org to be
450analysed by the Perl porting team.
451
452If the bug you are reporting has security implications, which make it
453inappropriate to send to a publicly archived mailing list, then please send
34dc2ec0 454it to perl5-security-report@perl.org. This points to a closed subscription
b4707b2a
FC
455unarchived mailing list, which includes
456all the core committers, who will be able
44691e6f
AB
457to help assess the impact of issues, figure out a resolution, and help
458co-ordinate the release of patches to mitigate or fix the problem across all
34dc2ec0
DM
459platforms on which Perl is supported. Please only use this address for
460security issues in the Perl core, not for modules independently
44691e6f
AB
461distributed on CPAN.
462
463=head1 SEE ALSO
464
465The F<Changes> file for an explanation of how to view exhaustive details
466on what changed.
467
468The F<INSTALL> file for how to build Perl.
469
470The F<README> file for general stuff.
471
472The F<Artistic> and F<Copying> files for copyright information.
473
474=cut