This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta for c2538af7458
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
6fee6573
S
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.9
eabfc7bc 9
2cfe9b50 10=head1 DESCRIPTION
eabfc7bc 11
6fee6573 12This document describes differences between the 5.23.8 release and the 5.23.9
2cfe9b50 13release.
eabfc7bc 14
6fee6573
S
15If you are upgrading from an earlier release such as 5.23.7, first read
16L<perl5238delta>, which describes differences between 5.23.7 and 5.23.8.
394609a5 17
6fee6573 18=head1 Notice
a8c28920 19
6fee6573 20XXX Any important notices here
cdfe2e65 21
6fee6573 22=head1 Core Enhancements
cdfe2e65 23
6fee6573
S
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.
a8c28920 27
6fee6573 28[ List each enhancement as a =head2 entry ]
a8c28920 29
6fee6573 30=head1 Security
07450df7 31
6fee6573
S
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.
07450df7 35
6fee6573 36[ List each security issue as a =head2 entry ]
a8c28920 37
c0883d63 38=head1 Incompatible Changes
a8c28920 39
6fee6573 40XXX For a release on a stable branch, this section aspires to be:
a7e63acd 41
6fee6573
S
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.
a7e63acd 45
6fee6573 46[ List each incompatible change as a =head2 entry ]
d7745c5b 47
6fee6573 48=head1 Deprecations
a7e63acd 49
6fee6573 50XXX Any deprecated features, syntax, modules etc. should be listed here.
d7a7ed74 51
6fee6573 52=head2 Module removals
d7a7ed74 53
6fee6573 54XXX Remove this section if inapplicable.
a7e63acd 55
6fee6573
S
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.
a7e63acd 60
6fee6573
S
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.
f909f9f7 64
6fee6573
S
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.
a7e63acd 69
6fee6573 70=over
a7e63acd 71
6fee6573 72=item XXX
a7e63acd 73
6fee6573
S
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.
34e79b75 76
6fee6573 77=back
34e79b75 78
6fee6573 79[ List each other deprecation as a =head2 entry ]
34e79b75 80
6fee6573 81=head1 Performance Enhancements
fc9da770 82
6fee6573
S
83XXX Changes which enhance performance without changing behaviour go here.
84There may well be none in a stable release.
df539208 85
6fee6573 86[ List each enhancement as a =item entry ]
df539208 87
6fee6573 88=over 4
df539208
S
89
90=item *
91
6fee6573 92XXX
df539208 93
6fee6573 94=back
df539208 95
6fee6573 96=head1 Modules and Pragmata
df539208 97
6fee6573
S
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.
fc9da770 103
6fee6573 104[ Within each section, list entries as a =item entry ]
df539208 105
6fee6573 106=head2 New Modules and Pragmata
df539208 107
6fee6573 108=over 4
df539208 109
fc9da770
S
110=item *
111
6fee6573 112XXX
fc9da770 113
6fee6573 114=back
df539208 115
6fee6573 116=head2 Updated Modules and Pragmata
df539208 117
6fee6573 118=over 4
df539208
S
119
120=item *
121
6fee6573 122L<XXX> has been upgraded from version A.xx to B.yy.
fc9da770 123
28192377
S
124=item *
125
126L<Module::CoreList> has been upgraded from version 5.20160121 to
1275.20160221.
128
6fee6573 129=back
df539208 130
6fee6573 131=head2 Removed Modules and Pragmata
331b9876 132
6fee6573 133=over 4
fc9da770
S
134
135=item *
136
6fee6573 137XXX
331b9876 138
af8a293f 139=back
a7e63acd 140
c0883d63
SL
141=head1 Documentation
142
6fee6573
S
143XXX Changes to files in F<pod/> go here. Consider grouping entries by
144file and be sure to link to the appropriate page, e.g. L<perlfunc>.
d9d208b8 145
6fee6573 146=head2 New Documentation
d9d208b8 147
6fee6573 148XXX Changes which create B<new> files in F<pod/> go here.
fd12b912 149
6fee6573 150=head3 L<XXX>
fd12b912 151
6fee6573 152XXX Description of the purpose of the new file here
fd12b912 153
6fee6573 154=head2 Changes to Existing Documentation
d9d208b8 155
6fee6573
S
156XXX Changes which significantly change existing files in F<pod/> go here.
157However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
158section.
159
160=head3 L<XXX>
986b8b49
JK
161
162=over 4
163
164=item *
165
6fee6573 166XXX Description of the change here
986b8b49
JK
167
168=back
169
af8a293f 170=head1 Diagnostics
d9d208b8 171
af8a293f
SL
172The following additions or changes have been made to diagnostic output,
173including warnings and fatal error messages. For the complete list of
174diagnostic messages, see L<perldiag>.
d9d208b8 175
6fee6573
S
176XXX New or changed warnings emitted by the core's C<C> code go here. Also
177include any changes in L<perldiag> that reconcile it to the C<C> code.
178
af8a293f 179=head2 New Diagnostics
fd12b912 180
6fee6573
S
181XXX Newly added diagnostic messages go under here, separated into New Errors
182and New Warnings
183
af8a293f 184=head3 New Errors
c0883d63 185
af8a293f 186=over 4
fd12b912 187
c0883d63 188=item *
d9d208b8 189
6fee6573 190XXX L<message|perldiag/"message">
df539208 191
c0883d63 192=back
fd12b912 193
af8a293f 194=head3 New Warnings
fd12b912 195
054383b6 196=over 4
fd12b912
DG
197
198=item *
199
6fee6573 200XXX L<message|perldiag/"message">
a8c28920 201
6c83150b 202=back
a8c28920 203
6fee6573 204=head2 Changes to Existing Diagnostics
c5b0f62d 205
6fee6573 206XXX Changes (i.e. rewording) of diagnostic messages go here
c5b0f62d 207
6fee6573 208=over 4
054383b6 209
df539208
S
210=item *
211
6fee6573 212XXX Describe change here
df539208 213
af8a293f
SL
214=back
215
6fee6573 216=head1 Utility Changes
02dd1325 217
6fee6573
S
218XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
219Most of these are built within the directory F<utils>.
02dd1325 220
6fee6573
S
221[ List utility changes as a =head2 entry for each utility and =item
222entries for each change
223Use L<XXX> with program names to get proper documentation linking. ]
02dd1325 224
6fee6573 225=head2 L<XXX>
af8a293f 226
6fee6573 227=over 4
02dd1325
CB
228
229=item *
230
6fee6573 231XXX
206e921d 232
af8a293f 233=back
206e921d 234
6fee6573 235=head1 Configuration and Compilation
d9d208b8 236
6fee6573
S
237XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
238go here. Any other changes to the Perl build process should be listed here.
239However, any platform-specific changes should be listed in the
240L</Platform Support> section, instead.
d9d208b8 241
6fee6573 242[ List changes as a =item entry ].
d7745c5b
DM
243
244=over 4
245
246=item *
247
4511cd77
TC
248Dtrace builds now build sucessfully on systems with a newer dtrace
249that require an input object file that uses the probes in the F<.d>
250file.
251
252Previously the probe would fail and cause a build failure. [perl
253#122287]
d7745c5b 254
6fee6573 255=back
d7745c5b 256
6fee6573 257=head1 Testing
d7745c5b 258
6fee6573
S
259XXX Any significant changes to the testing of a freshly built perl should be
260listed here. Changes which create B<new> files in F<t/> go here as do any
261large changes to the testing harness (e.g. when parallel testing was added).
262Changes to existing files in F<t/> aren't worth summarizing, although the bugs
263that they represent may be covered elsewhere.
d7745c5b 264
6fee6573 265[ List each test improvement as a =item entry ]
d7745c5b 266
6fee6573 267=over 4
d7745c5b
DM
268
269=item *
270
6fee6573 271XXX
d7745c5b 272
6fee6573 273=back
d7745c5b 274
6fee6573 275=head1 Platform Support
d7745c5b 276
6fee6573 277XXX Any changes to platform support should be listed in the sections below.
d7745c5b 278
6fee6573
S
279[ Within the sections, list each platform as a =item entry with specific
280changes as paragraphs below it. ]
d7745c5b 281
6fee6573 282=head2 New Platforms
d7745c5b 283
6fee6573
S
284XXX List any platforms that this version of perl compiles on, that previous
285versions did not. These will either be enabled by new files in the F<hints/>
286directories, or new subdirectories and F<README> files at the top level of the
287source tree.
d7745c5b 288
6fee6573 289=over 4
d7745c5b 290
6fee6573 291=item XXX-some-platform
d7745c5b 292
6fee6573 293XXX
d7745c5b 294
6fee6573 295=back
d7745c5b 296
6fee6573 297=head2 Discontinued Platforms
d7745c5b 298
6fee6573 299XXX List any platforms that this version of perl no longer compiles on.
d7745c5b 300
6fee6573 301=over 4
d7745c5b 302
6fee6573 303=item XXX-some-platform
d7745c5b 304
6fee6573
S
305XXX
306
307=back
d7745c5b 308
6fee6573 309=head2 Platform-Specific Notes
d7745c5b 310
6fee6573
S
311XXX List any changes for specific platforms. This could include configuration
312and compilation changes or changes in portability/compatibility. However,
313changes within modules for platforms should generally be listed in the
314L</Modules and Pragmata> section.
d7745c5b 315
6fee6573 316=over 4
d7745c5b 317
e90a17ab 318=item Win32
d7745c5b 319
e1ad4fbb
DIM
320Building a 64-bit perl with a 64-bit GCC but a 32-bit gmake would
321result in an invalid C<$Config{archname}> for the resulting perl.
e90a17ab 322[perl #127584]
d7745c5b
DM
323
324=back
325
6fee6573 326=head1 Internal Changes
d89ea360 327
6fee6573
S
328XXX Changes which affect the interface available to C<XS> code go here. Other
329significant internal changes for future core maintainers should be noted as
330well.
331
332[ List each change as a =item entry ]
eabfc7bc 333
af8a293f 334=over 4
acedda6e 335
c7052e96
TC
336=item *
337
6fee6573 338XXX
2ff6ae51 339
6fee6573 340=back
2ff6ae51 341
6fee6573 342=head1 Selected Bug Fixes
42d92f4a 343
6fee6573
S
344XXX Important bug fixes in the core language are summarized here. Bug fixes in
345files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
42d92f4a 346
6fee6573 347[ List each fix as a =item entry ]
19b46ab5 348
6fee6573 349=over 4
19b46ab5 350
23b4d8d6
TC
351=item *
352
710d3eb3
KW
353It now works properly to specify a user-defined property, such as
354
355 qr/\p{mypkg1::IsMyProperty}/i
356
357with C</i> caseless matching, an explicit package name, and
4fc43451 358I<IsMyProperty> not defined at the time of the pattern compilation.
23b4d8d6 359
2aade621
TC
360=item *
361
362Perl's memcpy(), memmove(), memset() and memcmp() fallbacks are now
363more compatible with the originals. [perl #127619]
364
7febee86
KW
365=item *
366
367The peak memory usage when compiling some regular expression patterns is
368now significantly smaller. [perl #127392]
369
370=item *
371
372A case has been fixed in which malformed UTF-8 in the source of a Perl
373script caused an assertion failure instead of an error message. [perl
374#127262]
375
6fee6573 376=back
002a7765 377
6fee6573 378=head1 Known Problems
84279daf 379
6fee6573
S
380XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
381tests that had to be C<TODO>ed for the release would be noted here. Unfixed
382platform specific bugs also go here.
84279daf 383
6fee6573 384[ List each fix as a =item entry ]
84279daf 385
6fee6573 386=over 4
84279daf 387
54e70d91
TC
388=item *
389
6fee6573 390XXX
46d34d0e 391
6fee6573 392=back
46d34d0e 393
6fee6573 394=head1 Errata From Previous Releases
ac33c516 395
6fee6573 396=over 4
ac33c516 397
9857cc20
S
398=item *
399
6fee6573
S
400XXX Add anything here that we forgot to add, or were mistaken about, in
401the perldelta of a previous release.
9857cc20 402
af8a293f 403=back
3c84cb84 404
6fee6573 405=head1 Obituary
0057cacf 406
6fee6573
S
407XXX If any significant core contributor has died, we've added a short obituary
408here.
5a74572e 409
6fee6573 410=head1 Acknowledgements
e1ad135d 411
6fee6573 412XXX Generate this with:
e1ad135d 413
6fee6573 414 perl Porting/acknowledgements.pl v5.23.8..HEAD
f5b73711 415
44691e6f
AB
416=head1 Reporting Bugs
417
e08634c5
SH
418If you find what you think is a bug, you might check the articles recently
419posted to the comp.lang.perl.misc newsgroup and the perl bug database at
fc4c3cec
RS
420L<https://rt.perl.org/> . There may also be information at
421L<http://www.perl.org/> , the Perl Home Page.
44691e6f 422
e08634c5
SH
423If you believe you have an unreported bug, please run the L<perlbug> program
424included with your release. Be sure to trim your bug down to a tiny but
425sufficient test case. Your bug report, along with the output of C<perl -V>,
426will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
427
428If the bug you are reporting has security implications, which make it
e08634c5
SH
429inappropriate to send to a publicly archived mailing list, then please send it
430to perl5-security-report@perl.org. This points to a closed subscription
431unarchived mailing list, which includes all the core committers, who will be
432able to help assess the impact of issues, figure out a resolution, and help
f9001595 433co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
434platforms on which Perl is supported. Please only use this address for
435security issues in the Perl core, not for modules independently distributed on
436CPAN.
44691e6f
AB
437
438=head1 SEE ALSO
439
e08634c5
SH
440The F<Changes> file for an explanation of how to view exhaustive details on
441what changed.
44691e6f
AB
442
443The F<INSTALL> file for how to build Perl.
444
445The F<README> file for general stuff.
446
447The F<Artistic> and F<Copying> files for copyright information.
448
449=cut