This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta module changes from ext,lib
[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=over
fdfb42a0 68
65c75f8f 69=item XXX
1c4b2ed9 70
65c75f8f
A
71XXX Note that deprecated modules should be listed here even if they are listed
72as an updated module in the L</Modules and Pragmata> section.
11d2c931 73
65c75f8f 74=back
11d2c931 75
65c75f8f 76[ List each other deprecation as a =head2 entry ]
3e52c030 77
65c75f8f
A
78=head1 Performance Enhancements
79
80XXX Changes which enhance performance without changing behaviour go here.
81There may well be none in a stable release.
3e52c030 82
65c75f8f
A
83[ List each enhancement as an =item entry ]
84
85=over 4
3e52c030
A
86
87=item *
88
65c75f8f 89XXX
3e52c030 90
65c75f8f 91=back
3e52c030 92
65c75f8f 93=head1 Modules and Pragmata
3e52c030 94
d9ed9e94 95=head2 Updated Modules and Pragmata
3e52c030 96
65c75f8f 97=over 4
3e52c030
A
98
99=item *
100
d9ed9e94 101L<B> has been upgraded from version 1.75 to 1.76.
3e52c030
A
102
103=item *
104
7b97bf55
N
105L<Encode> has been upgraded from version 2.97 to 3.00.
106
d9ed9e94
N
107=item *
108
7b97bf55
N
109L<JSON::PP> has been upgraded from version 2.97001 to 4.00.
110JSON::PP as JSON::XS 4.0 enable allow_nonref by default
111
d9ed9e94 112=item *
7b97bf55 113
d9ed9e94 114L<Module::CoreList> has been upgraded from version 5.20190120 to 5.20190220.
7b97bf55 115
d9ed9e94 116Changes to B::Op_private and Config
7b97bf55 117
d9ed9e94 118=item *
7b97bf55 119
d9ed9e94 120L<Module::Load> has been upgraded from version 0.32 to 0.34.
65c75f8f 121
d9ed9e94 122=item *
65c75f8f 123
d9ed9e94 124L<Net::Ping> has been upgraded from version 2.61 to 2.71.
65c75f8f 125
d9ed9e94 126=item *
65c75f8f 127
d9ed9e94 128L<perlfaq> has been upgraded from version 5.20180915 to 5.20190126.
3e52c030
A
129
130=item *
131
d9ed9e94
N
132L<Test::Simple> has been upgraded from version 1.302160 to 1.302162.
133
134=item *
135
136L<XS::APItest> has been upgraded from version 0.99 to 1.00.
3e52c030 137
4234ac96
AC
138=back
139
15f62f05 140=head1 Documentation
4234ac96 141
65c75f8f
A
142XXX Changes to files in F<pod/> go here. Consider grouping entries by
143file and be sure to link to the appropriate page, e.g. L<perlfunc>.
144
145=head2 New Documentation
146
147XXX Changes which create B<new> files in F<pod/> go here.
148
149=head3 L<XXX>
150
151XXX Description of the purpose of the new file here
152
15f62f05 153=head2 Changes to Existing Documentation
4234ac96 154
15f62f05
KE
155We have attempted to update the documentation to reflect the changes
156listed in this document. If you find any we have missed, send email
157to L<perlbug@perl.org|mailto:perlbug@perl.org>.
4234ac96 158
65c75f8f
A
159XXX Changes which significantly change existing files in F<pod/> go here.
160However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
161section.
162
15f62f05
KE
163Additionally, the following selected changes have been made:
164
129da27a 165=head3 L<perlfunc>
0ce66d44
A
166
167=over 4
168
0deccbc4
A
169=item *
170
129da27a
TC
171Try to clarify that C<< ref(qr/xx/) >> returns C<Regexp> rather than
172C<REGEXP> and why. [perl #133751]
0deccbc4
A
173
174=back
0ce66d44 175
e0f0cf8a
A
176=head1 Diagnostics
177
178The following additions or changes have been made to diagnostic output,
179including warnings and fatal error messages. For the complete list of
180diagnostic messages, see L<perldiag>.
181
65c75f8f
A
182XXX New or changed warnings emitted by the core's C<C> code go here. Also
183include any changes in L<perldiag> that reconcile it to the C<C> code.
184
185=head2 New Diagnostics
186
187XXX Newly added diagnostic messages go under here, separated into New Errors
188and New Warnings
189
190=head3 New Errors
191
192=over 4
193
194=item *
195
196XXX L<message|perldiag/"message">
197
198=back
199
200=head3 New Warnings
201
202=over 4
203
204=item *
205
206XXX L<message|perldiag/"message">
207
208=back
209
4380f76d
KE
210=head2 Changes to Existing Diagnostics
211
65c75f8f
A
212XXX Changes (i.e. rewording) of diagnostic messages go here
213
4380f76d
KE
214=over 4
215
216=item *
217
9c406fbf
TC
218L<Type of arg %d to %s must be %s (not %s)|perldiag/"Type of arg %d to %s must be %s (not %s)">
219
220Attempts to push, pop, etc on a hash or glob now produce this message
221rather than complaining that they no longer work on scalars. [perl
222#130367]
65c75f8f
A
223
224=back
225
226=head1 Utility Changes
227
228XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
229Most of these are built within the directory F<utils>.
230
231[ List utility changes as a =head2 entry for each utility and =item
232entries for each change
233Use L<XXX> with program names to get proper documentation linking. ]
fee5d599 234
65c75f8f
A
235=head2 L<XXX>
236
237=over 4
238
239=item *
240
241XXX
242
243=back
244
245=head1 Configuration and Compilation
246
247XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
248go here. Any other changes to the Perl build process should be listed here.
249However, any platform-specific changes should be listed in the
250L</Platform Support> section, instead.
251
252[ List changes as an =item entry ].
253
254=over 4
255
256=item *
257
258XXX
0ce66d44 259
4234ac96
AC
260=back
261
262=head1 Testing
263
65c75f8f
A
264XXX Any significant changes to the testing of a freshly built perl should be
265listed here. Changes which create B<new> files in F<t/> go here as do any
266large changes to the testing harness (e.g. when parallel testing was added).
267Changes to existing files in F<t/> aren't worth summarizing, although the bugs
268that they represent may be covered elsewhere.
269
270XXX If there were no significant test changes, say this:
271
272Tests were added and changed to reflect the other additions and changes
273in this release.
274
275XXX If instead there were significant changes, say this:
276
4380f76d
KE
277Tests were added and changed to reflect the other additions and
278changes in this release. Furthermore, these significant changes were
279made:
280
65c75f8f
A
281[ List each test improvement as an =item entry ]
282
4380f76d
KE
283=over 4
284
285=item *
286
65c75f8f
A
287XXX
288
289=back
290
291=head1 Platform Support
292
293XXX Any changes to platform support should be listed in the sections below.
294
295[ Within the sections, list each platform as an =item entry with specific
296changes as paragraphs below it. ]
297
298=head2 New Platforms
299
300XXX List any platforms that this version of perl compiles on, that previous
301versions did not. These will either be enabled by new files in the F<hints/>
302directories, or new subdirectories and F<README> files at the top level of the
303source tree.
304
305=over 4
306
307=item XXX-some-platform
308
309XXX
310
311=back
312
313=head2 Discontinued Platforms
314
315XXX List any platforms that this version of perl no longer compiles on.
316
317=over 4
318
319=item XXX-some-platform
320
321XXX
322
323=back
324
325=head2 Platform-Specific Notes
326
327XXX List any changes for specific platforms. This could include configuration
328and compilation changes or changes in portability/compatibility. However,
329changes within modules for platforms should generally be listed in the
330L</Modules and Pragmata> section.
331
332=over 4
333
334=item XXX-some-platform
335
336XXX
337
338=back
339
340=head1 Internal Changes
341
342XXX Changes which affect the interface available to C<XS> code go here. Other
343significant internal changes for future core maintainers should be noted as
344well.
345
346[ List each change as an =item entry ]
347
348=over 4
4380f76d 349
1c4b2ed9 350=item *
ea89b333 351
65c75f8f 352XXX
20ccb10a 353
e0f0cf8a 354=back
20ccb10a 355
1c4b2ed9 356=head1 Selected Bug Fixes
20ccb10a 357
65c75f8f
A
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>.
360
361[ List each fix as an =item entry ]
362
e0f0cf8a 363=over 4
0ce66d44
A
364
365=item *
366
3fb29f09
TC
367Regular expression matching no longer leaves stale UTF-8 length magic
368when updating C<$^R>. This could result in C<length($^R)> returning
369an incorrect value.
b20a43d7 370
65c75f8f 371=back
0ce66d44 372
65c75f8f 373=head1 Known Problems
0ce66d44 374
65c75f8f
A
375XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
376tests that had to be C<TODO>ed for the release would be noted here. Unfixed
377platform specific bugs also go here.
378
379[ List each fix as an =item entry ]
380
381=over 4
0ce66d44 382
ff2d4c11
TC
383=item *
384
65c75f8f 385XXX
ff2d4c11 386
e0f0cf8a 387=back
0ce66d44 388
65c75f8f
A
389=head1 Errata From Previous Releases
390
391=over 4
990f9aa0 392
65c75f8f
A
393=item *
394
395XXX Add anything here that we forgot to add, or were mistaken about, in
396the perldelta of a previous release.
990f9aa0 397
65c75f8f 398=back
1c0558a0 399
65c75f8f 400=head1 Obituary
1c0558a0 401
65c75f8f
A
402XXX If any significant core contributor or member of the CPAN community has
403died, add a short obituary here.
1c0558a0 404
65c75f8f 405=head1 Acknowledgements
1c0558a0 406
65c75f8f 407XXX Generate this with:
1c0558a0 408
65c75f8f 409 perl Porting/acknowledgements.pl v5.29.7..HEAD
f5b73711 410
44691e6f
AB
411=head1 Reporting Bugs
412
373fec1e 413If you find what you think is a bug, you might check the perl bug database
15f62f05
KE
414at L<https://rt.perl.org/>. There may also be information at
415L<http://www.perl.org/>, the Perl Home Page.
44691e6f 416
e08634c5
SH
417If you believe you have an unreported bug, please run the L<perlbug> program
418included with your release. Be sure to trim your bug down to a tiny but
419sufficient test case. Your bug report, along with the output of C<perl -V>,
b5cbfe35 420will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f 421
87c118b9
DM
422If the bug you are reporting has security implications which make it
423inappropriate to send to a publicly archived mailing list, then see
373fec1e
SH
424L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
425for details of how to report the issue.
44691e6f 426
390ae6f9
S
427=head1 Give Thanks
428
373fec1e
SH
429If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
430you can do so by running the C<perlthanks> program:
390ae6f9
S
431
432 perlthanks
433
434This will send an email to the Perl 5 Porters list with your show of thanks.
435
44691e6f
AB
436=head1 SEE ALSO
437
e08634c5
SH
438The F<Changes> file for an explanation of how to view exhaustive details on
439what changed.
44691e6f
AB
440
441The F<INSTALL> file for how to build Perl.
442
443The F<README> file for general stuff.
444
445The F<Artistic> and F<Copying> files for copyright information.
446
447=cut