This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Unused dTHX, even under threads.
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
7065301c
RS
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.21.1
c68523cb 9
238894db 10=head1 DESCRIPTION
c68523cb 11
7065301c 12This document describes differences between the 5.21.0 release and the 5.21.1
238894db 13release.
c68523cb 14
7065301c
RS
15If you are upgrading from an earlier release such as 5.20.0, first read
16L<perl5210delta>, which describes differences between 5.20.0 and 5.21.0.
17
18=head1 Notice
19
20XXX Any important notices here
21
22=head1 Core Enhancements
23
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 inapplicable.
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.
69
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 a =item entry ]
87
88=over 4
89
90=item *
91
92XXX
93
94=back
95
7ef8b31d 96=head1 Modules and Pragmata
f6f3144e 97
7065301c
RS
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
104[ Within each section, list entries as a =item entry ]
105
106=head2 New Modules and Pragmata
24a38d90
RS
107
108=over 4
109
110=item *
111
7065301c
RS
112XXX
113
114=back
115
116=head2 Updated Modules and Pragmata
117
118=over 4
24a38d90
RS
119
120=item *
121
56cdf413
TC
122L<Carp> has been upgraded from version 1.3301 to 1.34.
123
124Carp::Heavy now ignores version mismatches with Carp if Carp is newer
125than 1.12, since Carp::Heavy's guts were merged into Carp at that
126point.
127L<[perl #121574]|https://rt.perl.org/Ticket/Display.html?id=121574>
128
129=item *
130
4ed8f5ed
TC
131L<Math::BigInt> has been upgraded from version 1.9993 to 1.9994.
132
133Synchronize POD changes from the CPAN release.
134
ee15bb65
TC
135C<< Math::BigFloat->blog(x) >> would sometimes return blog(2*x) when
136the accuracy was greater than 70 digits.
137
138The result of C<< Math::BigFloat->bdiv() >> in list context now
139satisfies C<< x = quotient * divisor + remainder >>.
140
4ed8f5ed
TC
141=item *
142
234105dd
TC
143L<Math::BigRat> has been upgraded from version 0.2606 to 0.2607.
144
145Synchronize POD changes from the CPAN release.
146
147=item *
148
c13fd1a2
TC
149L<perl5db.pl> has been upgraded from version 1.44 to 1.45.
150
151fork() in the debugger under C<tmux> will now create a new window for
891822fa
TC
152the forked process. L<[perl
153#121333]|https://rt.perl.org/Ticket/Display.html?id=121333>
154
155The debugger now saves the current working directory on startup and
156restores it when you restart your program with C<R> or <rerun>. L<[perl
157#121509]|https://rt.perl.org/Ticket/Display.html?id=121509>
24a38d90 158
f8187d97
SH
159L<Unicode::Collate> has been upgraded from version 1.04 to 1.07.
160
161Version 0.67's improved discontiguous contractions is invalidated by default
162and is supported as a parameter 'long_contraction'.
163
95f3e8d2
SH
164=item *
165
166L<Unicode::Normalize> has been upgraded from version 1.17 to 1.18.
167
168The XSUB implementation has been removed in favour of pure Perl.
169
238894db 170=back
24a38d90 171
92fa985e 172=head2 Removed Modules and Pragmata
24a38d90 173
238894db 174=over 4
24a38d90
RS
175
176=item *
177
7065301c
RS
178XXX
179
180=back
181
182=head1 Documentation
183
184XXX Changes to files in F<pod/> go here. Consider grouping entries by
185file and be sure to link to the appropriate page, e.g. L<perlfunc>.
186
187=head2 New Documentation
188
189XXX Changes which create B<new> files in F<pod/> go here.
190
191=head3 L<XXX>
192
193XXX Description of the purpose of the new file here
194
195=head2 Changes to Existing Documentation
196
197XXX Changes which significantly change existing files in F<pod/> go here.
198However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
199section.
200
201=head3 L<XXX>
202
203=over 4
204
205=item *
206
207XXX Description of the change here
208
209=back
210
211=head1 Diagnostics
212
213The following additions or changes have been made to diagnostic output,
214including warnings and fatal error messages. For the complete list of
215diagnostic messages, see L<perldiag>.
216
217XXX New or changed warnings emitted by the core's C<C> code go here. Also
218include any changes in L<perldiag> that reconcile it to the C<C> code.
219
220=head2 New Diagnostics
221
222XXX Newly added diagnostic messages go under here, separated into New Errors
223and New Warnings
224
225=head3 New Errors
226
227=over 4
24a38d90
RS
228
229=item *
230
7065301c
RS
231XXX L<message|perldiag/"message">
232
233=back
234
235=head3 New Warnings
236
237=over 4
24a38d90
RS
238
239=item *
240
7065301c 241XXX L<message|perldiag/"message">
24a38d90 242
238894db 243=back
24a38d90 244
7065301c 245=head2 Changes to Existing Diagnostics
24a38d90 246
7065301c 247XXX Changes (i.e. rewording) of diagnostic messages go here
24a38d90 248
7065301c
RS
249=over 4
250
251=item *
252
723edb96
TC
253L<Unsuccessful %s on filename containing newline|perldiag/"Unsuccessful %s on filename containing newline">
254
255This warning is now only produced when the newline is at the end of
256the filename.
7065301c
RS
257
258=back
259
260=head1 Utility Changes
261
262XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
263Most of these are built within the directories F<utils> and F<x2p>.
264
265[ List utility changes as a =head2 entry for each utility and =item
266entries for each change
267Use L<XXX> with program names to get proper documentation linking. ]
268
269=head2 L<XXX>
270
271=over 4
272
273=item *
24a38d90 274
7065301c
RS
275XXX
276
277=back
278
279=head1 Configuration and Compilation
280
281XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
282go here. Any other changes to the Perl build process should be listed here.
283However, any platform-specific changes should be listed in the
284L</Platform Support> section, instead.
285
286[ List changes as a =item entry ].
287
288=over 4
289
290=item *
291
292XXX
293
294=back
295
296=head1 Testing
297
298XXX Any significant changes to the testing of a freshly built perl should be
299listed here. Changes which create B<new> files in F<t/> go here as do any
300large changes to the testing harness (e.g. when parallel testing was added).
301Changes to existing files in F<t/> aren't worth summarizing, although the bugs
302that they represent may be covered elsewhere.
303
304[ List each test improvement as a =item entry ]
305
306=over 4
307
308=item *
309
310XXX
311
312=back
313
314=head1 Platform Support
315
316XXX Any changes to platform support should be listed in the sections below.
317
318[ Within the sections, list each platform as a =item entry with specific
319changes as paragraphs below it. ]
320
321=head2 New Platforms
322
323XXX List any platforms that this version of perl compiles on, that previous
324versions did not. These will either be enabled by new files in the F<hints/>
325directories, or new subdirectories and F<README> files at the top level of the
326source tree.
327
328=over 4
329
330=item XXX-some-platform
331
332XXX
333
334=back
335
336=head2 Discontinued Platforms
337
338XXX List any platforms that this version of perl no longer compiles on.
339
340=over 4
341
342=item XXX-some-platform
343
344XXX
345
346=back
347
348=head2 Platform-Specific Notes
349
350XXX List any changes for specific platforms. This could include configuration
351and compilation changes or changes in portability/compatibility. However,
352changes within modules for platforms should generally be listed in the
353L</Modules and Pragmata> section.
354
355=over 4
356
357=item XXX-some-platform
358
359XXX
360
361=back
362
363=head1 Internal Changes
364
365XXX Changes which affect the interface available to C<XS> code go here. Other
366significant internal changes for future core maintainers should be noted as
367well.
368
369[ List each change as a =item entry ]
370
371=over 4
372
373=item *
374
375XXX
376
377=back
378
379=head1 Selected Bug Fixes
380
381XXX Important bug fixes in the core language are summarized here. Bug fixes in
382files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
383
384[ List each fix as a =item entry ]
385
386=over 4
387
388=item *
389
30536d4a
TC
390index() and rindex() no longer crash when used on strings over 2GB in
391size.
392L<[perl #121562]|https://rt.perl.org/Ticket/Display.html?id=121562>.
7065301c
RS
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 a =item entry ]
403
404=over 4
405
406=item *
407
408XXX
409
410=back
411
412=head1 Errata From Previous Releases
413
414=over 4
415
416=item *
417
418XXX Add anything here that we forgot to add, or were mistaken about, in
419the perldelta of a previous release.
420
421=back
422
423=head1 Obituary
424
425XXX If any significant core contributor has died, we've added a short obituary
426here.
427
428=head1 Acknowledgements
24a38d90 429
7065301c 430XXX Generate this with:
52e02e68 431
7065301c 432 perl Porting/acknowledgements.pl v5.21.1..HEAD
f5b73711 433
44691e6f
AB
434=head1 Reporting Bugs
435
e08634c5
SH
436If you find what you think is a bug, you might check the articles recently
437posted to the comp.lang.perl.misc newsgroup and the perl bug database at
238894db 438https://rt.perl.org/ . There may also be information at
7ef8b31d 439http://www.perl.org/ , the Perl Home Page.
44691e6f 440
e08634c5
SH
441If you believe you have an unreported bug, please run the L<perlbug> program
442included with your release. Be sure to trim your bug down to a tiny but
443sufficient test case. Your bug report, along with the output of C<perl -V>,
444will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
445
446If the bug you are reporting has security implications, which make it
e08634c5
SH
447inappropriate to send to a publicly archived mailing list, then please send it
448to perl5-security-report@perl.org. This points to a closed subscription
449unarchived mailing list, which includes all the core committers, who will be
450able to help assess the impact of issues, figure out a resolution, and help
f9001595 451co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
452platforms on which Perl is supported. Please only use this address for
453security issues in the Perl core, not for modules independently distributed on
454CPAN.
44691e6f
AB
455
456=head1 SEE ALSO
457
e08634c5
SH
458The F<Changes> file for an explanation of how to view exhaustive details on
459what changed.
44691e6f
AB
460
461The F<INSTALL> file for how to build Perl.
462
463The F<README> file for general stuff.
464
465The F<Artistic> and F<Copying> files for copyright information.
466
467=cut