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