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