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