This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta - Update modules
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
a8ba758d
JSA
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.27.5
89853d76 9
b5cbfe35 10=head1 DESCRIPTION
89853d76 11
a8ba758d 12This document describes differences between the 5.27.4 release and the 5.27.5
b5cbfe35 13release.
89853d76 14
a8ba758d
JSA
15If you are upgrading from an earlier release such as 5.27.3, first read
16L<perl5274delta>, which describes differences between 5.27.3 and 5.27.4.
17
18=head1 Notice
19
20XXX Any important notices here
c83a3d01 21
c83a3d01
MH
22=head1 Core Enhancements
23
a8ba758d
JSA
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.
7bd9fb10 27
a8ba758d 28[ List each enhancement as a =head2 entry ]
7bd9fb10 29
a8ba758d 30=head1 Security
7bd9fb10 31
a8ba758d
JSA
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.
7bd9fb10 35
a8ba758d 36[ List each security issue as a =head2 entry ]
7bd9fb10 37
a8ba758d 38=head1 Incompatible Changes
7bd9fb10 39
a8ba758d 40XXX For a release on a stable branch, this section aspires to be:
7bd9fb10 41
a8ba758d
JSA
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.
7bd9fb10 45
a8ba758d 46[ List each incompatible change as a =head2 entry ]
7bd9fb10 47
a8ba758d 48=head1 Deprecations
7bd9fb10 49
a8ba758d 50XXX Any deprecated features, syntax, modules etc. should be listed here.
7bd9fb10 51
a8ba758d 52=head2 Module removals
7bd9fb10 53
a8ba758d 54XXX Remove this section if inapplicable.
7bd9fb10 55
a8ba758d
JSA
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.
60
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.
c83a3d01 64
a8ba758d
JSA
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.
d1107db0 69
a8ba758d 70=over
d1107db0 71
a8ba758d 72=item XXX
d1107db0 73
a8ba758d
JSA
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.
d1107db0 76
a8ba758d 77=back
d1107db0 78
a8ba758d 79[ List each other deprecation as a =head2 entry ]
d1107db0 80
cf663f87
AC
81=head1 Performance Enhancements
82
a8ba758d
JSA
83XXX Changes which enhance performance without changing behaviour go here.
84There may well be none in a stable release.
85
86[ List each enhancement as an =item entry ]
87
1b510166
S
88=over 4
89
90=item *
91
93309f6b
TC
92Calls to C<require> for an already loaded module are now slightly
93faster. [perl #132171]
d912eab8 94
c83a3d01 95=back
d912eab8 96
c83a3d01 97=head1 Modules and Pragmata
af94b3ac 98
a8ba758d
JSA
99XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
100go here. If Module::CoreList is updated, generate an initial draft of the
101following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
102for important changes should then be added by hand. In an ideal world,
103dual-life modules would have a F<Changes> file that could be cribbed.
104
105The list of new and updated modules is modified automatically as part of
106preparing a Perl release, so the only reason to manually add entries here is if
107you're summarising the important changes in the module update. (Also, if the
108manually-added details don't match the automatically-generated ones, the
109release manager will have to investigate the situation carefully.)
110
111[ Within each section, list entries as an =item entry ]
112
113=head2 New Modules and Pragmata
c83a3d01
MH
114
115=over 4
ba2fe89f
AC
116
117=item *
118
a8ba758d 119XXX
cf663f87 120
a8ba758d 121=back
cf663f87 122
a8ba758d
JSA
123=head2 Updated Modules and Pragmata
124
125=over 4
ba2fe89f
AC
126
127=item *
128
64b9a139
SH
129L<arybase> has been upgraded from version 0.13 to 0.14.
130
131=item *
132
133L<B> has been upgraded from version 1.69 to 1.70.
134
135=item *
136
137L<B::Concise> has been upgraded from version 1.001 to 1.002.
138
139=item *
140
141L<B::Deparse> has been upgraded from version 1.42 to 1.43.
142
143=item *
144
145L<Config::Perl::V> has been upgraded from version 0.28 to 0.29.
146
147=item *
148
149L<Digest::SHA> has been upgraded from version 5.96 to 5.98.
150
151=item *
152
153L<Encode> has been upgraded from version 2.92 to 2.93.
154
155=item *
156
157L<encoding> has been upgraded from version 2.20 to 2.21.
158
159=item *
160
161L<File::Fetch> has been upgraded from version 0.52 to 0.54.
162
163=item *
164
165L<File::Path> has been upgraded from version 2.14 to 2.15.
166
167=item *
168
169L<List::Util> has been upgraded from version 1.48 to 1.49.
170
171=item *
172
173L<Locale::Codes> has been upgraded from version 3.52 to 3.54.
174
175=item *
176
177L<Math::BigInt> has been upgraded from version 1.999806 to 1.999811.
178
179=item *
180
181L<Math::BigInt::FastCalc> has been upgraded from version 0.5005 to 0.5006.
182
183=item *
184
185L<Module::CoreList> has been upgraded from version 5.20170920 to 5.20171020.
186
187=item *
188
189L<NEXT> has been upgraded from version 0.67 to 0.67_01.
190
191=item *
192
193L<Pod::Perldoc> has been upgraded from version 3.28 to 3.2801.
194
195=item *
196
197L<POSIX> has been upgraded from version 1.77 to 1.78.
198
199=item *
200
201L<Scalar::Util> has been upgraded from version 1.48 to 1.49.
202
203=item *
204
205L<Sub::Util> has been upgraded from version 1.48 to 1.49.
206
207=item *
208
209L<Sys::Hostname> has been upgraded from version 1.20 to 1.21.
210
211=item *
212
213L<Test::Simple> has been upgraded from version 1.302073 to 1.302103.
214
215=item *
216
217L<Time::HiRes> has been upgraded from version 1.9743 to 1.9746.
218
219=item *
220
221L<Time::Piece> has been upgraded from version 1.3201 to 1.3202.
cf663f87 222
a8ba758d
JSA
223=back
224
225=head2 Removed Modules and Pragmata
f9578da6 226
a8ba758d 227=over 4
f9578da6
MH
228
229=item *
230
a8ba758d 231XXX
f9578da6 232
a8ba758d 233=back
f9578da6 234
a8ba758d 235=head1 Documentation
f9578da6 236
a8ba758d
JSA
237XXX Changes to files in F<pod/> go here. Consider grouping entries by
238file and be sure to link to the appropriate page, e.g. L<perlfunc>.
f9578da6 239
a8ba758d 240=head2 New Documentation
f9578da6 241
a8ba758d 242XXX Changes which create B<new> files in F<pod/> go here.
f9578da6 243
a8ba758d 244=head3 L<XXX>
c83a3d01 245
a8ba758d 246XXX Description of the purpose of the new file here
c83a3d01 247
a8ba758d
JSA
248=head2 Changes to Existing Documentation
249
250We have attempted to update the documentation to reflect the changes
251listed in this document. If you find any we have missed, send email
252to L<perlbug@perl.org|mailto:perlbug@perl.org>.
253
254XXX Changes which significantly change existing files in F<pod/> go here.
255However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
256section.
257
258Additionally, the following selected changes have been made:
259
260=head3 L<XXX>
c83a3d01
MH
261
262=over 4
f9578da6
MH
263
264=item *
265
a8ba758d 266XXX Description of the change here
c83a3d01
MH
267
268=back
269
21741043 270=head1 Diagnostics
c83a3d01 271
21741043
JSA
272The following additions or changes have been made to diagnostic output,
273including warnings and fatal error messages. For the complete list of
274diagnostic messages, see L<perldiag>.
c83a3d01 275
a8ba758d
JSA
276XXX New or changed warnings emitted by the core's C<C> code go here. Also
277include any changes in L<perldiag> that reconcile it to the C<C> code.
278
279=head2 New Diagnostics
280
281XXX Newly added diagnostic messages go under here, separated into New Errors
282and New Warnings
283
284=head3 New Errors
c83a3d01
MH
285
286=over 4
f9578da6
MH
287
288=item *
289
a8ba758d 290XXX L<message|perldiag/"message">
c83a3d01
MH
291
292=back
293
a8ba758d 294=head3 New Warnings
c83a3d01 295
a8ba758d 296=over 4
c83a3d01 297
a8ba758d 298=item *
c83a3d01 299
a8ba758d
JSA
300XXX L<message|perldiag/"message">
301
302=back
303
304=head2 Changes to Existing Diagnostics
305
306XXX Changes (i.e. rewording) of diagnostic messages go here
c83a3d01 307
c83a3d01
MH
308=over 4
309
a8ba758d 310=item *
c83a3d01 311
a8ba758d 312XXX Describe change here
c83a3d01
MH
313
314=back
315
a8ba758d
JSA
316=head1 Utility Changes
317
318XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
319Most of these are built within the directory F<utils>.
320
321[ List utility changes as a =head2 entry for each utility and =item
322entries for each change
323Use L<XXX> with program names to get proper documentation linking. ]
324
325=head2 L<XXX>
c83a3d01 326
cf663f87 327=over 4
1b510166 328
3072e759
TC
329=item *
330
a8ba758d 331XXX
cf663f87 332
a8ba758d
JSA
333=back
334
335=head1 Configuration and Compilation
336
337XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
338go here. Any other changes to the Perl build process should be listed here.
339However, any platform-specific changes should be listed in the
340L</Platform Support> section, instead.
dcce18ed 341
a8ba758d
JSA
342[ List changes as an =item entry ].
343
344=over 4
dcce18ed 345
21741043 346=item *
cf663f87 347
a8ba758d 348XXX
cf663f87 349
21741043 350=back
c83a3d01 351
a8ba758d
JSA
352=head1 Testing
353
354XXX Any significant changes to the testing of a freshly built perl should be
355listed here. Changes which create B<new> files in F<t/> go here as do any
356large changes to the testing harness (e.g. when parallel testing was added).
357Changes to existing files in F<t/> aren't worth summarizing, although the bugs
358that they represent may be covered elsewhere.
359
360XXX If there were no significant test changes, say this:
361
362Tests were added and changed to reflect the other additions and changes
363in this release.
364
365XXX If instead there were significant changes, say this:
366
367Tests were added and changed to reflect the other additions and
368changes in this release. Furthermore, these significant changes were
369made:
370
371[ List each test improvement as an =item entry ]
c83a3d01 372
cf663f87 373=over 4
ab9a6a63
AC
374
375=item *
376
a8ba758d 377XXX
011c35bc 378
a8ba758d 379=back
011c35bc 380
a8ba758d 381=head1 Platform Support
cf663f87 382
a8ba758d 383XXX Any changes to platform support should be listed in the sections below.
eed68fe8 384
a8ba758d
JSA
385[ Within the sections, list each platform as an =item entry with specific
386changes as paragraphs below it. ]
eed68fe8 387
a8ba758d 388=head2 New Platforms
cb87b182 389
a8ba758d
JSA
390XXX List any platforms that this version of perl compiles on, that previous
391versions did not. These will either be enabled by new files in the F<hints/>
392directories, or new subdirectories and F<README> files at the top level of the
393source tree.
cb87b182 394
a8ba758d 395=over 4
5609e953 396
a8ba758d 397=item XXX-some-platform
5609e953 398
a8ba758d 399XXX
dcce18ed 400
a8ba758d 401=back
dcce18ed 402
a8ba758d 403=head2 Discontinued Platforms
773582e3 404
a8ba758d 405XXX List any platforms that this version of perl no longer compiles on.
c83a3d01 406
a8ba758d 407=over 4
c83a3d01 408
a8ba758d 409=item XXX-some-platform
c83a3d01 410
a8ba758d
JSA
411XXX
412
413=back
414
415=head2 Platform-Specific Notes
416
417XXX List any changes for specific platforms. This could include configuration
418and compilation changes or changes in portability/compatibility. However,
419changes within modules for platforms should generally be listed in the
420L</Modules and Pragmata> section.
421
422=over 4
9ef07b78 423
a8ba758d
JSA
424=item XXX-some-platform
425
426XXX
427
428=back
429
430=head1 Internal Changes
431
432XXX Changes which affect the interface available to C<XS> code go here. Other
433significant internal changes for future core maintainers should be noted as
434well.
435
436[ List each change as an =item entry ]
437
438=over 4
9ef07b78 439
70268191
TC
440=item *
441
a8ba758d
JSA
442XXX
443
444=back
445
446=head1 Selected Bug Fixes
447
448XXX Important bug fixes in the core language are summarized here. Bug fixes in
449files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
450
451[ List each fix as an =item entry ]
452
453=over 4
cf663f87 454
21741043 455=item *
c83a3d01 456
44246694
DIM
457Calling L<exec PROGRAM LIST|perlfunc/exec PROGRAM LIST> with an empty C<LIST>
458has been fixed. This should call C<execvp()> with an empty C<argv> array
459(containing only the terminating C<NULL> pointer), but was instead just
460returning false (and not setting L<C<$!>|perlvar/$!>).
461L<[perl #131730]|https://rt.perl.org/Public/Bug/Display.html?id=131730>
a8ba758d 462
834e1dc6
FC
463=item *
464
465The C<gv_fetchmeth_sv> C function stopped working properly in Perl 5.22
466when fetching a constant with a UTF-8 name if that constant subroutine was
467stored in the stash as a simple scalar reference, rather than a full
468typeglob. This has been corrected.
469
a8ba758d
JSA
470=back
471
472=head1 Known Problems
473
474XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
475tests that had to be C<TODO>ed for the release would be noted here. Unfixed
476platform specific bugs also go here.
477
478[ List each fix as an =item entry ]
479
480=over 4
8abafd33 481
c83a3d01
MH
482=item *
483
a8ba758d 484XXX
8abafd33 485
c83a3d01 486=back
cf663f87 487
a8ba758d 488=head1 Errata From Previous Releases
8abafd33 489
a8ba758d 490=over 4
cf663f87 491
a8ba758d 492=item *
21741043 493
a8ba758d
JSA
494XXX Add anything here that we forgot to add, or were mistaken about, in
495the perldelta of a previous release.
21741043 496
a8ba758d 497=back
21741043 498
a8ba758d
JSA
499=head1 Obituary
500
501XXX If any significant core contributor has died, we've added a short obituary
502here.
503
504=head1 Acknowledgements
8abafd33 505
a8ba758d 506XXX Generate this with:
8abafd33 507
a8ba758d 508 perl Porting/acknowledgements.pl v5.25.5..HEAD
f5b73711 509
44691e6f
AB
510=head1 Reporting Bugs
511
b5cbfe35
S
512If you find what you think is a bug, you might check the perl bug database
513at L<https://rt.perl.org/> . There may also be information at
514L<http://www.perl.org/> , the Perl Home Page.
44691e6f 515
e08634c5
SH
516If you believe you have an unreported bug, please run the L<perlbug> program
517included with your release. Be sure to trim your bug down to a tiny but
518sufficient test case. Your bug report, along with the output of C<perl -V>,
b5cbfe35 519will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f 520
87c118b9
DM
521If the bug you are reporting has security implications which make it
522inappropriate to send to a publicly archived mailing list, then see
c0ea3294
SH
523L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
524for details of how to report the issue.
44691e6f 525
390ae6f9
S
526=head1 Give Thanks
527
528If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
529you can do so by running the C<perlthanks> program:
530
531 perlthanks
532
533This will send an email to the Perl 5 Porters list with your show of thanks.
534
44691e6f
AB
535=head1 SEE ALSO
536
e08634c5
SH
537The F<Changes> file for an explanation of how to view exhaustive details on
538what changed.
44691e6f
AB
539
540The F<INSTALL> file for how to build Perl.
541
542The F<README> file for general stuff.
543
544The F<Artistic> and F<Copying> files for copyright information.
545
546=cut