This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
typo
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
ab6f2e91
ZE
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.10
e4c43fa1 9
4026b091
S
10=head1 DESCRIPTION
11
ab6f2e91 12This document describes differences between the 5.29.9 release and the 5.29.10
4026b091
S
13release.
14
ab6f2e91
ZE
15If you are upgrading from an earlier release such as 5.29.8, first read
16L<perl5299delta>, which describes differences between 5.29.8 and 5.29.9.
17
18=head1 Notice
19
20XXX Any important notices here
e0f0cf8a 21
65c75f8f 22=head1 Core Enhancements
21d34e95 23
ab6f2e91
ZE
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.
1532347b 27
fec13a43
UC
28=head2 Perl now supports draft Unicode 12.1
29
30Unicode 12.1 differs from 12.0 only in the addition of a single
31character, that for the new Japanese era name. The intent is to ship
32Perl 5.30 with Unicode 12.1. The final release of 12.1 is scheduled for
33May 7, 2019. Hopefully, there won't be any code changes to the draft
34after the release of Perl 5.29.10.
1532347b 35
ab6f2e91 36=head1 Security
1532347b 37
ab6f2e91
ZE
38XXX Any security-related notices go here. In particular, any security
39vulnerabilities closed should be noted here rather than in the
40L</Selected Bug Fixes> section.
1532347b 41
ab6f2e91 42[ List each security issue as a =head2 entry ]
1532347b 43
ab6f2e91 44=head1 Incompatible Changes
1532347b 45
ab6f2e91 46XXX For a release on a stable branch, this section aspires to be:
945961fd 47
ab6f2e91
ZE
48 There are no changes intentionally incompatible with 5.XXX.XXX
49 If any exist, they are bugs, and we request that you submit a
50 report. See L</Reporting Bugs> below.
945961fd 51
ab6f2e91 52[ List each incompatible change as a =head2 entry ]
7b738cd3 53
ab6f2e91 54=head1 Deprecations
7b738cd3 55
ab6f2e91 56XXX Any deprecated features, syntax, modules etc. should be listed here.
7b738cd3 57
ab6f2e91 58=head2 Module removals
44289c0b 59
ab6f2e91 60XXX Remove this section if not applicable.
44289c0b 61
ab6f2e91
ZE
62The following modules will be removed from the core distribution in a
63future release, and will at that time need to be installed from CPAN.
64Distributions on CPAN which require these modules will need to list them as
65prerequisites.
44289c0b 66
ab6f2e91
ZE
67The core versions of these modules will now issue C<"deprecated">-category
68warnings to alert you to this fact. To silence these deprecation warnings,
69install the modules in question from CPAN.
44289c0b 70
ab6f2e91
ZE
71Note that these are (with rare exceptions) fine modules that you are encouraged
72to continue to use. Their disinclusion from core primarily hinges on their
73necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
74not usually on concerns over their design.
44289c0b 75
ab6f2e91 76=over
0c8d0e83 77
ab6f2e91 78=item XXX
2abbd513 79
ab6f2e91
ZE
80XXX Note that deprecated modules should be listed here even if they are listed
81as an updated module in the L</Modules and Pragmata> section.
2abbd513 82
ab6f2e91 83=back
2abbd513 84
ab6f2e91 85[ List each other deprecation as a =head2 entry ]
1ab3a811 86
ab6f2e91 87=head1 Performance Enhancements
b5e20476 88
ab6f2e91
ZE
89XXX Changes which enhance performance without changing behaviour go here.
90There may well be none in a stable release.
b5e20476 91
ab6f2e91 92[ List each enhancement as an =item entry ]
f4e61fc0 93
ab6f2e91 94=over 4
f4e61fc0 95
ab6f2e91
ZE
96=item *
97
98XXX
99
100=back
f4e61fc0 101
9409f532 102=head1 Modules and Pragmata
7b97bf55 103
ab6f2e91
ZE
104XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
105go here. If Module::CoreList is updated, generate an initial draft of the
106following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
107for important changes should then be added by hand. In an ideal world,
108dual-life modules would have a F<Changes> file that could be cribbed.
109
110The list of new and updated modules is modified automatically as part of
111preparing a Perl release, so the only reason to manually add entries here is if
112you're summarising the important changes in the module update. (Also, if the
113manually-added details don't match the automatically-generated ones, the
114release manager will have to investigate the situation carefully.)
115
116[ Within each section, list entries as an =item entry ]
117
118=head2 New Modules and Pragmata
d9ed9e94 119
0e18d1c4 120=over 4
423dbb1d
N
121
122=item *
123
ab6f2e91 124XXX Remove this section if not applicable.
7b97bf55 125
ab6f2e91
ZE
126=back
127
128=head2 Updated Modules and Pragmata
7b97bf55 129
ab6f2e91 130=over 4
7b97bf55 131
9409f532 132=item *
7b97bf55 133
ab6f2e91 134L<XXX> has been upgraded from version A.xx to B.yy.
65c75f8f 135
ab6f2e91 136If there was something important to note about this change, include that here.
65c75f8f 137
50691e40
ZE
138=item *
139
140L<Module::CoreList> has been upgraded from version 5.20190320 to 5.20190420.
141
142=back
143
ab6f2e91 144=head2 Removed Modules and Pragmata
0e18d1c4 145
ab6f2e91 146=over 4
3e52c030
A
147
148=item *
149
ab6f2e91 150XXX
ff736663 151
ab6f2e91 152=back
ff736663 153
ab6f2e91 154=head1 Documentation
ff736663 155
ab6f2e91
ZE
156XXX Changes to files in F<pod/> go here. Consider grouping entries by
157file and be sure to link to the appropriate page, e.g. L<perlfunc>.
423dbb1d 158
ab6f2e91 159=head2 New Documentation
0e18d1c4 160
ab6f2e91 161XXX Changes which create B<new> files in F<pod/> go here.
ff736663 162
ab6f2e91 163=head3 L<XXX>
ff736663 164
ab6f2e91 165XXX Description of the purpose of the new file here
ff736663 166
ab6f2e91
ZE
167=head2 Changes to Existing Documentation
168
169We have attempted to update the documentation to reflect the changes
170listed in this document. If you find any we have missed, send email
171to L<perlbug@perl.org|mailto:perlbug@perl.org>.
172
173XXX Changes which significantly change existing files in F<pod/> go here.
174However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
175section.
176
177Additionally, the following selected changes have been made:
d9ed9e94 178
ab6f2e91
ZE
179=head3 L<XXX>
180
181=over 4
0ce66d44 182
0deccbc4
A
183=item *
184
ab6f2e91 185XXX Description of the change here
0deccbc4
A
186
187=back
0ce66d44 188
0e18d1c4
N
189=head1 Diagnostics
190
191The following additions or changes have been made to diagnostic output,
192including warnings and fatal error messages. For the complete list of
193diagnostic messages, see L<perldiag>.
194
ab6f2e91
ZE
195XXX New or changed warnings emitted by the core's C<C> code go here. Also
196include any changes in L<perldiag> that reconcile it to the C<C> code.
197
198=head2 New Diagnostics
199
200XXX Newly added diagnostic messages go under here, separated into New Errors
201and New Warnings
202
203=head3 New Errors
204
205=over 4
206
207=item *
208
209XXX L<message|perldiag/"message">
210
211=back
212
213=head3 New Warnings
214
215=over 4
216
217=item *
218
219XXX L<message|perldiag/"message">
220
221=back
222
9e8e4a84 223=head2 Changes to Existing Diagnostics
65c75f8f 224
ab6f2e91
ZE
225XXX Changes (i.e. rewording) of diagnostic messages go here
226
227=over 4
228
229=item *
230
231XXX Describe change here
232
233=back
234
235=head1 Utility Changes
236
237XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
238Most of these are built within the directory F<utils>.
239
240[ List utility changes as a =head2 entry for each utility and =item
241entries for each change
242Use L<XXX> with program names to get proper documentation linking. ]
243
244=head2 L<XXX>
245
4380f76d
KE
246=over 4
247
248=item *
249
ab6f2e91
ZE
250XXX
251
252=back
253
254=head1 Configuration and Compilation
255
256XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
257go here. Any other changes to the Perl build process should be listed here.
258However, any platform-specific changes should be listed in the
259L</Platform Support> section, instead.
260
261[ List changes as an =item entry ].
262
263=over 4
65c75f8f 264
e750debb
KW
265=item *
266
ab6f2e91
ZE
267XXX
268
269=back
270
271=head1 Testing
272
273XXX Any significant changes to the testing of a freshly built perl should be
274listed here. Changes which create B<new> files in F<t/> go here as do any
275large changes to the testing harness (e.g. when parallel testing was added).
276Changes to existing files in F<t/> aren't worth summarizing, although the bugs
277that they represent may be covered elsewhere.
278
279XXX If there were no significant test changes, say this:
280
281Tests were added and changed to reflect the other additions and changes
282in this release.
283
284XXX If instead there were significant changes, say this:
285
286Tests were added and changed to reflect the other additions and
287changes in this release. Furthermore, these significant changes were
288made:
289
290[ List each test improvement as an =item entry ]
291
292=over 4
293
294=item *
295
296XXX
297
298=back
299
300=head1 Platform Support
301
302XXX Any changes to platform support should be listed in the sections below.
303
304[ Within the sections, list each platform as an =item entry with specific
305changes as paragraphs below it. ]
306
307=head2 New Platforms
308
309XXX List any platforms that this version of perl compiles on, that previous
310versions did not. These will either be enabled by new files in the F<hints/>
311directories, or new subdirectories and F<README> files at the top level of the
312source tree.
313
314=over 4
315
316=item XXX-some-platform
317
318XXX
319
320=back
321
322=head2 Discontinued Platforms
323
324XXX List any platforms that this version of perl no longer compiles on.
325
326=over 4
327
328=item XXX-some-platform
329
330XXX
331
332=back
333
334=head2 Platform-Specific Notes
335
336XXX List any changes for specific platforms. This could include configuration
337and compilation changes or changes in portability/compatibility. However,
338changes within modules for platforms should generally be listed in the
339L</Modules and Pragmata> section.
340
341=over 4
342
2a0cb97d 343=item Windows
ab6f2e91 344
2a0cb97d
SH
345=over 4
346
347=item *
348
349Support for compiling perl on Windows using Microsoft Visual Studio 2019
350(containing Visual C++ 14.2) has been added.
351
352=back
e750debb 353
65c75f8f
A
354=back
355
0e18d1c4 356=head1 Internal Changes
0ce66d44 357
ab6f2e91
ZE
358XXX Changes which affect the interface available to C<XS> code go here. Other
359significant internal changes for future core maintainers should be noted as
360well.
361
362[ List each change as an =item entry ]
363
0e18d1c4 364=over 4
990f9aa0 365
73b95840
KW
366=item *
367
9ec8aea5 368A new function L<perlapi/C<my_strtod>> or its synonym, Strtod(), is
4a9a5649 369now available with the same signature as the libc strtod(). It provides
9ec8aea5
KW
370strotod() equivalent behavior on all platforms, using the best available
371precision, depending on platform capabilities and F<Configure> options,
372while handling locale-related issues, such as if the radix character
373should be a dot or comma.
73b95840 374
0e18d1c4 375=back
73b95840 376
0e18d1c4 377=head1 Selected Bug Fixes
73b95840 378
ab6f2e91
ZE
379XXX Important bug fixes in the core language are summarized here. Bug fixes in
380files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
381
382[ List each fix as an =item entry ]
383
0e18d1c4 384=over 4
73b95840 385
0e18d1c4 386=item *
73b95840 387
3625d2a8
TC
388Perl now exposes POSIX C<getcwd> as C<Internals::getcwd()> if
389available. This is intended for use by C<Cwd.pm> during bootstrapping
390and may be removed or changed without notice. This fixes some
391bootstrapping issues while building perl in a directory where some
392ancestor directory isn't readable. [perl #133951]
ab6f2e91
ZE
393
394=back
395
396=head1 Known Problems
397
398XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
399tests that had to be C<TODO>ed for the release would be noted here. Unfixed
400platform specific bugs also go here.
401
402[ List each fix as an =item entry ]
403
404=over 4
73b95840 405
f4e61fc0
KW
406=item *
407
ab6f2e91 408XXX
f4e61fc0 409
0e18d1c4 410=back
73b95840 411
ab6f2e91
ZE
412=head1 Errata From Previous Releases
413
414=over 4
98265db1 415
ab6f2e91
ZE
416=item *
417
07fbfc1d
KW
418The perldelta for 5.29.9 listed the enhancement about regular expression
419lookbehind in the C<Security> section rather than the C<Core Enhancements>
420section. Its title should also have indicated that it is "Limited"
421variable-length lookbehind (up to 255 characters). (Note that a
422technique has now been published to achieve arbitrary variable length
423lookbehind with pre-existing Perl constructs and is linked to in L<perlre>.
424It is
425L<http://www.drregex.com/2019/02/variable-length-lookbehinds-actually.html>.)
426
ab6f2e91
ZE
427XXX Add anything here that we forgot to add, or were mistaken about, in
428the perldelta of a previous release.
98265db1 429
ab6f2e91 430=back
1c0558a0 431
ab6f2e91 432=head1 Obituary
423dbb1d 433
ab6f2e91
ZE
434XXX If any significant core contributor or member of the CPAN community has
435died, add a short obituary here.
423dbb1d 436
ab6f2e91 437=head1 Acknowledgements
423dbb1d 438
ab6f2e91 439XXX Generate this with:
1c0558a0 440
ab6f2e91 441 perl Porting/acknowledgements.pl v5.29.9..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>,
0e18d1c4 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