This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update Modules section for perldelta for 5.29.8
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
65c75f8f
A
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.29.8
e4c43fa1 9
4026b091
S
10=head1 DESCRIPTION
11
65c75f8f 12This document describes differences between the 5.29.7 release and the 5.29.8
4026b091
S
13release.
14
65c75f8f
A
15If you are upgrading from an earlier release such as 5.29.6, first read
16L<perl5297delta>, which describes differences between 5.29.6 and 5.29.7.
e0f0cf8a 17
65c75f8f 18=head1 Notice
0ce66d44 19
65c75f8f 20XXX Any important notices here
5203d63d 21
65c75f8f 22=head1 Core Enhancements
21d34e95 23
65c75f8f
A
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.
e0f0cf8a 27
65c75f8f 28[ List each enhancement as a =head2 entry ]
4234ac96 29
0c8d0e83
KW
30=head2 Turkic UTF-8 locales are now seamlessly supported
31
32Turkic languages have different casing rules than other languages for
33the characters C<"i"> and C<"I">. The uppercase of C<"i"> is LATIN
34CAPITAL LETTER I WITH DOT ABOVE (U+0130); and the lowercase of C<"I"> is LATIN
35SMALL LETTER DOTLESS I (U+0131). Unicode furnishes alternate casing
36rules for use with Turkic languages. Previously, Perl ignored these,
37but now, it uses them when it detects that it is operating under a
38Turkic UTF-8 locale.
39
65c75f8f 40=head1 Security
4234ac96 41
65c75f8f
A
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.
72b2b1d9 45
65c75f8f 46[ List each security issue as a =head2 entry ]
72b2b1d9 47
65c75f8f 48=head1 Incompatible Changes
1ab3a811 49
7b97bf55
N
50=head2 JSON::PP enable allow_nonref by default
51
52As JSON::XS 4.0 changed its policy and enabled allow_nonref
53by default, JSON::PP also enabled allow_nonref by default
54
65c75f8f 55XXX For a release on a stable branch, this section aspires to be:
1ab3a811 56
65c75f8f
A
57 There are no changes intentionally incompatible with 5.XXX.XXX
58 If any exist, they are bugs, and we request that you submit a
59 report. See L</Reporting Bugs> below.
1ab3a811 60
65c75f8f 61[ List each incompatible change as a =head2 entry ]
e0f0cf8a 62
65c75f8f 63=head1 Deprecations
e0f0cf8a 64
65c75f8f 65XXX Any deprecated features, syntax, modules etc. should be listed here.
e0f0cf8a 66
65c75f8f 67=head2 Module removals
2029a7cc 68
65c75f8f 69XXX Remove this section if not applicable.
2029a7cc 70
65c75f8f
A
71The following modules will be removed from the core distribution in a
72future release, and will at that time need to be installed from CPAN.
73Distributions on CPAN which require these modules will need to list them as
74prerequisites.
1ab3a811 75
65c75f8f
A
76The core versions of these modules will now issue C<"deprecated">-category
77warnings to alert you to this fact. To silence these deprecation warnings,
78install the modules in question from CPAN.
1ab3a811 79
65c75f8f
A
80Note that these are (with rare exceptions) fine modules that you are encouraged
81to continue to use. Their disinclusion from core primarily hinges on their
82necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
83not usually on concerns over their design.
fdfb42a0 84
65c75f8f 85=over
fdfb42a0 86
65c75f8f 87=item XXX
1c4b2ed9 88
65c75f8f
A
89XXX Note that deprecated modules should be listed here even if they are listed
90as an updated module in the L</Modules and Pragmata> section.
11d2c931 91
65c75f8f 92=back
11d2c931 93
65c75f8f 94[ List each other deprecation as a =head2 entry ]
3e52c030 95
65c75f8f
A
96=head1 Performance Enhancements
97
98XXX Changes which enhance performance without changing behaviour go here.
99There may well be none in a stable release.
3e52c030 100
65c75f8f
A
101[ List each enhancement as an =item entry ]
102
103=over 4
3e52c030
A
104
105=item *
106
65c75f8f 107XXX
3e52c030 108
65c75f8f 109=back
3e52c030 110
65c75f8f 111=head1 Modules and Pragmata
3e52c030 112
65c75f8f
A
113XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
114go here. If Module::CoreList is updated, generate an initial draft of the
115following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
116for important changes should then be added by hand. In an ideal world,
117dual-life modules would have a F<Changes> file that could be cribbed.
3e52c030 118
65c75f8f
A
119The list of new and updated modules is modified automatically as part of
120preparing a Perl release, so the only reason to manually add entries here is if
121you're summarising the important changes in the module update. (Also, if the
122manually-added details don't match the automatically-generated ones, the
123release manager will have to investigate the situation carefully.)
e116fd3c 124
65c75f8f 125[ Within each section, list entries as an =item entry ]
3e52c030 126
65c75f8f 127=head2 New Modules and Pragmata
3e52c030 128
65c75f8f 129=over 4
3e52c030
A
130
131=item *
132
65c75f8f 133XXX Remove this section if not applicable.
3e52c030 134
65c75f8f
A
135=back
136
137=head2 Updated Modules and Pragmata
3e52c030 138
65c75f8f 139=over 4
3e52c030
A
140
141=item *
142
7b97bf55
N
143L<Encode> has been upgraded from version 2.97 to 3.00.
144
145L<JSON::PP> has been upgraded from version 2.97001 to 4.00.
146JSON::PP as JSON::XS 4.0 enable allow_nonref by default
147
148L<Module::Load> has been upgraded from version 0.32 to 0.34.
149
150L<Net::Ping> has been upgraded from version 2.61 to 2.71.
151
152L<perlfaq> has been upgraded from version 5.20180915 to 5.20190126.
153
154L<Test::Simple> has been upgraded from version 1.302160 to 1.302162.
155
65c75f8f
A
156L<XXX> has been upgraded from version A.xx to B.yy.
157
158If there was something important to note about this change, include that here.
159
160=back
161
162=head2 Removed Modules and Pragmata
163
164=over 4
3e52c030
A
165
166=item *
167
65c75f8f 168XXX
3e52c030 169
4234ac96
AC
170=back
171
15f62f05 172=head1 Documentation
4234ac96 173
65c75f8f
A
174XXX Changes to files in F<pod/> go here. Consider grouping entries by
175file and be sure to link to the appropriate page, e.g. L<perlfunc>.
176
177=head2 New Documentation
178
179XXX Changes which create B<new> files in F<pod/> go here.
180
181=head3 L<XXX>
182
183XXX Description of the purpose of the new file here
184
15f62f05 185=head2 Changes to Existing Documentation
4234ac96 186
15f62f05
KE
187We have attempted to update the documentation to reflect the changes
188listed in this document. If you find any we have missed, send email
189to L<perlbug@perl.org|mailto:perlbug@perl.org>.
4234ac96 190
65c75f8f
A
191XXX Changes which significantly change existing files in F<pod/> go here.
192However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
193section.
194
15f62f05
KE
195Additionally, the following selected changes have been made:
196
129da27a 197=head3 L<perlfunc>
0ce66d44
A
198
199=over 4
200
0deccbc4
A
201=item *
202
129da27a
TC
203Try to clarify that C<< ref(qr/xx/) >> returns C<Regexp> rather than
204C<REGEXP> and why. [perl #133751]
0deccbc4
A
205
206=back
0ce66d44 207
e0f0cf8a
A
208=head1 Diagnostics
209
210The following additions or changes have been made to diagnostic output,
211including warnings and fatal error messages. For the complete list of
212diagnostic messages, see L<perldiag>.
213
65c75f8f
A
214XXX New or changed warnings emitted by the core's C<C> code go here. Also
215include any changes in L<perldiag> that reconcile it to the C<C> code.
216
217=head2 New Diagnostics
218
219XXX Newly added diagnostic messages go under here, separated into New Errors
220and New Warnings
221
222=head3 New Errors
223
224=over 4
225
226=item *
227
228XXX L<message|perldiag/"message">
229
230=back
231
232=head3 New Warnings
233
234=over 4
235
236=item *
237
238XXX L<message|perldiag/"message">
239
240=back
241
4380f76d
KE
242=head2 Changes to Existing Diagnostics
243
65c75f8f
A
244XXX Changes (i.e. rewording) of diagnostic messages go here
245
4380f76d
KE
246=over 4
247
248=item *
249
9c406fbf
TC
250L<Type of arg %d to %s must be %s (not %s)|perldiag/"Type of arg %d to %s must be %s (not %s)">
251
252Attempts to push, pop, etc on a hash or glob now produce this message
253rather than complaining that they no longer work on scalars. [perl
254#130367]
65c75f8f
A
255
256=back
257
258=head1 Utility Changes
259
260XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
261Most of these are built within the directory F<utils>.
262
263[ List utility changes as a =head2 entry for each utility and =item
264entries for each change
265Use L<XXX> with program names to get proper documentation linking. ]
fee5d599 266
65c75f8f
A
267=head2 L<XXX>
268
269=over 4
270
271=item *
272
273XXX
274
275=back
276
277=head1 Configuration and Compilation
278
279XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
280go here. Any other changes to the Perl build process should be listed here.
281However, any platform-specific changes should be listed in the
282L</Platform Support> section, instead.
283
284[ List changes as an =item entry ].
285
286=over 4
287
288=item *
289
290XXX
0ce66d44 291
4234ac96
AC
292=back
293
294=head1 Testing
295
65c75f8f
A
296XXX Any significant changes to the testing of a freshly built perl should be
297listed here. Changes which create B<new> files in F<t/> go here as do any
298large changes to the testing harness (e.g. when parallel testing was added).
299Changes to existing files in F<t/> aren't worth summarizing, although the bugs
300that they represent may be covered elsewhere.
301
302XXX If there were no significant test changes, say this:
303
304Tests were added and changed to reflect the other additions and changes
305in this release.
306
307XXX If instead there were significant changes, say this:
308
4380f76d
KE
309Tests were added and changed to reflect the other additions and
310changes in this release. Furthermore, these significant changes were
311made:
312
65c75f8f
A
313[ List each test improvement as an =item entry ]
314
4380f76d
KE
315=over 4
316
317=item *
318
65c75f8f
A
319XXX
320
321=back
322
323=head1 Platform Support
324
325XXX Any changes to platform support should be listed in the sections below.
326
327[ Within the sections, list each platform as an =item entry with specific
328changes as paragraphs below it. ]
329
330=head2 New Platforms
331
332XXX List any platforms that this version of perl compiles on, that previous
333versions did not. These will either be enabled by new files in the F<hints/>
334directories, or new subdirectories and F<README> files at the top level of the
335source tree.
336
337=over 4
338
339=item XXX-some-platform
340
341XXX
342
343=back
344
345=head2 Discontinued Platforms
346
347XXX List any platforms that this version of perl no longer compiles on.
348
349=over 4
350
351=item XXX-some-platform
352
353XXX
354
355=back
356
357=head2 Platform-Specific Notes
358
359XXX List any changes for specific platforms. This could include configuration
360and compilation changes or changes in portability/compatibility. However,
361changes within modules for platforms should generally be listed in the
362L</Modules and Pragmata> section.
363
364=over 4
365
366=item XXX-some-platform
367
368XXX
369
370=back
371
372=head1 Internal Changes
373
374XXX Changes which affect the interface available to C<XS> code go here. Other
375significant internal changes for future core maintainers should be noted as
376well.
377
378[ List each change as an =item entry ]
379
380=over 4
4380f76d 381
1c4b2ed9 382=item *
ea89b333 383
65c75f8f 384XXX
20ccb10a 385
e0f0cf8a 386=back
20ccb10a 387
1c4b2ed9 388=head1 Selected Bug Fixes
20ccb10a 389
65c75f8f
A
390XXX Important bug fixes in the core language are summarized here. Bug fixes in
391files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
392
393[ List each fix as an =item entry ]
394
e0f0cf8a 395=over 4
0ce66d44
A
396
397=item *
398
3fb29f09
TC
399Regular expression matching no longer leaves stale UTF-8 length magic
400when updating C<$^R>. This could result in C<length($^R)> returning
401an incorrect value.
b20a43d7 402
65c75f8f 403=back
0ce66d44 404
65c75f8f 405=head1 Known Problems
0ce66d44 406
65c75f8f
A
407XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
408tests that had to be C<TODO>ed for the release would be noted here. Unfixed
409platform specific bugs also go here.
410
411[ List each fix as an =item entry ]
412
413=over 4
0ce66d44 414
ff2d4c11
TC
415=item *
416
65c75f8f 417XXX
ff2d4c11 418
e0f0cf8a 419=back
0ce66d44 420
65c75f8f
A
421=head1 Errata From Previous Releases
422
423=over 4
990f9aa0 424
65c75f8f
A
425=item *
426
427XXX Add anything here that we forgot to add, or were mistaken about, in
428the perldelta of a previous release.
990f9aa0 429
65c75f8f 430=back
1c0558a0 431
65c75f8f 432=head1 Obituary
1c0558a0 433
65c75f8f
A
434XXX If any significant core contributor or member of the CPAN community has
435died, add a short obituary here.
1c0558a0 436
65c75f8f 437=head1 Acknowledgements
1c0558a0 438
65c75f8f 439XXX Generate this with:
1c0558a0 440
65c75f8f 441 perl Porting/acknowledgements.pl v5.29.7..HEAD
f5b73711 442
44691e6f
AB
443=head1 Reporting Bugs
444
373fec1e 445If you find what you think is a bug, you might check the perl bug database
15f62f05
KE
446at L<https://rt.perl.org/>. There may also be information at
447L<http://www.perl.org/>, the Perl Home Page.
44691e6f 448
e08634c5
SH
449If you believe you have an unreported bug, please run the L<perlbug> program
450included with your release. Be sure to trim your bug down to a tiny but
451sufficient test case. Your bug report, along with the output of C<perl -V>,
b5cbfe35 452will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f 453
87c118b9
DM
454If the bug you are reporting has security implications which make it
455inappropriate to send to a publicly archived mailing list, then see
373fec1e
SH
456L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
457for details of how to report the issue.
44691e6f 458
390ae6f9
S
459=head1 Give Thanks
460
373fec1e
SH
461If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
462you can do so by running the C<perlthanks> program:
390ae6f9
S
463
464 perlthanks
465
466This will send an email to the Perl 5 Porters list with your show of thanks.
467
44691e6f
AB
468=head1 SEE ALSO
469
e08634c5
SH
470The F<Changes> file for an explanation of how to view exhaustive details on
471what changed.
44691e6f
AB
472
473The F<INSTALL> file for how to build Perl.
474
475The F<README> file for general stuff.
476
477The F<Artistic> and F<Copying> files for copyright information.
478
479=cut