This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Additional hexfp %a tests inspired by c95ea682.
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
af8a293f
SL
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.8
eabfc7bc 9
2cfe9b50 10=head1 DESCRIPTION
eabfc7bc 11
af8a293f 12This document describes differences between the 5.23.7 release and the 5.23.8
2cfe9b50 13release.
eabfc7bc 14
af8a293f
SL
15If you are upgrading from an earlier release such as 5.23.6, first read
16L<perl5237delta>, which describes differences between 5.23.6 and 5.23.7.
394609a5 17
af8a293f 18=head1 Notice
6b659339 19
af8a293f 20XXX Any important notices here
6b659339 21
af8a293f 22=head1 Core Enhancements
a8c28920 23
af8a293f
SL
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.
7feb15ec 27
af8a293f 28[ List each enhancement as a =head2 entry ]
7feb15ec 29
cdfe2e65
DIM
30=head2 More fields provided to C<sigaction> callback with C<SA_SIGINFO>
31
32When passing the C<SA_SIGINFO> flag to L<sigaction|POSIX/sigaction>, the
33C<errno>, C<status>, C<uid>, C<pid>, C<addr> and C<band> fields are now
34included in the hash passed to the handler, if supported by the
35platform.
36
af8a293f 37=head1 Security
a8c28920 38
af8a293f
SL
39XXX Any security-related notices go here. In particular, any security
40vulnerabilities closed should be noted here rather than in the
41L</Selected Bug Fixes> section.
a8c28920 42
af8a293f 43[ List each security issue as a =head2 entry ]
a8c28920 44
c0883d63 45=head1 Incompatible Changes
a8c28920 46
af8a293f 47XXX For a release on a stable branch, this section aspires to be:
f1f6961f 48
af8a293f
SL
49 There are no changes intentionally incompatible with 5.XXX.XXX
50 If any exist, they are bugs, and we request that you submit a
51 report. See L</Reporting Bugs> below.
f1f6961f 52
af8a293f 53[ List each incompatible change as a =head2 entry ]
1257ab89 54
af8a293f 55=head1 Deprecations
d9d208b8 56
af8a293f 57XXX Any deprecated features, syntax, modules etc. should be listed here.
d9d208b8 58
af8a293f 59=head2 Module removals
a7e63acd 60
af8a293f 61XXX Remove this section if inapplicable.
a7e63acd 62
af8a293f
SL
63The following modules will be removed from the core distribution in a
64future release, and will at that time need to be installed from CPAN.
65Distributions on CPAN which require these modules will need to list them as
66prerequisites.
a7e63acd 67
af8a293f
SL
68The core versions of these modules will now issue C<"deprecated">-category
69warnings to alert you to this fact. To silence these deprecation warnings,
70install the modules in question from CPAN.
a7e63acd 71
af8a293f
SL
72Note that these are (with rare exceptions) fine modules that you are encouraged
73to continue to use. Their disinclusion from core primarily hinges on their
74necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
75not usually on concerns over their design.
a7e63acd 76
af8a293f 77=over
a7e63acd 78
af8a293f 79=item XXX
a7e63acd 80
af8a293f
SL
81XXX Note that deprecated modules should be listed here even if they are listed
82as an updated module in the L</Modules and Pragmata> section.
a7e63acd 83
af8a293f 84=back
a7e63acd 85
af8a293f 86[ List each other deprecation as a =head2 entry ]
a7e63acd 87
af8a293f 88=head1 Performance Enhancements
a7e63acd 89
af8a293f
SL
90XXX Changes which enhance performance without changing behaviour go here.
91There may well be none in a stable release.
a7e63acd 92
af8a293f 93[ List each enhancement as a =item entry ]
a7e63acd 94
af8a293f 95=over 4
a7e63acd
SL
96
97=item *
98
af8a293f 99XXX
a7e63acd 100
af8a293f 101=back
a7e63acd 102
af8a293f 103=head1 Modules and Pragmata
a7e63acd 104
af8a293f
SL
105XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
106go here. If Module::CoreList is updated, generate an initial draft of the
107following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
108for important changes should then be added by hand. In an ideal world,
109dual-life modules would have a F<Changes> file that could be cribbed.
a7e63acd 110
af8a293f 111[ Within each section, list entries as a =item entry ]
a7e63acd 112
af8a293f 113=head2 New Modules and Pragmata
a7e63acd 114
af8a293f 115=over 4
a7e63acd
SL
116
117=item *
118
af8a293f 119XXX
a7e63acd 120
af8a293f 121=back
fd12b912 122
af8a293f 123=head2 Updated Modules and Pragmata
f909f9f7 124
af8a293f 125=over 4
a7e63acd
SL
126
127=item *
128
af8a293f 129L<XXX> has been upgraded from version A.xx to B.yy.
a7e63acd 130
34e79b75
DIM
131=item *
132
133L<POSIX> has been upgraded from version 1.59 to 1.60.
134
135It can now export constants for the C<code> value in the hash passed to the
136L<sigaction|POSIX/sigaction> handler when using the C<SA_SIGINFO> flag.
137
af8a293f 138=back
a7e63acd 139
af8a293f 140=head2 Removed Modules and Pragmata
a7e63acd 141
af8a293f 142=over 4
a7e63acd
SL
143
144=item *
145
af8a293f 146XXX
f909f9f7 147
054383b6 148=back
d9d208b8 149
c0883d63
SL
150=head1 Documentation
151
af8a293f
SL
152XXX Changes to files in F<pod/> go here. Consider grouping entries by
153file and be sure to link to the appropriate page, e.g. L<perlfunc>.
c0883d63 154
af8a293f 155=head2 New Documentation
d9d208b8 156
af8a293f 157XXX Changes which create B<new> files in F<pod/> go here.
d9d208b8 158
af8a293f 159=head3 L<XXX>
d9d208b8 160
af8a293f 161XXX Description of the purpose of the new file here
523c5db4 162
af8a293f 163=head2 Changes to Existing Documentation
d9d208b8 164
af8a293f
SL
165XXX Changes which significantly change existing files in F<pod/> go here.
166However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
167section.
168
169=head3 L<XXX>
d9d208b8 170
c0883d63 171=over 4
fd12b912 172
c0883d63 173=item *
fd12b912 174
af8a293f 175XXX Description of the change here
fd12b912 176
c0883d63 177=back
d9d208b8 178
af8a293f 179=head1 Diagnostics
d9d208b8 180
af8a293f
SL
181The following additions or changes have been made to diagnostic output,
182including warnings and fatal error messages. For the complete list of
183diagnostic messages, see L<perldiag>.
d9d208b8 184
af8a293f
SL
185XXX New or changed warnings emitted by the core's C<C> code go here. Also
186include any changes in L<perldiag> that reconcile it to the C<C> code.
fd12b912 187
af8a293f 188=head2 New Diagnostics
fd12b912 189
af8a293f
SL
190XXX Newly added diagnostic messages go under here, separated into New Errors
191and New Warnings
fd12b912 192
af8a293f 193=head3 New Errors
c0883d63 194
af8a293f 195=over 4
fd12b912 196
c0883d63 197=item *
d9d208b8 198
af8a293f 199XXX L<message|perldiag/"message">
d9d208b8 200
c0883d63 201=back
fd12b912 202
af8a293f 203=head3 New Warnings
fd12b912 204
054383b6 205=over 4
fd12b912
DG
206
207=item *
208
af8a293f 209XXX L<message|perldiag/"message">
a8c28920 210
6c83150b 211=back
a8c28920 212
af8a293f
SL
213=head2 Changes to Existing Diagnostics
214
215XXX Changes (i.e. rewording) of diagnostic messages go here
d9d208b8
DG
216
217=over 4
218
219=item *
220
af8a293f 221XXX Describe change here
d9d208b8
DG
222
223=back
224
af8a293f 225=head1 Utility Changes
c0883d63 226
af8a293f
SL
227XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
228Most of these are built within the directory F<utils>.
054383b6 229
af8a293f
SL
230[ List utility changes as a =head2 entry for each utility and =item
231entries for each change
232Use L<XXX> with program names to get proper documentation linking. ]
233
234=head2 L<XXX>
a8c28920 235
6c83150b 236=over 4
a8c28920
A
237
238=item *
239
af8a293f 240XXX
d9d208b8
DG
241
242=back
243
054383b6 244=head1 Configuration and Compilation
a8c28920 245
af8a293f
SL
246XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
247go here. Any other changes to the Perl build process should be listed here.
248However, any platform-specific changes should be listed in the
249L</Platform Support> section, instead.
250
251[ List changes as a =item entry ].
252
6c83150b 253=over 4
a8c28920 254
6c83150b 255=item *
a8c28920 256
af8a293f 257XXX
054383b6 258
af8a293f
SL
259=back
260
261=head1 Testing
262
263XXX Any significant changes to the testing of a freshly built perl should be
264listed here. Changes which create B<new> files in F<t/> go here as do any
265large changes to the testing harness (e.g. when parallel testing was added).
266Changes to existing files in F<t/> aren't worth summarizing, although the bugs
267that they represent may be covered elsewhere.
f83db990 268
af8a293f
SL
269[ List each test improvement as a =item entry ]
270
271=over 4
eabfc7bc 272
0dafb1ce 273=item *
eabfc7bc 274
af8a293f 275XXX
5ea25977 276
b3c290c2
TC
277=item *
278
279The GNU Make makefile for Win32 now supports parallel builds. [perl #126632]
280
281=item *
282
283You can now build perl with MSVC++ on Win32 using GNU Make. [perl #126632]
284
b26bd9b0 285=back
5ea25977 286
6c83150b
A
287=head1 Platform Support
288
af8a293f
SL
289XXX Any changes to platform support should be listed in the sections below.
290
291[ Within the sections, list each platform as a =item entry with specific
292changes as paragraphs below it. ]
293
294=head2 New Platforms
295
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.
0517ed38 300
6c83150b 301=over 4
0517ed38 302
af8a293f 303=item XXX-some-platform
b3d7d865 304
af8a293f 305XXX
b3d7d865 306
af8a293f 307=back
d9d208b8 308
af8a293f 309=head2 Discontinued Platforms
48fbd301 310
af8a293f 311XXX List any platforms that this version of perl no longer compiles on.
48fbd301 312
af8a293f 313=over 4
f4240379 314
af8a293f 315=item XXX-some-platform
f4240379 316
af8a293f 317XXX
6c83150b 318
1d6d94ad
DG
319=back
320
af8a293f
SL
321=head2 Platform-Specific Notes
322
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.
d89ea360 327
054383b6 328=over 4
0efe3111 329
022b5ce0 330=item Win32
0efe3111 331
022b5ce0
TC
332Builds using Microsoft Visual C++ 2003 and earlier no longer produce
333an "INTERNAL COMPILER ERROR" message. [perl #126045]
206e921d 334
af8a293f 335=back
206e921d 336
af8a293f 337=head1 Internal Changes
d9d208b8 338
af8a293f
SL
339XXX Changes which affect the interface available to C<XS> code go here. Other
340significant internal changes for future core maintainers should be noted as
341well.
342
343[ List each change as a =item entry ]
d9d208b8 344
af8a293f 345=over 4
d9d208b8
DG
346
347=item *
348
af8a293f 349XXX
d9d208b8 350
d89ea360
DD
351=back
352
b26bd9b0 353=head1 Selected Bug Fixes
eabfc7bc 354
af8a293f
SL
355XXX Important bug fixes in the core language are summarized here. Bug fixes in
356files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
acedda6e 357
af8a293f 358[ List each fix as a =item entry ]
bc5be890 359
af8a293f 360=over 4
acedda6e 361
c7052e96
TC
362=item *
363
2ff6ae51 364Line numbers larger than 2**31-1 but less than 2**32 are no longer
d15ad02e 365returned by caller() as negative numbers. [perl #126991]
c7052e96 366
2ff6ae51
TC
367=item *
368
369C<< unless ( I<assignment> ) >> now properly warns when syntax
370warnings are enabled. [perl #127122]
371
42d92f4a
TC
372=item *
373
374Setting an C<ISA> glob to an array reference now properly adds
375C<isaelem> magic to any existing elements. Previously modifying such
376an element would not update the ISA cache, so method calls would call
377the wrong function. Perl would also crash if the C<ISA> glob was
378destroyed, since new code added in 5.23.7 would try to release the
379C<isaelem> magic from the elements. [perl #127351]
380
19b46ab5
TC
381=item *
382
383If a here-doc was found while parsing another operator, the parser had
384already read end of file, and the here-doc was not terminated, perl
385could produce an assertion or a segmentation fault. This now reliably
386complains about the unterminated here-doc. [perl #125540]
387
af8a293f 388=back
3c84cb84 389
af8a293f 390=head1 Known Problems
d005d3c3 391
af8a293f
SL
392XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
393tests that had to be C<TODO>ed for the release would be noted here. Unfixed
394platform specific bugs also go here.
d43e55a3 395
af8a293f 396[ List each fix as a =item entry ]
e685831a 397
af8a293f 398=over 4
e685831a 399
0701ff00
JH
400=item *
401
af8a293f 402XXX
0701ff00 403
054383b6 404=back
d9d208b8 405
af8a293f 406=head1 Errata From Previous Releases
0057cacf
SL
407
408=over 4
409
410=item *
411
af8a293f
SL
412XXX Add anything here that we forgot to add, or were mistaken about, in
413the perldelta of a previous release.
0057cacf
SL
414
415=back
416
af8a293f 417=head1 Obituary
5a74572e 418
af8a293f
SL
419XXX If any significant core contributor has died, we've added a short obituary
420here.
5a74572e 421
af8a293f 422=head1 Acknowledgements
e1ad135d 423
af8a293f 424XXX Generate this with:
e1ad135d 425
af8a293f 426 perl Porting/acknowledgements.pl v5.23.7..HEAD
f5b73711 427
44691e6f
AB
428=head1 Reporting Bugs
429
e08634c5
SH
430If you find what you think is a bug, you might check the articles recently
431posted to the comp.lang.perl.misc newsgroup and the perl bug database at
fc4c3cec
RS
432L<https://rt.perl.org/> . There may also be information at
433L<http://www.perl.org/> , the Perl Home Page.
44691e6f 434
e08634c5
SH
435If you believe you have an unreported bug, please run the L<perlbug> program
436included with your release. Be sure to trim your bug down to a tiny but
437sufficient test case. Your bug report, along with the output of C<perl -V>,
438will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
439
440If the bug you are reporting has security implications, which make it
e08634c5
SH
441inappropriate to send to a publicly archived mailing list, then please send it
442to perl5-security-report@perl.org. This points to a closed subscription
443unarchived mailing list, which includes all the core committers, who will be
444able to help assess the impact of issues, figure out a resolution, and help
f9001595 445co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
446platforms on which Perl is supported. Please only use this address for
447security issues in the Perl core, not for modules independently distributed on
448CPAN.
44691e6f
AB
449
450=head1 SEE ALSO
451
e08634c5
SH
452The F<Changes> file for an explanation of how to view exhaustive details on
453what changed.
44691e6f
AB
454
455The F<INSTALL> file for how to build Perl.
456
457The F<README> file for general stuff.
458
459The F<Artistic> and F<Copying> files for copyright information.
460
461=cut