This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Upgrade CPAN-Meta-Requirements from version 2.132 to 2.133
[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
374c951f
SH
116
117=item *
118
119L<CPAN::Meta::Requirements> has been upgraded from version 2.132 to 2.133.
eabfc7bc
RS
120
121=item *
122
b7b593d8
TC
123L<Math::BigInt> has been upgraded from version 1.9997 to 1.999701.
124
125Correct the behaviour of bdiv() and bmod() in list context. [perl #124300]
126
127Correct C<< Math::BigInt->new() >> for non-integer input. [perl #124325]
128
129Speed up Math::BigFloat -> blog(). [perl #124382]
130
131Fix bug in Math::BigFloat's bceil() and bint() methods. [perl #124412]
132
133=item *
134
135L<Math::BigRat> has been upgraded from version 0.2608 to 0.260801.
136
137Correct the behaviour of bdiv() and bmod() in list context. [perl #124303]
eabfc7bc 138
ef5cf9f5
TC
139=item *
140
141L<perl5db.pl> has been upgraded from version 1.49 to 1.49_01.
142
143User actions are no longer evaluated after the script under the
144debugger finishes. [perl #71678]
145
2cfe9b50 146=back
eabfc7bc 147
2cfe9b50 148=head2 Removed Modules and Pragmata
eabfc7bc 149
2cfe9b50 150=over 4
eabfc7bc
RS
151
152=item *
153
2cfe9b50 154XXX
eabfc7bc 155
2cfe9b50 156=back
eabfc7bc 157
2cfe9b50 158=head1 Documentation
33ca8d3c 159
2cfe9b50
RS
160XXX Changes to files in F<pod/> go here. Consider grouping entries by
161file and be sure to link to the appropriate page, e.g. L<perlfunc>.
eabfc7bc 162
2cfe9b50 163=head2 New Documentation
eabfc7bc 164
2cfe9b50 165XXX Changes which create B<new> files in F<pod/> go here.
eabfc7bc 166
2cfe9b50 167=head3 L<XXX>
eabfc7bc 168
2cfe9b50 169XXX Description of the purpose of the new file here
eabfc7bc 170
2cfe9b50 171=head2 Changes to Existing Documentation
eabfc7bc 172
2cfe9b50
RS
173XXX Changes which significantly change existing files in F<pod/> go here.
174However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
175section.
eabfc7bc 176
2cfe9b50 177=head3 L<XXX>
eabfc7bc 178
2cfe9b50 179=over 4
eabfc7bc
RS
180
181=item *
182
2cfe9b50 183XXX Description of the change here
eabfc7bc 184
2cfe9b50 185=back
eabfc7bc 186
2cfe9b50 187=head1 Diagnostics
eabfc7bc 188
2cfe9b50
RS
189The following additions or changes have been made to diagnostic output,
190including warnings and fatal error messages. For the complete list of
191diagnostic messages, see L<perldiag>.
eabfc7bc 192
2cfe9b50
RS
193XXX New or changed warnings emitted by the core's C<C> code go here. Also
194include any changes in L<perldiag> that reconcile it to the C<C> code.
eabfc7bc 195
2cfe9b50 196=head2 New Diagnostics
eabfc7bc 197
2cfe9b50
RS
198XXX Newly added diagnostic messages go under here, separated into New Errors
199and New Warnings
eabfc7bc 200
2cfe9b50 201=head3 New Errors
eabfc7bc 202
2cfe9b50 203=over 4
eabfc7bc
RS
204
205=item *
206
2cfe9b50 207XXX L<message|perldiag/"message">
eabfc7bc 208
2cfe9b50 209=back
eabfc7bc 210
2cfe9b50 211=head3 New Warnings
eabfc7bc 212
2cfe9b50 213=over 4
eabfc7bc
RS
214
215=item *
216
2cfe9b50 217XXX L<message|perldiag/"message">
eabfc7bc 218
2cfe9b50 219=back
eabfc7bc 220
2cfe9b50 221=head2 Changes to Existing Diagnostics
eabfc7bc 222
2cfe9b50 223XXX Changes (i.e. rewording) of diagnostic messages go here
eabfc7bc 224
2cfe9b50 225=over 4
eabfc7bc
RS
226
227=item *
228
2cfe9b50 229XXX Describe change here
eabfc7bc 230
2cfe9b50 231=back
eabfc7bc 232
2cfe9b50 233=head1 Utility Changes
eabfc7bc 234
2cfe9b50
RS
235XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
236Most of these are built within the directory F<utils>.
eabfc7bc 237
2cfe9b50
RS
238[ List utility changes as a =head2 entry for each utility and =item
239entries for each change
240Use L<XXX> with program names to get proper documentation linking. ]
eabfc7bc 241
2cfe9b50 242=head2 L<XXX>
eabfc7bc 243
2cfe9b50 244=over 4
eabfc7bc
RS
245
246=item *
247
2cfe9b50 248XXX
eabfc7bc 249
2cfe9b50 250=back
eabfc7bc 251
2cfe9b50 252=head1 Configuration and Compilation
eabfc7bc 253
2cfe9b50
RS
254XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
255go here. Any other changes to the Perl build process should be listed here.
256However, any platform-specific changes should be listed in the
257L</Platform Support> section, instead.
eabfc7bc 258
2cfe9b50 259[ List changes as a =item entry ].
eabfc7bc 260
2cfe9b50 261=over 4
eabfc7bc
RS
262
263=item *
264
2cfe9b50 265XXX
eabfc7bc 266
2cfe9b50 267=back
eabfc7bc 268
2cfe9b50 269=head1 Testing
eabfc7bc 270
2cfe9b50
RS
271XXX Any significant changes to the testing of a freshly built perl should be
272listed here. Changes which create B<new> files in F<t/> go here as do any
273large changes to the testing harness (e.g. when parallel testing was added).
274Changes to existing files in F<t/> aren't worth summarizing, although the bugs
275that they represent may be covered elsewhere.
eabfc7bc 276
2cfe9b50 277[ List each test improvement as a =item entry ]
eabfc7bc 278
2cfe9b50 279=over 4
eabfc7bc
RS
280
281=item *
282
2cfe9b50 283XXX
eabfc7bc 284
2cfe9b50 285=back
eabfc7bc 286
2cfe9b50 287=head1 Platform Support
eabfc7bc 288
2cfe9b50 289XXX Any changes to platform support should be listed in the sections below.
eabfc7bc 290
2cfe9b50
RS
291[ Within the sections, list each platform as a =item entry with specific
292changes as paragraphs below it. ]
eabfc7bc 293
2cfe9b50 294=head2 New Platforms
eabfc7bc 295
2cfe9b50
RS
296XXX List any platforms that this version of perl compiles on, that previous
297versions did not. These will either be enabled by new files in the F<hints/>
298directories, or new subdirectories and F<README> files at the top level of the
299source tree.
eabfc7bc 300
2cfe9b50 301=over 4
eabfc7bc 302
2cfe9b50 303=item XXX-some-platform
eabfc7bc 304
2cfe9b50 305XXX
eabfc7bc 306
2cfe9b50 307=back
33ca8d3c 308
2cfe9b50 309=head2 Discontinued Platforms
33ca8d3c 310
2cfe9b50 311XXX List any platforms that this version of perl no longer compiles on.
eabfc7bc 312
2cfe9b50 313=over 4
eabfc7bc 314
2cfe9b50 315=item XXX-some-platform
eabfc7bc 316
2cfe9b50 317XXX
eabfc7bc 318
2cfe9b50 319=back
eabfc7bc 320
2cfe9b50 321=head2 Platform-Specific Notes
eabfc7bc 322
2cfe9b50
RS
323XXX List any changes for specific platforms. This could include configuration
324and compilation changes or changes in portability/compatibility. However,
325changes within modules for platforms should generally be listed in the
326L</Modules and Pragmata> section.
eabfc7bc 327
2cfe9b50 328=over 4
eabfc7bc 329
269713a1 330=item Win32
eabfc7bc 331
269713a1
DD
332=over
333
334=item *
335
336Visual C++ 2013 builds will now execute on XP and higher. Previously they would
337only execute on Vista and higher.
338
339=back
eabfc7bc 340
2cfe9b50 341=back
eabfc7bc 342
2cfe9b50 343=head1 Internal Changes
eabfc7bc 344
2cfe9b50
RS
345XXX Changes which affect the interface available to C<XS> code go here. Other
346significant internal changes for future core maintainers should be noted as
347well.
eabfc7bc 348
2cfe9b50 349[ List each change as a =item entry ]
eabfc7bc 350
2cfe9b50 351=over 4
eabfc7bc
RS
352
353=item *
354
2cfe9b50 355XXX
eabfc7bc 356
2cfe9b50 357=back
eabfc7bc 358
2cfe9b50 359=head1 Selected Bug Fixes
eabfc7bc 360
2cfe9b50
RS
361XXX Important bug fixes in the core language are summarized here. Bug fixes in
362files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
eabfc7bc 363
2cfe9b50 364[ List each fix as a =item entry ]
eabfc7bc 365
2cfe9b50 366=over 4
eabfc7bc
RS
367
368=item *
369
21b14bca
TC
370Duplicating a closed file handle for write no longer creates a
371filename of the form F<GLOB(0xXXXXXXXX)>. [perl #125115]
eabfc7bc
RS
372
373=back
374
375=head1 Known Problems
376
2cfe9b50
RS
377XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
378tests that had to be C<TODO>ed for the release would be noted here. Unfixed
379platform specific bugs also go here.
eabfc7bc 380
2cfe9b50 381[ List each fix as a =item entry ]
eabfc7bc
RS
382
383=over 4
384
385=item *
386
2cfe9b50 387XXX
eabfc7bc
RS
388
389=back
390
2cfe9b50 391=head1 Errata From Previous Releases
2621aeba 392
2cfe9b50 393=over 4
eabfc7bc
RS
394
395=item *
396
2cfe9b50
RS
397XXX Add anything here that we forgot to add, or were mistaken about, in
398the perldelta of a previous release.
eabfc7bc
RS
399
400=back
2a7a05b4 401
30aa8e3f
AC
402=head1 Obituary
403
2cfe9b50
RS
404XXX If any significant core contributor has died, we've added a short obituary
405here.
30aa8e3f 406
7f9fef93 407=head1 Acknowledgements
2a7a05b4 408
2cfe9b50
RS
409XXX Generate this with:
410
411 perl Porting/acknowledgements.pl v5.23.0..HEAD
f5b73711 412
44691e6f
AB
413=head1 Reporting Bugs
414
e08634c5
SH
415If you find what you think is a bug, you might check the articles recently
416posted to the comp.lang.perl.misc newsgroup and the perl bug database at
2cfe9b50
RS
417https://rt.perl.org/ . There may also be information at
418http://www.perl.org/ , the Perl Home Page.
44691e6f 419
e08634c5
SH
420If you believe you have an unreported bug, please run the L<perlbug> program
421included with your release. Be sure to trim your bug down to a tiny but
422sufficient test case. Your bug report, along with the output of C<perl -V>,
423will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
424
425If the bug you are reporting has security implications, which make it
e08634c5
SH
426inappropriate to send to a publicly archived mailing list, then please send it
427to perl5-security-report@perl.org. This points to a closed subscription
428unarchived mailing list, which includes all the core committers, who will be
429able to help assess the impact of issues, figure out a resolution, and help
f9001595 430co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
431platforms on which Perl is supported. Please only use this address for
432security issues in the Perl core, not for modules independently distributed on
433CPAN.
44691e6f
AB
434
435=head1 SEE ALSO
436
e08634c5
SH
437The F<Changes> file for an explanation of how to view exhaustive details on
438what changed.
44691e6f
AB
439
440The F<INSTALL> file for how to build Perl.
441
442The F<README> file for general stuff.
443
444The F<Artistic> and F<Copying> files for copyright information.
445
446=cut