This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
5.30 utf8_to_uvchr_buf still has wrong retval
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
261e14b0
S
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.11
e4c43fa1 9
4026b091
S
10=head1 DESCRIPTION
11
261e14b0 12This document describes differences between the 5.29.10 release and the 5.29.11
4026b091
S
13release.
14
261e14b0
S
15If you are upgrading from an earlier release such as 5.29.9, first read
16L<perl52910delta>, which describes differences between 5.29.9 and 5.29.10.
17
18=head1 Notice
19
20XXX Any important notices here
ab6f2e91 21
65c75f8f 22=head1 Core Enhancements
21d34e95 23
261e14b0
S
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.
27
28[ List each enhancement as a =head2 entry ]
29
30=head1 Security
31
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.
35
36[ List each security issue as a =head2 entry ]
37
38=head1 Incompatible Changes
39
40XXX For a release on a stable branch, this section aspires to be:
41
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.
45
46[ List each incompatible change as a =head2 entry ]
47
48=head1 Deprecations
49
50XXX Any deprecated features, syntax, modules etc. should be listed here.
51
52=head2 Module removals
53
54XXX Remove this section if not applicable.
55
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.
64
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.
fec13a43 69
261e14b0
S
70=over
71
72=item XXX
73
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.
76
77=back
78
79[ List each other deprecation as a =head2 entry ]
80
81=head1 Performance Enhancements
82
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
88=over 4
89
90=item *
91
92XXX
93
94=back
1532347b 95
9409f532 96=head1 Modules and Pragmata
7b97bf55 97
261e14b0
S
98XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
99go here. If Module::CoreList is updated, generate an initial draft of the
100following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
101for important changes should then be added by hand. In an ideal world,
102dual-life modules would have a F<Changes> file that could be cribbed.
103
104The list of new and updated modules is modified automatically as part of
105preparing a Perl release, so the only reason to manually add entries here is if
106you're summarising the important changes in the module update. (Also, if the
107manually-added details don't match the automatically-generated ones, the
108release manager will have to investigate the situation carefully.)
109
110[ Within each section, list entries as an =item entry ]
111
112=head2 New Modules and Pragmata
113
114=over 4
115
116=item *
117
118XXX Remove this section if not applicable.
119
120=back
121
ab6f2e91 122=head2 Updated Modules and Pragmata
7b97bf55 123
ab6f2e91 124=over 4
7b97bf55 125
9409f532 126=item *
7b97bf55 127
261e14b0
S
128L<XXX> has been upgraded from version A.xx to B.yy.
129
130If there was something important to note about this change, include that here.
131
9f30ef19
S
132=item *
133
134L<Module::CoreList> has been upgraded from version 5.20190420 to 5.20190520.
135
aadf4f9e
N
136L<Devel::PPPort> has been upgraded from version 3.45 to 3.46.
137
261e14b0
S
138=back
139
140=head2 Removed Modules and Pragmata
141
142=over 4
143
144=item *
145
146XXX
147
148=back
149
150=head1 Documentation
151
152XXX Changes to files in F<pod/> go here. Consider grouping entries by
153file and be sure to link to the appropriate page, e.g. L<perlfunc>.
154
155=head2 New Documentation
156
157XXX Changes which create B<new> files in F<pod/> go here.
158
159=head3 L<XXX>
160
161XXX Description of the purpose of the new file here
162
163=head2 Changes to Existing Documentation
164
165We have attempted to update the documentation to reflect the changes
166listed in this document. If you find any we have missed, send email
167to L<perlbug@perl.org|mailto:perlbug@perl.org>.
65c75f8f 168
261e14b0
S
169XXX Changes which significantly change existing files in F<pod/> go here.
170However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
171section.
172
173Additionally, the following selected changes have been made:
174
175=head3 L<XXX>
176
177=over 4
65c75f8f 178
50691e40
ZE
179=item *
180
261e14b0
S
181XXX Description of the change here
182
183=back
184
185=head1 Diagnostics
186
187The following additions or changes have been made to diagnostic output,
188including warnings and fatal error messages. For the complete list of
189diagnostic messages, see L<perldiag>.
190
191XXX New or changed warnings emitted by the core's C<C> code go here. Also
192include any changes in L<perldiag> that reconcile it to the C<C> code.
193
194=head2 New Diagnostics
195
196XXX Newly added diagnostic messages go under here, separated into New Errors
197and New Warnings
198
199=head3 New Errors
200
201=over 4
3e52c030
A
202
203=item *
204
261e14b0 205XXX L<message|perldiag/"message">
ab6f2e91 206
261e14b0
S
207=back
208
209=head3 New Warnings
210
211=over 4
0ce66d44 212
0deccbc4
A
213=item *
214
261e14b0
S
215XXX L<message|perldiag/"message">
216
217=back
218
219=head2 Changes to Existing Diagnostics
220
221XXX Changes (i.e. rewording) of diagnostic messages go here
222
223=over 4
ab6f2e91
ZE
224
225=item *
226
261e14b0
S
227XXX Describe change here
228
229=back
230
231=head1 Utility Changes
232
233XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
234Most of these are built within the directory F<utils>.
235
236[ List utility changes as a =head2 entry for each utility and =item
237entries for each change
238Use L<XXX> with program names to get proper documentation linking. ]
239
240=head2 L<XXX>
241
242=over 4
4380f76d
KE
243
244=item *
245
261e14b0
S
246XXX
247
248=back
249
250=head1 Configuration and Compilation
251
252XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
253go here. Any other changes to the Perl build process should be listed here.
254However, any platform-specific changes should be listed in the
255L</Platform Support> section, instead.
ab6f2e91 256
261e14b0
S
257[ List changes as an =item entry ].
258
259=over 4
65c75f8f 260
e750debb
KW
261=item *
262
261e14b0
S
263XXX
264
265=back
266
267=head1 Testing
268
269XXX Any significant changes to the testing of a freshly built perl should be
270listed here. Changes which create B<new> files in F<t/> go here as do any
271large changes to the testing harness (e.g. when parallel testing was added).
272Changes to existing files in F<t/> aren't worth summarizing, although the bugs
273that they represent may be covered elsewhere.
274
275XXX If there were no significant test changes, say this:
276
277Tests were added and changed to reflect the other additions and changes
278in this release.
279
280XXX If instead there were significant changes, say this:
281
282Tests were added and changed to reflect the other additions and
283changes in this release. Furthermore, these significant changes were
284made:
285
286[ List each test improvement as an =item entry ]
287
288=over 4
ab6f2e91
ZE
289
290=item *
291
261e14b0 292XXX
ab6f2e91
ZE
293
294=back
295
296=head1 Platform Support
297
261e14b0
S
298XXX Any changes to platform support should be listed in the sections below.
299
300[ Within the sections, list each platform as an =item entry with specific
301changes as paragraphs below it. ]
302
303=head2 New Platforms
304
305XXX List any platforms that this version of perl compiles on, that previous
306versions did not. These will either be enabled by new files in the F<hints/>
307directories, or new subdirectories and F<README> files at the top level of the
308source tree.
ab6f2e91 309
ab6f2e91
ZE
310=over 4
311
261e14b0
S
312=item XXX-some-platform
313
314XXX
315
316=back
317
318=head2 Discontinued Platforms
319
320XXX List any platforms that this version of perl no longer compiles on.
ab6f2e91 321
2a0cb97d
SH
322=over 4
323
261e14b0 324=item XXX-some-platform
2a0cb97d 325
261e14b0 326XXX
2a0cb97d
SH
327
328=back
e750debb 329
261e14b0
S
330=head2 Platform-Specific Notes
331
332XXX List any changes for specific platforms. This could include configuration
333and compilation changes or changes in portability/compatibility. However,
334changes within modules for platforms should generally be listed in the
335L</Modules and Pragmata> section.
336
337=over 4
338
339=item XXX-some-platform
340
341XXX
342
65c75f8f
A
343=back
344
0e18d1c4 345=head1 Internal Changes
0ce66d44 346
261e14b0
S
347XXX Changes which affect the interface available to C<XS> code go here. Other
348significant internal changes for future core maintainers should be noted as
349well.
350
351[ List each change as an =item entry ]
352
0e18d1c4 353=over 4
990f9aa0 354
73b95840
KW
355=item *
356
261e14b0 357XXX
73b95840 358
0e18d1c4 359=back
73b95840 360
0e18d1c4 361=head1 Selected Bug Fixes
73b95840 362
261e14b0
S
363XXX Important bug fixes in the core language are summarized here. Bug fixes in
364files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
365
366[ List each fix as an =item entry ]
367
0e18d1c4 368=over 4
73b95840 369
0e18d1c4 370=item *
73b95840 371
2c49d5e5
TC
372C<sort SUBNAME> within an C<eval EXPR> when C<EXPR> was UTF-8 upgraded
373could panic if the C<SUBNAME> was non-ASCII. [perl #134061]
ab6f2e91 374
3b1150bc
TC
375=item *
376
377Correctly handle realloc() modifying C<errno> on success so that the
378modification isn't visible to the perl user, since realloc() is called
379implicitly by the interpreter. This modification is permitted by the
380C standard, but has only been observed on FreeBSD 13.0-CURRENT. [perl
381#133958]
382
ab6f2e91
ZE
383=back
384
261e14b0
S
385=head1 Known Problems
386
387XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
388tests that had to be C<TODO>ed for the release would be noted here. Unfixed
389platform specific bugs also go here.
390
391[ List each fix as an =item entry ]
ab6f2e91
ZE
392
393=over 4
98265db1 394
ab6f2e91
ZE
395=item *
396
261e14b0 397XXX
07fbfc1d 398
ab6f2e91 399=back
1c0558a0 400
261e14b0 401=head1 Errata From Previous Releases
423dbb1d 402
261e14b0 403=over 4
423dbb1d 404
261e14b0 405=item *
a8f5c9d9 406
261e14b0
S
407XXX Add anything here that we forgot to add, or were mistaken about, in
408the perldelta of a previous release.
a8f5c9d9 409
261e14b0
S
410=back
411
412=head1 Obituary
a8f5c9d9 413
261e14b0
S
414XXX If any significant core contributor or member of the CPAN community has
415died, add a short obituary here.
416
417=head1 Acknowledgements
423dbb1d 418
261e14b0 419XXX Generate this with:
1c0558a0 420
261e14b0 421 perl Porting/acknowledgements.pl v5.29.10..HEAD
f5b73711 422
44691e6f
AB
423=head1 Reporting Bugs
424
373fec1e 425If you find what you think is a bug, you might check the perl bug database
15f62f05
KE
426at L<https://rt.perl.org/>. There may also be information at
427L<http://www.perl.org/>, the Perl Home Page.
44691e6f 428
e08634c5
SH
429If you believe you have an unreported bug, please run the L<perlbug> program
430included with your release. Be sure to trim your bug down to a tiny but
431sufficient test case. Your bug report, along with the output of C<perl -V>,
0e18d1c4 432will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f 433
87c118b9
DM
434If the bug you are reporting has security implications which make it
435inappropriate to send to a publicly archived mailing list, then see
373fec1e
SH
436L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
437for details of how to report the issue.
44691e6f 438
390ae6f9
S
439=head1 Give Thanks
440
373fec1e
SH
441If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
442you can do so by running the C<perlthanks> program:
390ae6f9
S
443
444 perlthanks
445
446This will send an email to the Perl 5 Porters list with your show of thanks.
447
44691e6f
AB
448=head1 SEE ALSO
449
e08634c5
SH
450The F<Changes> file for an explanation of how to view exhaustive details on
451what changed.
44691e6f
AB
452
453The F<INSTALL> file for how to build Perl.
454
455The F<README> file for general stuff.
456
457The F<Artistic> and F<Copying> files for copyright information.
458
459=cut