This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta: Fix typo
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
733dba2b
CG
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.25.8
eabfc7bc 9
2cfe9b50 10=head1 DESCRIPTION
eabfc7bc 11
733dba2b 12This document describes differences between the 5.25.7 release and the 5.25.8
4b8803f0 13release.
f3ed8cbf 14
733dba2b
CG
15If you are upgrading from an earlier release such as 5.25.6, first read
16L<perl5257delta>, which describes differences between 5.25.6 and 5.25.7.
8bbdbfcb 17
733dba2b 18=head1 Notice
8bbdbfcb 19
733dba2b 20XXX Any important notices here
8bbdbfcb 21
733dba2b 22=head1 Core Enhancements
ce6646d7 23
733dba2b
CG
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.
c0ea3294 27
733dba2b 28[ List each enhancement as a =head2 entry ]
ce6646d7 29
eaed4a85
YO
30=head2 New Hash Function For 64-bit Builds
31
32We have switched to a hybrid hash function to better balance
33performance for short and long keys.
34
35For short keys, 16 bytes and under, we use an optimised variant of
36One At A Time Hard, and for longer keys we use Siphash 1-3. For very
37long keys this is a big improvement in performance. For shorter keys
38there is a modest improvement.
39
733dba2b 40=head1 Security
8bbdbfcb 41
733dba2b
CG
42XXX Any security-related notices go here. In particular, any security
43vulnerabilities closed should be noted here rather than in the
44L</Selected Bug Fixes> section.
8bbdbfcb 45
733dba2b 46[ List each security issue as a =head2 entry ]
8bbdbfcb 47
733dba2b 48=head1 Incompatible Changes
8bbdbfcb 49
733dba2b 50XXX For a release on a stable branch, this section aspires to be:
2f4cbc09 51
733dba2b
CG
52 There are no changes intentionally incompatible with 5.XXX.XXX
53 If any exist, they are bugs, and we request that you submit a
54 report. See L</Reporting Bugs> below.
2f4cbc09 55
733dba2b 56[ List each incompatible change as a =head2 entry ]
226eba01 57
733dba2b 58=head1 Deprecations
8bbdbfcb 59
733dba2b 60XXX Any deprecated features, syntax, modules etc. should be listed here.
8bbdbfcb 61
733dba2b 62=head2 Module removals
8bbdbfcb 63
733dba2b 64XXX Remove this section if inapplicable.
8bbdbfcb 65
733dba2b
CG
66The following modules will be removed from the core distribution in a
67future release, and will at that time need to be installed from CPAN.
68Distributions on CPAN which require these modules will need to list them as
69prerequisites.
8bbdbfcb 70
733dba2b
CG
71The core versions of these modules will now issue C<"deprecated">-category
72warnings to alert you to this fact. To silence these deprecation warnings,
73install the modules in question from CPAN.
8bbdbfcb 74
733dba2b
CG
75Note that these are (with rare exceptions) fine modules that you are encouraged
76to continue to use. Their disinclusion from core primarily hinges on their
77necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
78not usually on concerns over their design.
8bbdbfcb 79
733dba2b 80=over
8bbdbfcb 81
733dba2b 82=item XXX
8bbdbfcb 83
733dba2b
CG
84XXX Note that deprecated modules should be listed here even if they are listed
85as an updated module in the L</Modules and Pragmata> section.
8bbdbfcb 86
a09f502b 87=back
226eba01 88
733dba2b 89[ List each other deprecation as a =head2 entry ]
55a729d3 90
733dba2b 91=head1 Performance Enhancements
226eba01 92
733dba2b
CG
93XXX Changes which enhance performance without changing behaviour go here.
94There may well be none in a stable release.
226eba01 95
733dba2b 96[ List each enhancement as a =item entry ]
8bbdbfcb
CG
97
98=over 4
99
eaed4a85 100=item * New Faster Hash Function on 64 bit builds
8bbdbfcb 101
eaed4a85
YO
102We use a different hash function for short and long keys. This should
103improve performance and security, especially for long keys.
8bbdbfcb 104
dd3d2a3f
DM
105=item * readline is faster
106
107Reading from a file line-by-line with c<readline()> or C<< <> >> should
108now typically be faster due to a better implementation of the code that
109searches for the next newline character.
110
8bbdbfcb
CG
111=back
112
733dba2b 113=head1 Modules and Pragmata
8bbdbfcb 114
733dba2b
CG
115XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
116go here. If Module::CoreList is updated, generate an initial draft of the
117following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
118for important changes should then be added by hand. In an ideal world,
119dual-life modules would have a F<Changes> file that could be cribbed.
8bbdbfcb 120
733dba2b 121[ Within each section, list entries as a =item entry ]
8bbdbfcb 122
733dba2b 123=head2 New Modules and Pragmata
226eba01 124
a09f502b 125=over 4
226eba01
AC
126
127=item *
128
733dba2b 129XXX
8bbdbfcb
CG
130
131=back
132
733dba2b 133=head2 Updated Modules and Pragmata
8bbdbfcb
CG
134
135=over 4
136
137=item *
138
733dba2b 139L<XXX> has been upgraded from version A.xx to B.yy.
8bbdbfcb 140
ff10d69b
JK
141=item *
142
143L<Pod::Simple> has been upgraded from version 3.32 to 3.35.
144
76ea8b6a
JK
145=item *
146
147L<Test::Simple> has been upgraded from version 1.302067 to 1.302071.
148
8bbdbfcb
CG
149=back
150
733dba2b 151=head2 Removed Modules and Pragmata
8bbdbfcb
CG
152
153=over 4
154
155=item *
156
733dba2b 157XXX
8bbdbfcb
CG
158
159=back
160
733dba2b 161=head1 Documentation
8bbdbfcb 162
733dba2b
CG
163XXX Changes to files in F<pod/> go here. Consider grouping entries by
164file and be sure to link to the appropriate page, e.g. L<perlfunc>.
8bbdbfcb 165
733dba2b 166=head2 New Documentation
8bbdbfcb 167
733dba2b 168XXX Changes which create B<new> files in F<pod/> go here.
8bbdbfcb 169
733dba2b 170=head3 L<XXX>
8bbdbfcb 171
733dba2b 172XXX Description of the purpose of the new file here
8bbdbfcb 173
733dba2b 174=head2 Changes to Existing Documentation
8bbdbfcb 175
733dba2b
CG
176XXX Changes which significantly change existing files in F<pod/> go here.
177However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
178section.
8bbdbfcb 179
733dba2b 180=head3 L<XXX>
8bbdbfcb
CG
181
182=over 4
183
184=item *
185
733dba2b 186XXX Description of the change here
8bbdbfcb
CG
187
188=back
189
733dba2b 190=head1 Diagnostics
8bbdbfcb 191
733dba2b
CG
192The following additions or changes have been made to diagnostic output,
193including warnings and fatal error messages. For the complete list of
194diagnostic messages, see L<perldiag>.
8bbdbfcb 195
733dba2b
CG
196XXX New or changed warnings emitted by the core's C<C> code go here. Also
197include any changes in L<perldiag> that reconcile it to the C<C> code.
8bbdbfcb 198
733dba2b 199=head2 New Diagnostics
8bbdbfcb 200
733dba2b
CG
201XXX Newly added diagnostic messages go under here, separated into New Errors
202and New Warnings
8bbdbfcb 203
733dba2b 204=head3 New Errors
8bbdbfcb
CG
205
206=over 4
207
208=item *
209
733dba2b 210XXX L<message|perldiag/"message">
8bbdbfcb
CG
211
212=back
213
733dba2b 214=head3 New Warnings
8bbdbfcb
CG
215
216=over 4
217
218=item *
219
733dba2b 220XXX L<message|perldiag/"message">
8bbdbfcb 221
be293293 222=back
8c3f6b0b 223
a09f502b
AC
224=head2 Changes to Existing Diagnostics
225
733dba2b 226XXX Changes (i.e. rewording) of diagnostic messages go here
2c4879e2 227
733dba2b 228=over 4
8bbdbfcb
CG
229
230=item *
231
733dba2b 232XXX Describe change here
bd5630ab 233
2c4879e2
SL
234=back
235
a09f502b
AC
236=head1 Utility Changes
237
733dba2b
CG
238XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
239Most of these are built within the directory F<utils>.
8bbdbfcb 240
733dba2b
CG
241[ List utility changes as a =head2 entry for each utility and =item
242entries for each change
243Use L<XXX> with program names to get proper documentation linking. ]
8bbdbfcb 244
733dba2b 245=head2 L<XXX>
8bbdbfcb 246
733dba2b 247=over 4
8bbdbfcb
CG
248
249=item *
250
733dba2b 251XXX
07cfdfcc 252
262514fd 253=back
2c4879e2 254
a09f502b
AC
255=head1 Configuration and Compilation
256
733dba2b
CG
257XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
258go here. Any other changes to the Perl build process should be listed here.
259However, any platform-specific changes should be listed in the
260L</Platform Support> section, instead.
8bbdbfcb 261
733dba2b 262[ List changes as a =item entry ].
8bbdbfcb 263
733dba2b 264=over 4
a09f502b 265
a07f6112 266=item *
a09f502b 267
c730b126
TC
268Zero out the alignment bytes when calculating the bytes for 80-bit C<NaN>
269and C<Inf> to make builds more reproducible. [perl #130133]
a09f502b 270
36cabe94
YO
271=item *
272
273Since 5.18 for testing purposes we have included support for
274building perl with a variety of non-standard, and non-recommended
275hash functions. Since we do not recommend the use of these functions
ef897757 276we have removed them and their corresponding build options. Specifically
36cabe94
YO
277this includes the following build options:
278
279 PERL_HASH_FUNC_SDBM
280 PERL_HASH_FUNC_DJB2
281 PERL_HASH_FUNC_SUPERFAST
282 PERL_HASH_FUNC_MURMUR3
283 PERL_HASH_FUNC_ONE_AT_A_TIME
284 PERL_HASH_FUNC_ONE_AT_A_TIME_OLD
285 PERL_HASH_FUNC_MURMUR_HASH_64A
286 PERL_HASH_FUNC_MURMUR_HASH_64B
287
a07f6112 288=back
7d897bd0 289
a07f6112 290=head1 Testing
a09f502b 291
733dba2b
CG
292XXX Any significant changes to the testing of a freshly built perl should be
293listed here. Changes which create B<new> files in F<t/> go here as do any
294large changes to the testing harness (e.g. when parallel testing was added).
295Changes to existing files in F<t/> aren't worth summarizing, although the bugs
296that they represent may be covered elsewhere.
a6a32e96 297
733dba2b 298[ List each test improvement as a =item entry ]
a6a32e96 299
733dba2b 300=over 4
a6a32e96 301
e7e6e8d4
KW
302=item *
303
733dba2b 304XXX
e7e6e8d4 305
262514fd 306=back
046a081f 307
262514fd 308=head1 Platform Support
046a081f 309
733dba2b 310XXX Any changes to platform support should be listed in the sections below.
8bbdbfcb 311
733dba2b
CG
312[ Within the sections, list each platform as a =item entry with specific
313changes as paragraphs below it. ]
8bbdbfcb 314
733dba2b 315=head2 New Platforms
8bbdbfcb 316
733dba2b
CG
317XXX List any platforms that this version of perl compiles on, that previous
318versions did not. These will either be enabled by new files in the F<hints/>
319directories, or new subdirectories and F<README> files at the top level of the
320source tree.
8bbdbfcb 321
733dba2b 322=over 4
8bbdbfcb 323
733dba2b 324=item XXX-some-platform
a07f6112 325
733dba2b 326XXX
8bbdbfcb 327
733dba2b 328=back
8bbdbfcb 329
733dba2b 330=head2 Discontinued Platforms
8bbdbfcb 331
733dba2b 332XXX List any platforms that this version of perl no longer compiles on.
8bbdbfcb 333
733dba2b 334=over 4
8bbdbfcb 335
733dba2b 336=item XXX-some-platform
8bbdbfcb 337
733dba2b 338XXX
8bbdbfcb 339
733dba2b 340=back
8bbdbfcb 341
733dba2b 342=head2 Platform-Specific Notes
8bbdbfcb 343
733dba2b
CG
344XXX List any changes for specific platforms. This could include configuration
345and compilation changes or changes in portability/compatibility. However,
346changes within modules for platforms should generally be listed in the
347L</Modules and Pragmata> section.
8bbdbfcb 348
733dba2b 349=over 4
8bbdbfcb 350
733dba2b 351=item XXX-some-platform
8bbdbfcb 352
733dba2b 353XXX
8bbdbfcb
CG
354
355=back
356
a07f6112 357=head1 Internal Changes
f9380377 358
733dba2b
CG
359XXX Changes which affect the interface available to C<XS> code go here. Other
360significant internal changes for future core maintainers should be noted as
361well.
a6a32e96 362
733dba2b 363[ List each change as a =item entry ]
a6a32e96 364
733dba2b 365=over 4
a6a32e96
AC
366
367=item *
368
e03e82a0
DM
369A new API function, C<sv_set_undef(sv)>, has been added. This is
370equivalent to C<sv_setsv(sv, &PL_sv_undef)>, but is more efficient.
bd5630ab 371
a09f502b 372=back
a6a32e96 373
a09f502b 374=head1 Selected Bug Fixes
a6a32e96 375
733dba2b
CG
376XXX Important bug fixes in the core language are summarized here. Bug fixes in
377files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
a6a32e96 378
733dba2b 379[ List each fix as a =item entry ]
8bbdbfcb 380
733dba2b 381=over 4
8bbdbfcb
CG
382
383=item *
384
733dba2b 385XXX
2f4cbc09 386
733dba2b 387=back
8bbdbfcb 388
733dba2b 389=head1 Known Problems
8bbdbfcb 390
733dba2b
CG
391XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
392tests that had to be C<TODO>ed for the release would be noted here. Unfixed
393platform specific bugs also go here.
8bbdbfcb 394
733dba2b 395[ List each fix as a =item entry ]
8bbdbfcb 396
733dba2b 397=over 4
8bbdbfcb
CG
398
399=item *
400
733dba2b 401XXX
8bbdbfcb 402
733dba2b 403=back
8bbdbfcb 404
733dba2b 405=head1 Errata From Previous Releases
8bbdbfcb 406
733dba2b 407=over 4
8bbdbfcb
CG
408
409=item *
410
733dba2b
CG
411XXX Add anything here that we forgot to add, or were mistaken about, in
412the perldelta of a previous release.
8bbdbfcb 413
262514fd
SL
414=back
415
733dba2b 416=head1 Obituary
a6a32e96 417
733dba2b
CG
418XXX If any significant core contributor has died, we've added a short obituary
419here.
262514fd 420
733dba2b 421=head1 Acknowledgements
226eba01 422
733dba2b 423XXX Generate this with:
24528e8e 424
733dba2b 425 perl Porting/acknowledgements.pl v5.25.5..HEAD
f5b73711 426
44691e6f
AB
427=head1 Reporting Bugs
428
c0ea3294
SH
429If you find what you think is a bug, you might check the perl bug database
430at L<https://rt.perl.org/> . There may also be information at
4b8803f0 431L<http://www.perl.org/> , the Perl Home Page.
44691e6f 432
e08634c5
SH
433If you believe you have an unreported bug, please run the L<perlbug> program
434included with your release. Be sure to trim your bug down to a tiny but
435sufficient test case. Your bug report, along with the output of C<perl -V>,
436will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f 437
87c118b9
DM
438If the bug you are reporting has security implications which make it
439inappropriate to send to a publicly archived mailing list, then see
c0ea3294
SH
440L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
441for details of how to report the issue.
44691e6f
AB
442
443=head1 SEE ALSO
444
e08634c5
SH
445The F<Changes> file for an explanation of how to view exhaustive details on
446what changed.
44691e6f
AB
447
448The F<INSTALL> file for how to build Perl.
449
450The F<README> file for general stuff.
451
452The F<Artistic> and F<Copying> files for copyright information.
453
454=cut