This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta for Test-Simple 1.302067 to 1.302071.
[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
733dba2b 268XXX
a09f502b 269
a07f6112 270=back
7d897bd0 271
a07f6112 272=head1 Testing
a09f502b 273
733dba2b
CG
274XXX Any significant changes to the testing of a freshly built perl should be
275listed here. Changes which create B<new> files in F<t/> go here as do any
276large changes to the testing harness (e.g. when parallel testing was added).
277Changes to existing files in F<t/> aren't worth summarizing, although the bugs
278that they represent may be covered elsewhere.
a6a32e96 279
733dba2b 280[ List each test improvement as a =item entry ]
a6a32e96 281
733dba2b 282=over 4
a6a32e96 283
e7e6e8d4
KW
284=item *
285
733dba2b 286XXX
e7e6e8d4 287
262514fd 288=back
046a081f 289
262514fd 290=head1 Platform Support
046a081f 291
733dba2b 292XXX Any changes to platform support should be listed in the sections below.
8bbdbfcb 293
733dba2b
CG
294[ Within the sections, list each platform as a =item entry with specific
295changes as paragraphs below it. ]
8bbdbfcb 296
733dba2b 297=head2 New Platforms
8bbdbfcb 298
733dba2b
CG
299XXX List any platforms that this version of perl compiles on, that previous
300versions did not. These will either be enabled by new files in the F<hints/>
301directories, or new subdirectories and F<README> files at the top level of the
302source tree.
8bbdbfcb 303
733dba2b 304=over 4
8bbdbfcb 305
733dba2b 306=item XXX-some-platform
a07f6112 307
733dba2b 308XXX
8bbdbfcb 309
733dba2b 310=back
8bbdbfcb 311
733dba2b 312=head2 Discontinued Platforms
8bbdbfcb 313
733dba2b 314XXX List any platforms that this version of perl no longer compiles on.
8bbdbfcb 315
733dba2b 316=over 4
8bbdbfcb 317
733dba2b 318=item XXX-some-platform
8bbdbfcb 319
733dba2b 320XXX
8bbdbfcb 321
733dba2b 322=back
8bbdbfcb 323
733dba2b 324=head2 Platform-Specific Notes
8bbdbfcb 325
733dba2b
CG
326XXX List any changes for specific platforms. This could include configuration
327and compilation changes or changes in portability/compatibility. However,
328changes within modules for platforms should generally be listed in the
329L</Modules and Pragmata> section.
8bbdbfcb 330
733dba2b 331=over 4
8bbdbfcb 332
733dba2b 333=item XXX-some-platform
8bbdbfcb 334
733dba2b 335XXX
8bbdbfcb
CG
336
337=back
338
a07f6112 339=head1 Internal Changes
f9380377 340
733dba2b
CG
341XXX Changes which affect the interface available to C<XS> code go here. Other
342significant internal changes for future core maintainers should be noted as
343well.
a6a32e96 344
733dba2b 345[ List each change as a =item entry ]
a6a32e96 346
733dba2b 347=over 4
a6a32e96
AC
348
349=item *
350
e03e82a0
DM
351A new API function, C<sv_set_undef(sv)>, has been added. This is
352equivalent to C<sv_setsv(sv, &PL_sv_undef)>, but is more efficient.
bd5630ab 353
a09f502b 354=back
a6a32e96 355
a09f502b 356=head1 Selected Bug Fixes
a6a32e96 357
733dba2b
CG
358XXX Important bug fixes in the core language are summarized here. Bug fixes in
359files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
a6a32e96 360
733dba2b 361[ List each fix as a =item entry ]
8bbdbfcb 362
733dba2b 363=over 4
8bbdbfcb
CG
364
365=item *
366
733dba2b 367XXX
2f4cbc09 368
733dba2b 369=back
8bbdbfcb 370
733dba2b 371=head1 Known Problems
8bbdbfcb 372
733dba2b
CG
373XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
374tests that had to be C<TODO>ed for the release would be noted here. Unfixed
375platform specific bugs also go here.
8bbdbfcb 376
733dba2b 377[ List each fix as a =item entry ]
8bbdbfcb 378
733dba2b 379=over 4
8bbdbfcb
CG
380
381=item *
382
733dba2b 383XXX
8bbdbfcb 384
733dba2b 385=back
8bbdbfcb 386
733dba2b 387=head1 Errata From Previous Releases
8bbdbfcb 388
733dba2b 389=over 4
8bbdbfcb
CG
390
391=item *
392
733dba2b
CG
393XXX Add anything here that we forgot to add, or were mistaken about, in
394the perldelta of a previous release.
8bbdbfcb 395
262514fd
SL
396=back
397
733dba2b 398=head1 Obituary
a6a32e96 399
733dba2b
CG
400XXX If any significant core contributor has died, we've added a short obituary
401here.
262514fd 402
733dba2b 403=head1 Acknowledgements
226eba01 404
733dba2b 405XXX Generate this with:
24528e8e 406
733dba2b 407 perl Porting/acknowledgements.pl v5.25.5..HEAD
f5b73711 408
44691e6f
AB
409=head1 Reporting Bugs
410
c0ea3294
SH
411If you find what you think is a bug, you might check the perl bug database
412at L<https://rt.perl.org/> . There may also be information at
4b8803f0 413L<http://www.perl.org/> , the Perl Home Page.
44691e6f 414
e08634c5
SH
415If you believe you have an unreported bug, please run the L<perlbug> program
416included with your release. Be sure to trim your bug down to a tiny but
417sufficient test case. Your bug report, along with the output of C<perl -V>,
418will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f 419
87c118b9
DM
420If the bug you are reporting has security implications which make it
421inappropriate to send to a publicly archived mailing list, then see
c0ea3294
SH
422L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
423for details of how to report the issue.
44691e6f
AB
424
425=head1 SEE ALSO
426
e08634c5
SH
427The F<Changes> file for an explanation of how to view exhaustive details on
428what changed.
44691e6f
AB
429
430The F<INSTALL> file for how to build Perl.
431
432The F<README> file for general stuff.
433
434The F<Artistic> and F<Copying> files for copyright information.
435
436=cut