This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Change enum names for new locale function parameters
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
da251d45 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.10
89853d76 9
b5cbfe35 10=head1 DESCRIPTION
89853d76 11
da251d45 12This document describes differences between the 5.27.9 release and the 5.27.10
b5cbfe35 13release.
89853d76 14
da251d45 15If you are upgrading from an earlier release such as 5.27.8, first read
16L<perl5279delta>, which describes differences between 5.27.8 and 5.27.9.
17
18=head1 Notice
19
20XXX Any important notices here
ae047103 21
915366d4 22=head1 Core Enhancements
034602eb 23
03079dee 24=head2 XXX
f512d242 25
03079dee 26XXX
e7206367 27
da251d45 28=head1 Security
29
30XXX Any security-related notices go here. In particular, any security
31vulnerabilities closed should be noted here rather than in the
32L</Selected Bug Fixes> section.
33
34[ List each security issue as a =head2 entry ]
35
36=head1 Incompatible Changes
37
38XXX For a release on a stable branch, this section aspires to be:
39
40 There are no changes intentionally incompatible with 5.XXX.XXX
41 If any exist, they are bugs, and we request that you submit a
42 report. See L</Reporting Bugs> below.
43
44[ List each incompatible change as a =head2 entry ]
45
46=head1 Deprecations
47
48XXX Any deprecated features, syntax, modules etc. should be listed here.
49
50=head2 Module removals
51
52XXX Remove this section if not applicable.
53
54The following modules will be removed from the core distribution in a
55future release, and will at that time need to be installed from CPAN.
56Distributions on CPAN which require these modules will need to list them as
57prerequisites.
58
59The core versions of these modules will now issue C<"deprecated">-category
60warnings to alert you to this fact. To silence these deprecation warnings,
61install the modules in question from CPAN.
62
63Note that these are (with rare exceptions) fine modules that you are encouraged
64to continue to use. Their disinclusion from core primarily hinges on their
65necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
66not usually on concerns over their design.
67
68=over
69
70=item XXX
71
72XXX Note that deprecated modules should be listed here even if they are listed
73as an updated module in the L</Modules and Pragmata> section.
74
75=back
76
77[ List each other deprecation as a =head2 entry ]
78
915366d4 79=head1 Performance Enhancements
0367231c 80
4ec06e46 81=over 4
2707ab55
CBW
82
83=item *
84
03079dee 85XXX
2707ab55 86
4ec06e46 87=back
2707ab55 88
4ec06e46 89=head1 Modules and Pragmata
2707ab55 90
da251d45 91XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
92go here. If Module::CoreList is updated, generate an initial draft of the
93following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
94for important changes should then be added by hand. In an ideal world,
95dual-life modules would have a F<Changes> file that could be cribbed.
96
97The list of new and updated modules is modified automatically as part of
98preparing a Perl release, so the only reason to manually add entries here is if
99you're summarising the important changes in the module update. (Also, if the
100manually-added details don't match the automatically-generated ones, the
101release manager will have to investigate the situation carefully.)
102
103[ Within each section, list entries as an =item entry ]
104
105=head2 New Modules and Pragmata
106
107=over 4
108
109=item *
110
111XXX Remove this section if not applicable.
112
113=back
114
915366d4 115=head2 Updated Modules and Pragmata
b2a6778b 116
915366d4 117=over 4
a69078af
A
118
119=item *
9a84a9ba 120
30938b9c 121L<Carp> has been upgraded from version 1.46 to 1.4x.
52e3acf8 122
30938b9c
FC
123XXX Please update the version number.
124
125L<Carp>, when generating stack traces, now attempts to work around
90fe0489 126longstanding bugs resulting from Perl's non-reference-counted stack.
30938b9c
FC
127[perl #52610]
128
129Carp has been modified to avoid assuming that objects cannot be
130overloaded without the L<overload> module loaded (this can happen with
131objects created by XS modules). Previously, infinite recursion would
132result if an XS-defined overload method itself called Carp. [perl #132828]
133
134Carp now avoids using C<overload::StrVal>, partly because older versions
135of L<overload> (included with perl 5.14 and earlier) load L<Scalar::Util>
136at run time, which will fail if Carp has been invoked after a syntax error.
04f89ea7 137
4ec06e46 138=back
9fca523d 139
da251d45 140=head2 Removed Modules and Pragmata
141
142=over 4
143
144=item *
145
146XXX
147
148=back
149
32fe17ba 150=head1 Documentation
4ec06e46 151
da251d45 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
cab9f0b0 162
32fe17ba 163=head2 Changes to Existing Documentation
9deb4e0b 164
da251d45 165XXX Changes which significantly change existing files in F<pod/> go here.
166However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
167section.
168
169Additionally, the following selected changes have been made:
170
171=head3 L<XXX>
172
173=over 4
174
175=item *
176
177XXX Description of the change here
178
179=back
180
32fe17ba 181=head1 Diagnostics
4ec06e46 182
32fe17ba 183The following additions or changes have been made to diagnostic output,
184including warnings and fatal error messages. For the complete list of
185diagnostic messages, see L<perldiag>.
915366d4 186
da251d45 187XXX New or changed warnings emitted by the core's C<C> code go here. Also
188include any changes in L<perldiag> that reconcile it to the C<C> code.
189
32fe17ba 190=head2 New Diagnostics
915366d4 191
da251d45 192XXX Newly added diagnostic messages go under here, separated into New Errors
193and New Warnings
194
195=head3 New Errors
196
197=over 4
198
199=item *
200
201XXX L<message|perldiag/"message">
202
203=back
204
32fe17ba 205=head3 New Warnings
4ec06e46 206
e6a2e5ca 207=over 4
64b9a139
SH
208
209=item *
210
03079dee 211XXX
a8d9a219 212
e6a2e5ca
SH
213=back
214
da251d45 215=head2 Changes to Existing Diagnostics
216
217XXX Changes (i.e. rewording) of diagnostic messages go here
218
219=over 4
220
221=item *
222
03079dee
FC
223The new (as of 5.27.8) restriction forbidding use of C<goto> to enter the
224argument of a binary or list expression (see L<perldiag/"Can't
225E<quot>gotoE<quot> into a binary or list expression">) has been relaxed to
226allow entering the I<first> argument of an operator that takes a fixed
227number of arguments, since this is a case that will not cause stack
228corruption. [perl #132854]
da251d45 229
578a6a87
KW
230=item *
231
232The warning added in 5.27.8 concerning UTF-8 locale compatibility was
233misleading. The new wording and explanation are at
234L<perldiag/Locale '%s' contains (at least) the following characters which
235have unexepected meanings: %s The Perl program will use the exepected
236meanings>
237
da251d45 238=back
239
240=head1 Utility Changes
241
242XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
243Most of these are built within the directory F<utils>.
244
245[ List utility changes as a =head2 entry for each utility and =item
246entries for each change
247Use L<XXX> with program names to get proper documentation linking. ]
248
249=head2 L<XXX>
250
251=over 4
252
253=item *
254
255XXX
256
257=back
258
259=head1 Configuration and Compilation
260
261XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
262go here. Any other changes to the Perl build process should be listed here.
263However, any platform-specific changes should be listed in the
264L</Platform Support> section, instead.
265
266[ List changes as an =item entry ].
267
268=over 4
269
270=item *
271
642ef05e
TC
272F<lib/unicore/mktables> now correctly canonicalizes the names of the
273dependencies stored in the files it generates.
274
275F<regen/mk_invlists.pl>, unlike the other F<regen/*.pl> scripts, used
276C<$0> to name itself in the dependencies stored in the files it
277generates. It now uses a literal so that the path stored in the
278generated files doesn't depend on how F<regen/mk_invlists.pl> is
279invoked.
280
281This lack of canonical names could cause test failures in
282F<t/porting/regen.t>. [perl #132925]
da251d45 283
284=back
285
4ec06e46 286=head1 Testing
dea26044 287
4ec06e46
CBW
288Tests were added and changed to reflect the other additions and
289changes in this release. Furthermore, these significant changes were
290made:
a8ba758d 291
25219f3f 292=over 4
a8ba758d 293
ee5287f6
LM
294=item *
295
03079dee 296XXX
59eb8be1 297
4ec06e46 298=back
59eb8be1 299
4ec06e46 300=head1 Platform Support
ee5287f6 301
915366d4
A
302=head2 New Platforms
303
25219f3f 304=over 4
e6a2e5ca 305
03079dee 306=item That Plaftorm
1d60dc3f 307
03079dee 308XXX
1d60dc3f 309
915366d4 310=back
66d3c925 311
da251d45 312=head2 Discontinued Platforms
313
314XXX List any platforms that this version of perl no longer compiles on.
315
316=over 4
317
318=item XXX-some-platform
319
320XXX
321
322=back
323
324=head2 Platform-Specific Notes
325
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.
330
331=over 4
332
333=item XXX-some-platform
334
335XXX
336
337=back
338
915366d4 339=head1 Internal Changes
64def2ae 340
915366d4 341=over 4
f5e05609
Z
342
343=item *
344
4e6826bf
KW
345The item names passed to the function L<perlapi/Perl_langinfo>,
346introduced in 5.27.4, may no longer be prefixed with C<PERL_>. For
347example, if you want the current floating point radix character, you
348must call it like C<Perl_langinfo(RADIXCHAR)>.
957ac254 349
915366d4 350=back
222b5ca9 351
915366d4 352=head1 Selected Bug Fixes
222b5ca9 353
915366d4 354=over 4
4ec06e46 355
0a72295b 356=item *
8af6a5dc 357
03079dee 358XXX
3a01ed59 359
915366d4 360=back
53fff747 361
da251d45 362=head1 Known Problems
aa0c5741 363
da251d45 364XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
365tests that had to be C<TODO>ed for the release would be noted here. Unfixed
366platform specific bugs also go here.
857320cb 367
da251d45 368[ List each fix as an =item entry ]
4faa3060 369
da251d45 370=over 4
371
372=item *
373
374XXX
375
376=back
377
378=head1 Errata From Previous Releases
379
380=over 4
381
382=item *
383
384XXX Add anything here that we forgot to add, or were mistaken about, in
385the perldelta of a previous release.
5ef73200 386
da251d45 387=back
388
389=head1 Obituary
5ef73200 390
da251d45 391XXX If any significant core contributor or member of the CPAN community has
392died, add a short obituary here.
393
394=head1 Acknowledgements
5ef73200 395
da251d45 396XXX Generate this with:
5ef73200 397
da251d45 398 perl Porting/acknowledgements.pl v5.27.9..HEAD
f5b73711 399
44691e6f
AB
400=head1 Reporting Bugs
401
b5cbfe35
S
402If you find what you think is a bug, you might check the perl bug database
403at L<https://rt.perl.org/> . There may also be information at
404L<http://www.perl.org/> , the Perl Home Page.
44691e6f 405
e08634c5
SH
406If you believe you have an unreported bug, please run the L<perlbug> program
407included with your release. Be sure to trim your bug down to a tiny but
408sufficient test case. Your bug report, along with the output of C<perl -V>,
b5cbfe35 409will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f 410
87c118b9
DM
411If the bug you are reporting has security implications which make it
412inappropriate to send to a publicly archived mailing list, then see
c0ea3294
SH
413L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
414for details of how to report the issue.
44691e6f 415
390ae6f9
S
416=head1 Give Thanks
417
418If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
419you can do so by running the C<perlthanks> program:
420
421 perlthanks
422
423This will send an email to the Perl 5 Porters list with your show of thanks.
424
44691e6f
AB
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