This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta: Move an entry under Testing
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
63ac71b9
RS
5[ this is a template for a new perldelta file. Any text flagged as
6XXX needs to be processed before release. ]
7
f25d4e05 8perldelta - what is new for perl v5.15.3
760696b8 9
5438d4b8 10=head1 DESCRIPTION
5cd408a2 11
f25d4e05
RS
12This document describes differences between the 5.15.2 release and
13the 5.15.3 release.
5cd408a2 14
f25d4e05
RS
15If you are upgrading from an earlier release such as 5.15.1, first read
16L<perl5152delta>, which describes differences between 5.15.1 and
175.15.2.
062678b2 18
63ac71b9 19=head1 Notice
4185c919 20
63ac71b9 21XXX Any important notices here
0afed34d 22
63ac71b9 23=head1 Core Enhancements
0afed34d 24
63ac71b9
RS
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.
0afed34d 28
63ac71b9 29[ List each enhancement as a =head2 entry ]
0afed34d 30
63ac71b9 31=head1 Security
0afed34d 32
63ac71b9
RS
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.
135c0b08 36
63ac71b9 37[ List each security issue as a =head2 entry ]
135c0b08 38
5438d4b8 39=head1 Incompatible Changes
7818c927 40
5d1892be 41=head2 User-defined case changing operations.
7b2b001e 42
5d1892be
KW
43This feature was deprecated in Perl 5.14, and has now been removed.
44The CPAN module L<Unicode::Casing> provides better functionality without
45the drawbacks that this feature had, as are detailed in the 5.14
46documentation:
47L<http://perldoc.perl.org/5.14.0/perlunicode.html#User-Defined-Case-Mappings-%28for-serious-hackers-only%29>
bdb9ba77 48
7ec04da5
SM
49=head2 XSUBs are now 'static'
50
51XSUB C functions are now 'static', that is, they are not visible from
52outside the compilation unit. For the exceedingly rare case where
53this is not desired, a new public macro C<XS_EXTERNAL(name)> can be
54used in place of C<XS(name)>. C<ExtUtils::ParseXS> (C<xsubpp>)
55can be made to declare XSUBs with C<XS_EXTERNAL> using the
56C<EXPORT_XSUB_SYMBOLS> keyword, see L<perlxs> for details.
57
63ac71b9 58=head1 Deprecations
760696b8 59
63ac71b9
RS
60XXX Any deprecated features, syntax, modules etc. should be listed here.
61In particular, deprecated modules should be listed here even if they are
62listed as an updated module in the L</Modules and Pragmata> section.
760696b8 63
63ac71b9 64[ List each deprecation as a =head2 entry ]
760696b8 65
63ac71b9 66=head1 Performance Enhancements
115ff745 67
63ac71b9
RS
68XXX Changes which enhance performance without changing behaviour go here. There
69may well be none in a stable release.
115ff745 70
63ac71b9 71[ List each enhancement as a =item entry ]
115ff745 72
63ac71b9 73=over 4
4ea805df
CBW
74
75=item *
76
63ac71b9 77XXX
1ba7a2fb 78
63ac71b9 79=back
730e5b5b 80
63ac71b9 81=head1 Modules and Pragmata
730e5b5b 82
63ac71b9
RS
83XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
84go here. If Module::CoreList is updated, generate an initial draft of the
85following sections using F<Porting/corelist-perldelta.pl>, which prints stub
86entries to STDOUT. Results can be pasted in place of the '=head2' entries
87below. A paragraph summary for important changes should then be added by hand.
88In an ideal world, dual-life modules would have a F<Changes> file that could be
89cribbed.
730e5b5b 90
63ac71b9 91[ Within each section, list entries as a =item entry ]
730e5b5b 92
63ac71b9 93=head2 New Modules and Pragmata
a30cae0b 94
63ac71b9 95=over 4
a30cae0b
CBW
96
97=item *
98
63ac71b9 99XXX
bbc28bfc 100
63ac71b9 101=back
bbc28bfc 102
63ac71b9 103=head2 Updated Modules and Pragmata
e46d9735 104
63ac71b9 105=over 4
e46d9735
CBW
106
107=item *
108
aefcd4a2 109L<Archive::Extract> has been upgraded from version 0.52 to version 0.56
4afdee4c
CBW
110
111Resolved an issue where C<unzip> executable was present in C<PATH> on MSWin32
57126352 112
d93f0209
FC
113=item *
114
115L<Math::BigRat> has been upgraded from version 0.2602 to 0.2603.
116
117C<int()> on a Math::BigRat object containing -1/2 now creates a
118Math::BigInt containing 0, rather than -0. L<Math::BigInt> does not even
119support negative zero, so the resulting object was actually malformed
120[perl #95530].
121
60527824
FR
122=item *
123
124L<Pod::Simple> has been upgraded from version 3.18 to 3.19.
125
63ac71b9 126=back
259925f6 127
63ac71b9 128=head2 Removed Modules and Pragmata
6252d2e2 129
63ac71b9 130=over 4
9840cdee
CBW
131
132=item *
133
63ac71b9 134XXX
54e02335 135
63ac71b9 136=back
310913d4 137
63ac71b9 138=head1 Documentation
310913d4 139
63ac71b9
RS
140XXX Changes to files in F<pod/> go here. Consider grouping entries by
141file and be sure to link to the appropriate page, e.g. L<perlfunc>.
7b2b001e 142
63ac71b9 143=head2 New Documentation
7b2b001e 144
63ac71b9 145XXX Changes which create B<new> files in F<pod/> go here.
7b2b001e 146
63ac71b9 147=head3 L<XXX>
2df9265e 148
63ac71b9 149XXX Description of the purpose of the new file here
2df9265e 150
63ac71b9 151=head2 Changes to Existing Documentation
2df9265e 152
63ac71b9
RS
153XXX Changes which significantly change existing files in F<pod/> go here.
154However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
155section.
dc80b0c6 156
63ac71b9 157=head3 L<XXX>
dc80b0c6 158
63ac71b9 159=over 4
83b32788
CBW
160
161=item *
162
63ac71b9 163XXX Description of the change here
4eb81ef2 164
63ac71b9 165=back
4eb81ef2 166
63ac71b9 167=head1 Diagnostics
4eb81ef2 168
63ac71b9
RS
169The following additions or changes have been made to diagnostic output,
170including warnings and fatal error messages. For the complete list of
171diagnostic messages, see L<perldiag>.
82eefd8a 172
63ac71b9
RS
173XXX New or changed warnings emitted by the core's C<C> code go here. Also
174include any changes in L<perldiag> that reconcile it to the C<C> code.
82eefd8a 175
63ac71b9
RS
176[ Within each section, list entries as a =item entry that links to perldiag,
177 e.g.
6252d2e2 178
63ac71b9 179 =item *
6252d2e2 180
63ac71b9
RS
181 L<Invalid version object|perldiag/"Invalid version object">
182]
5213914c 183
63ac71b9 184=head2 New Diagnostics
5213914c 185
63ac71b9 186XXX Newly added diagnostic messages go here
5213914c 187
63ac71b9 188=head3 New Errors
17609435 189
63ac71b9 190=over 4
17609435 191
69f26f52
CBW
192=item *
193
63ac71b9 194XXX L<message|perldiag/"message">
69f26f52 195
5438d4b8 196=back
77ccfaeb 197
63ac71b9 198=head3 New Warnings
c69a30ec 199
63ac71b9
RS
200=over 4
201
202=item *
7c420290 203
63ac71b9 204XXX L<message|perldiag/"message">
7818c927 205
63ac71b9 206=back
7818c927 207
63ac71b9 208=head2 Changes to Existing Diagnostics
dd413713 209
63ac71b9 210XXX Changes (i.e. rewording) of diagnostic messages go here
7818c927 211
5438d4b8 212=over 4
7818c927
FC
213
214=item *
215
63ac71b9 216XXX Describe change here
5aeca1f7 217
5438d4b8 218=back
5aeca1f7 219
63ac71b9 220=head1 Utility Changes
0cb4637e 221
63ac71b9
RS
222XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
223here. Most of these are built within the directories F<utils> and F<x2p>.
0cb4637e 224
63ac71b9
RS
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. ]
4abaf918 228
63ac71b9 229=head3 L<XXX>
4abaf918 230
5438d4b8 231=over 4
4abaf918
Z
232
233=item *
234
63ac71b9 235XXX
8b00e523 236
e8e35311
FC
237=back
238
63ac71b9 239=head1 Configuration and Compilation
b908e258 240
63ac71b9
RS
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.
b908e258 245
63ac71b9 246[ List changes as a =item entry ].
b908e258 247
63ac71b9 248=over 4
71449ad0
DG
249
250=item *
251
63ac71b9 252XXX
b908e258 253
6693394d
FC
254=back
255
63ac71b9 256=head1 Testing
bbc28bfc 257
63ac71b9
RS
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 summarising, although the bugs
262that they represent may be covered elsewhere.
bbc28bfc 263
63ac71b9 264[ List each test improvement as a =item entry ]
b7188eb5 265
34dc2ec0 266=over 4
42a91c97 267
6693394d 268=item *
42a91c97 269
c752c500
FC
270F<t/porting/globvar.t> has been added, to run a sanity check on F<globar.sym>.
271F<globar.sym> is not needed on most *nix platforms, but is for Win32, hence
272previously was it was possible to inadvertently commit changes that worked
273perfectly locally, but broke the build on Win32.
310913d4 274
34dc2ec0 275=back
42a91c97 276
0890f1a5 277=head1 Platform Support
975dff8c 278
63ac71b9 279XXX Any changes to platform support should be listed in the sections below.
9cfd094e 280
63ac71b9
RS
281[ Within the sections, list each platform as a =item entry with specific
282changes as paragraphs below it. ]
9cfd094e 283
63ac71b9 284=head2 New Platforms
9cfd094e 285
63ac71b9
RS
286XXX List any platforms that this version of perl compiles on, that previous
287versions did not. These will either be enabled by new files in the F<hints/>
288directories, or new subdirectories and F<README> files at the top level of the
289source tree.
7c4c6e7c 290
5438d4b8 291=over 4
95f7e41f 292
63ac71b9 293=item XXX-some-platform
95f7e41f 294
63ac71b9 295XXX
df5b44bd 296
63ac71b9 297=back
310913d4 298
63ac71b9 299=head2 Discontinued Platforms
310913d4 300
63ac71b9 301XXX List any platforms that this version of perl no longer compiles on.
310913d4 302
63ac71b9
RS
303=over 4
304
305=item XXX-some-platform
306
307XXX
310913d4 308
5438d4b8 309=back
df5b44bd 310
63ac71b9
RS
311=head2 Platform-Specific Notes
312
313XXX List any changes for specific platforms. This could include configuration
314and compilation changes or changes in portability/compatibility. However,
315changes within modules for platforms should generally be listed in the
316L</Modules and Pragmata> section.
e22e289d 317
5438d4b8 318=over 4
7818c927 319
63ac71b9 320=item XXX-some-platform
7818c927 321
63ac71b9 322XXX
f79aa60b 323
63ac71b9 324=back
7818c927 325
63ac71b9 326=head1 Internal Changes
3fdd840f 327
63ac71b9
RS
328XXX Changes which affect the interface available to C<XS> code go here.
329Other significant internal changes for future core maintainers should
330be noted as well.
3fdd840f 331
63ac71b9 332[ List each change as a =item entry ]
7ffa7e75 333
63ac71b9 334=over 4
7ffa7e75 335
862b2c43
FC
336=item *
337
63ac71b9 338XXX
862b2c43 339
63ac71b9 340=back
c973bd4f 341
63ac71b9 342=head1 Selected Bug Fixes
a6cefd81 343
63ac71b9
RS
344XXX Important bug fixes in the core language are summarised here.
345Bug fixes in files in F<ext/> and F<lib/> are best summarised in
346L</Modules and Pragmata>.
a6cefd81 347
63ac71b9 348[ List each fix as a =item entry ]
c4499eff 349
63ac71b9 350=over 4
c4499eff 351
bbc28bfc
FC
352=item *
353
c752c500 354XXX
bbc28bfc 355
63ac71b9 356=back
bbc28bfc 357
63ac71b9 358=head1 Known Problems
bbc28bfc 359
63ac71b9
RS
360XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
361tests that had to be C<TODO>ed for the release would be noted here, unless
362they were specific to a particular platform (see below).
bbc28bfc 363
63ac71b9
RS
364This is a list of some significant unfixed bugs, which are regressions
365from either 5.XXX.XXX or 5.XXX.XXX.
bbc28bfc 366
63ac71b9 367[ List each fix as a =item entry ]
bbc28bfc 368
63ac71b9 369=over 4
bbc28bfc 370
bad4ae38
FC
371=item *
372
63ac71b9 373XXX
bad4ae38 374
63ac71b9 375=back
ab6ce8ea 376
63ac71b9 377=head1 Obituary
ab6ce8ea 378
63ac71b9
RS
379XXX If any significant core contributor has died, we've added a short obituary
380here.
c62f68e3 381
44691e6f
AB
382=head1 Acknowledgements
383
63ac71b9
RS
384XXX Generate this with:
385
386 perl Porting/acknowledgements.pl v5.15.2..HEAD
29cf780c 387
44691e6f
AB
388=head1 Reporting Bugs
389
390If you find what you think is a bug, you might check the articles
34dc2ec0 391recently posted to the comp.lang.perl.misc newsgroup and the perl
44691e6f
AB
392bug database at http://rt.perl.org/perlbug/ . There may also be
393information at http://www.perl.org/ , the Perl Home Page.
394
395If you believe you have an unreported bug, please run the L<perlbug>
396program included with your release. Be sure to trim your bug down
397to a tiny but sufficient test case. Your bug report, along with the
398output of C<perl -V>, will be sent off to perlbug@perl.org to be
399analysed by the Perl porting team.
400
401If the bug you are reporting has security implications, which make it
402inappropriate to send to a publicly archived mailing list, then please send
34dc2ec0 403it to perl5-security-report@perl.org. This points to a closed subscription
b4707b2a
FC
404unarchived mailing list, which includes
405all the core committers, who will be able
44691e6f
AB
406to help assess the impact of issues, figure out a resolution, and help
407co-ordinate the release of patches to mitigate or fix the problem across all
34dc2ec0
DM
408platforms on which Perl is supported. Please only use this address for
409security issues in the Perl core, not for modules independently
44691e6f
AB
410distributed on CPAN.
411
412=head1 SEE ALSO
413
414The F<Changes> file for an explanation of how to view exhaustive details
415on what changed.
416
417The F<INSTALL> file for how to build Perl.
418
419The F<README> file for general stuff.
420
421The F<Artistic> and F<Copying> files for copyright information.
422
423=cut