This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Handle variant build product extensions in configure.com.
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
2cfe9b50
RS
5[ this is a template for a new perldelta file. Any text flagged as XXX needs
6to be processed before release. ]
c68523cb 7
2cfe9b50 8perldelta - what is new for perl v5.23.0
eabfc7bc 9
2cfe9b50 10=head1 DESCRIPTION
eabfc7bc 11
2cfe9b50
RS
12This document describes differences between the 5.22.0 release and the 5.23.0
13release.
eabfc7bc 14
2cfe9b50 15=head1 Notice
eabfc7bc 16
2cfe9b50 17XXX Any important notices here
eabfc7bc 18
2cfe9b50 19=head1 Core Enhancements
eabfc7bc 20
2cfe9b50
RS
21XXX New core language features go here. Summarize user-visible core language
22enhancements. Particularly prominent performance optimisations could go
23here, but most should go in the L</Performance Enhancements> section.
eabfc7bc 24
2cfe9b50 25[ List each enhancement as a =head2 entry ]
eabfc7bc 26
2cfe9b50 27=head1 Security
eabfc7bc 28
2cfe9b50
RS
29XXX Any security-related notices go here. In particular, any security
30vulnerabilities closed should be noted here rather than in the
31L</Selected Bug Fixes> section.
eabfc7bc 32
2cfe9b50 33[ List each security issue as a =head2 entry ]
eabfc7bc 34
2cfe9b50 35=head1 Incompatible Changes
eabfc7bc 36
2cfe9b50 37XXX For a release on a stable branch, this section aspires to be:
eabfc7bc 38
2cfe9b50
RS
39 There are no changes intentionally incompatible with 5.XXX.XXX
40 If any exist, they are bugs, and we request that you submit a
41 report. See L</Reporting Bugs> below.
eabfc7bc 42
2cfe9b50 43[ List each incompatible change as a =head2 entry ]
eabfc7bc 44
2cfe9b50 45=head1 Deprecations
eabfc7bc 46
2cfe9b50 47XXX Any deprecated features, syntax, modules etc. should be listed here.
eabfc7bc 48
2cfe9b50 49=head2 Module removals
eabfc7bc 50
2cfe9b50 51XXX Remove this section if inapplicable.
eabfc7bc 52
2cfe9b50
RS
53The following modules will be removed from the core distribution in a
54future release, and will at that time need to be installed from CPAN.
55Distributions on CPAN which require these modules will need to list them as
56prerequisites.
eabfc7bc 57
2cfe9b50
RS
58The core versions of these modules will now issue C<"deprecated">-category
59warnings to alert you to this fact. To silence these deprecation warnings,
60install the modules in question from CPAN.
eabfc7bc 61
2cfe9b50
RS
62Note that these are (with rare exceptions) fine modules that you are encouraged
63to continue to use. Their disinclusion from core primarily hinges on their
64necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
65not usually on concerns over their design.
eabfc7bc 66
2cfe9b50 67=over
eabfc7bc 68
2cfe9b50 69=item XXX
eabfc7bc 70
2cfe9b50
RS
71XXX Note that deprecated modules should be listed here even if they are listed
72as an updated module in the L</Modules and Pragmata> section.
eabfc7bc 73
2cfe9b50 74=back
eabfc7bc 75
2cfe9b50 76[ List each other deprecation as a =head2 entry ]
eabfc7bc 77
2cfe9b50 78=head1 Performance Enhancements
eabfc7bc 79
2cfe9b50
RS
80XXX Changes which enhance performance without changing behaviour go here.
81There may well be none in a stable release.
eabfc7bc 82
2cfe9b50 83[ List each enhancement as a =item entry ]
eabfc7bc 84
2cfe9b50 85=over 4
eabfc7bc
RS
86
87=item *
88
2cfe9b50 89XXX
eabfc7bc 90
2cfe9b50 91=back
eabfc7bc 92
2cfe9b50 93=head1 Modules and Pragmata
eabfc7bc 94
2cfe9b50
RS
95XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
96go here. If Module::CoreList is updated, generate an initial draft of the
97following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
98for important changes should then be added by hand. In an ideal world,
99dual-life modules would have a F<Changes> file that could be cribbed.
eabfc7bc 100
2cfe9b50 101[ Within each section, list entries as a =item entry ]
eabfc7bc 102
2cfe9b50 103=head2 New Modules and Pragmata
eabfc7bc 104
2cfe9b50 105=over 4
eabfc7bc
RS
106
107=item *
108
2cfe9b50 109XXX
eabfc7bc 110
2cfe9b50 111=back
eabfc7bc 112
2cfe9b50 113=head2 Updated Modules and Pragmata
eabfc7bc 114
2cfe9b50 115=over 4
eabfc7bc
RS
116
117=item *
118
b7b593d8
TC
119L<Math::BigInt> has been upgraded from version 1.9997 to 1.999701.
120
121Correct the behaviour of bdiv() and bmod() in list context. [perl #124300]
122
123Correct C<< Math::BigInt->new() >> for non-integer input. [perl #124325]
124
125Speed up Math::BigFloat -> blog(). [perl #124382]
126
127Fix bug in Math::BigFloat's bceil() and bint() methods. [perl #124412]
128
129=item *
130
131L<Math::BigRat> has been upgraded from version 0.2608 to 0.260801.
132
133Correct the behaviour of bdiv() and bmod() in list context. [perl #124303]
eabfc7bc 134
ef5cf9f5
TC
135=item *
136
137L<perl5db.pl> has been upgraded from version 1.49 to 1.49_01.
138
139User actions are no longer evaluated after the script under the
140debugger finishes. [perl #71678]
141
2cfe9b50 142=back
eabfc7bc 143
2cfe9b50 144=head2 Removed Modules and Pragmata
eabfc7bc 145
2cfe9b50 146=over 4
eabfc7bc
RS
147
148=item *
149
2cfe9b50 150XXX
eabfc7bc 151
2cfe9b50 152=back
eabfc7bc 153
2cfe9b50 154=head1 Documentation
33ca8d3c 155
2cfe9b50
RS
156XXX Changes to files in F<pod/> go here. Consider grouping entries by
157file and be sure to link to the appropriate page, e.g. L<perlfunc>.
eabfc7bc 158
2cfe9b50 159=head2 New Documentation
eabfc7bc 160
2cfe9b50 161XXX Changes which create B<new> files in F<pod/> go here.
eabfc7bc 162
2cfe9b50 163=head3 L<XXX>
eabfc7bc 164
2cfe9b50 165XXX Description of the purpose of the new file here
eabfc7bc 166
2cfe9b50 167=head2 Changes to Existing Documentation
eabfc7bc 168
2cfe9b50
RS
169XXX Changes which significantly change existing files in F<pod/> go here.
170However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
171section.
eabfc7bc 172
2cfe9b50 173=head3 L<XXX>
eabfc7bc 174
2cfe9b50 175=over 4
eabfc7bc
RS
176
177=item *
178
2cfe9b50 179XXX Description of the change here
eabfc7bc 180
2cfe9b50 181=back
eabfc7bc 182
2cfe9b50 183=head1 Diagnostics
eabfc7bc 184
2cfe9b50
RS
185The following additions or changes have been made to diagnostic output,
186including warnings and fatal error messages. For the complete list of
187diagnostic messages, see L<perldiag>.
eabfc7bc 188
2cfe9b50
RS
189XXX New or changed warnings emitted by the core's C<C> code go here. Also
190include any changes in L<perldiag> that reconcile it to the C<C> code.
eabfc7bc 191
2cfe9b50 192=head2 New Diagnostics
eabfc7bc 193
2cfe9b50
RS
194XXX Newly added diagnostic messages go under here, separated into New Errors
195and New Warnings
eabfc7bc 196
2cfe9b50 197=head3 New Errors
eabfc7bc 198
2cfe9b50 199=over 4
eabfc7bc
RS
200
201=item *
202
2cfe9b50 203XXX L<message|perldiag/"message">
eabfc7bc 204
2cfe9b50 205=back
eabfc7bc 206
2cfe9b50 207=head3 New Warnings
eabfc7bc 208
2cfe9b50 209=over 4
eabfc7bc
RS
210
211=item *
212
2cfe9b50 213XXX L<message|perldiag/"message">
eabfc7bc 214
2cfe9b50 215=back
eabfc7bc 216
2cfe9b50 217=head2 Changes to Existing Diagnostics
eabfc7bc 218
2cfe9b50 219XXX Changes (i.e. rewording) of diagnostic messages go here
eabfc7bc 220
2cfe9b50 221=over 4
eabfc7bc
RS
222
223=item *
224
2cfe9b50 225XXX Describe change here
eabfc7bc 226
2cfe9b50 227=back
eabfc7bc 228
2cfe9b50 229=head1 Utility Changes
eabfc7bc 230
2cfe9b50
RS
231XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
232Most of these are built within the directory F<utils>.
eabfc7bc 233
2cfe9b50
RS
234[ List utility changes as a =head2 entry for each utility and =item
235entries for each change
236Use L<XXX> with program names to get proper documentation linking. ]
eabfc7bc 237
2cfe9b50 238=head2 L<XXX>
eabfc7bc 239
2cfe9b50 240=over 4
eabfc7bc
RS
241
242=item *
243
2cfe9b50 244XXX
eabfc7bc 245
2cfe9b50 246=back
eabfc7bc 247
2cfe9b50 248=head1 Configuration and Compilation
eabfc7bc 249
2cfe9b50
RS
250XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
251go here. Any other changes to the Perl build process should be listed here.
252However, any platform-specific changes should be listed in the
253L</Platform Support> section, instead.
eabfc7bc 254
2cfe9b50 255[ List changes as a =item entry ].
eabfc7bc 256
2cfe9b50 257=over 4
eabfc7bc
RS
258
259=item *
260
2cfe9b50 261XXX
eabfc7bc 262
2cfe9b50 263=back
eabfc7bc 264
2cfe9b50 265=head1 Testing
eabfc7bc 266
2cfe9b50
RS
267XXX Any significant changes to the testing of a freshly built perl should be
268listed here. Changes which create B<new> files in F<t/> go here as do any
269large changes to the testing harness (e.g. when parallel testing was added).
270Changes to existing files in F<t/> aren't worth summarizing, although the bugs
271that they represent may be covered elsewhere.
eabfc7bc 272
2cfe9b50 273[ List each test improvement as a =item entry ]
eabfc7bc 274
2cfe9b50 275=over 4
eabfc7bc
RS
276
277=item *
278
2cfe9b50 279XXX
eabfc7bc 280
2cfe9b50 281=back
eabfc7bc 282
2cfe9b50 283=head1 Platform Support
eabfc7bc 284
2cfe9b50 285XXX Any changes to platform support should be listed in the sections below.
eabfc7bc 286
2cfe9b50
RS
287[ Within the sections, list each platform as a =item entry with specific
288changes as paragraphs below it. ]
eabfc7bc 289
2cfe9b50 290=head2 New Platforms
eabfc7bc 291
2cfe9b50
RS
292XXX List any platforms that this version of perl compiles on, that previous
293versions did not. These will either be enabled by new files in the F<hints/>
294directories, or new subdirectories and F<README> files at the top level of the
295source tree.
eabfc7bc 296
2cfe9b50 297=over 4
eabfc7bc 298
2cfe9b50 299=item XXX-some-platform
eabfc7bc 300
2cfe9b50 301XXX
eabfc7bc 302
2cfe9b50 303=back
33ca8d3c 304
2cfe9b50 305=head2 Discontinued Platforms
33ca8d3c 306
2cfe9b50 307XXX List any platforms that this version of perl no longer compiles on.
eabfc7bc 308
2cfe9b50 309=over 4
eabfc7bc 310
2cfe9b50 311=item XXX-some-platform
eabfc7bc 312
2cfe9b50 313XXX
eabfc7bc 314
2cfe9b50 315=back
eabfc7bc 316
2cfe9b50 317=head2 Platform-Specific Notes
eabfc7bc 318
2cfe9b50
RS
319XXX List any changes for specific platforms. This could include configuration
320and compilation changes or changes in portability/compatibility. However,
321changes within modules for platforms should generally be listed in the
322L</Modules and Pragmata> section.
eabfc7bc 323
2cfe9b50 324=over 4
eabfc7bc 325
269713a1 326=item Win32
eabfc7bc 327
269713a1
DD
328=over
329
330=item *
331
332Visual C++ 2013 builds will now execute on XP and higher. Previously they would
333only execute on Vista and higher.
334
335=back
eabfc7bc 336
2cfe9b50 337=back
eabfc7bc 338
2cfe9b50 339=head1 Internal Changes
eabfc7bc 340
2cfe9b50
RS
341XXX Changes which affect the interface available to C<XS> code go here. Other
342significant internal changes for future core maintainers should be noted as
343well.
eabfc7bc 344
2cfe9b50 345[ List each change as a =item entry ]
eabfc7bc 346
2cfe9b50 347=over 4
eabfc7bc
RS
348
349=item *
350
2cfe9b50 351XXX
eabfc7bc 352
2cfe9b50 353=back
eabfc7bc 354
2cfe9b50 355=head1 Selected Bug Fixes
eabfc7bc 356
2cfe9b50
RS
357XXX Important bug fixes in the core language are summarized here. Bug fixes in
358files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
eabfc7bc 359
2cfe9b50 360[ List each fix as a =item entry ]
eabfc7bc 361
2cfe9b50 362=over 4
eabfc7bc
RS
363
364=item *
365
21b14bca
TC
366Duplicating a closed file handle for write no longer creates a
367filename of the form F<GLOB(0xXXXXXXXX)>. [perl #125115]
eabfc7bc
RS
368
369=back
370
371=head1 Known Problems
372
2cfe9b50
RS
373XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
374tests that had to be C<TODO>ed for the release would be noted here. Unfixed
375platform specific bugs also go here.
eabfc7bc 376
2cfe9b50 377[ List each fix as a =item entry ]
eabfc7bc
RS
378
379=over 4
380
381=item *
382
2cfe9b50 383XXX
eabfc7bc
RS
384
385=back
386
2cfe9b50 387=head1 Errata From Previous Releases
2621aeba 388
2cfe9b50 389=over 4
eabfc7bc
RS
390
391=item *
392
2cfe9b50
RS
393XXX Add anything here that we forgot to add, or were mistaken about, in
394the perldelta of a previous release.
eabfc7bc
RS
395
396=back
2a7a05b4 397
30aa8e3f
AC
398=head1 Obituary
399
2cfe9b50
RS
400XXX If any significant core contributor has died, we've added a short obituary
401here.
30aa8e3f 402
7f9fef93 403=head1 Acknowledgements
2a7a05b4 404
2cfe9b50
RS
405XXX Generate this with:
406
407 perl Porting/acknowledgements.pl v5.23.0..HEAD
f5b73711 408
44691e6f
AB
409=head1 Reporting Bugs
410
e08634c5
SH
411If you find what you think is a bug, you might check the articles recently
412posted to the comp.lang.perl.misc newsgroup and the perl bug database at
2cfe9b50
RS
413https://rt.perl.org/ . There may also be information at
414http://www.perl.org/ , the Perl Home Page.
44691e6f 415
e08634c5
SH
416If you believe you have an unreported bug, please run the L<perlbug> program
417included with your release. Be sure to trim your bug down to a tiny but
418sufficient test case. Your bug report, along with the output of C<perl -V>,
419will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
420
421If the bug you are reporting has security implications, which make it
e08634c5
SH
422inappropriate to send to a publicly archived mailing list, then please send it
423to perl5-security-report@perl.org. This points to a closed subscription
424unarchived mailing list, which includes all the core committers, who will be
425able to help assess the impact of issues, figure out a resolution, and help
f9001595 426co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
427platforms on which Perl is supported. Please only use this address for
428security issues in the Perl core, not for modules independently distributed on
429CPAN.
44691e6f
AB
430
431=head1 SEE ALSO
432
e08634c5
SH
433The F<Changes> file for an explanation of how to view exhaustive details on
434what changed.
44691e6f
AB
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