This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
674db75b78041910cf76c9277db32ee465080a70
[perl5.git] / pod / perldelta.pod
1 =encoding utf8
2
3 =head1 NAME
4
5 [ this is a template for a new perldelta file.  Any text flagged as XXX needs
6 to be processed before release. ]
7
8 perldelta - what is new for perl v5.21.1
9
10 =head1 DESCRIPTION
11
12 This document describes differences between the 5.21.0 release and the 5.21.1
13 release.
14
15 If you are upgrading from an earlier release such as 5.20.0, first read
16 L<perl5210delta>, which describes differences between 5.20.0 and 5.21.0.
17
18 =head1 Notice
19
20 XXX Any important notices here
21
22 =head1 Core Enhancements
23
24 XXX New core language features go here.  Summarize user-visible core language
25 enhancements.  Particularly prominent performance optimisations could go
26 here, but most should go in the L</Performance Enhancements> section.
27
28 [ List each enhancement as a =head2 entry ]
29
30 =head1 Security
31
32 XXX Any security-related notices go here.  In particular, any security
33 vulnerabilities closed should be noted here rather than in the
34 L</Selected Bug Fixes> section.
35
36 [ List each security issue as a =head2 entry ]
37
38 =head1 Incompatible Changes
39
40 XXX 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
50 XXX Any deprecated features, syntax, modules etc. should be listed here.
51
52 =head2 Module removals
53
54 XXX Remove this section if inapplicable.
55
56 The following modules will be removed from the core distribution in a
57 future release, and will at that time need to be installed from CPAN.
58 Distributions on CPAN which require these modules will need to list them as
59 prerequisites.
60
61 The core versions of these modules will now issue C<"deprecated">-category
62 warnings to alert you to this fact.  To silence these deprecation warnings,
63 install the modules in question from CPAN.
64
65 Note that these are (with rare exceptions) fine modules that you are encouraged
66 to continue to use.  Their disinclusion from core primarily hinges on their
67 necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
68 not usually on concerns over their design.
69
70 =over
71
72 =item XXX
73
74 XXX Note that deprecated modules should be listed here even if they are listed
75 as 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
83 XXX Changes which enhance performance without changing behaviour go here.
84 There 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
92 XXX
93
94 =back
95
96 =head1 Modules and Pragmata
97
98 XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
99 go here.  If Module::CoreList is updated, generate an initial draft of the
100 following sections using F<Porting/corelist-perldelta.pl>.  A paragraph summary
101 for important changes should then be added by hand.  In an ideal world,
102 dual-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
107
108 =over 4
109
110 =item *
111
112 XXX
113
114 =back
115
116 =head2 Updated Modules and Pragmata
117
118 =over 4
119
120 =item *
121
122 L<Carp> has been upgraded from version 1.3301 to 1.34.
123
124 Carp::Heavy now ignores version mismatches with Carp if Carp is newer
125 than 1.12, since Carp::Heavy's guts were merged into Carp at that
126 point.
127 L<[perl #121574]|https://rt.perl.org/Ticket/Display.html?id=121574>
128
129 =item *
130
131 L<Digest::SHA> has been upgraded from version 5.88 to 5.91.
132
133 Numerous enhancements, bug fixes and performance improvements have been made.
134 See the F<Changes> file in the CPAN distribution for full details.
135
136 =item *
137
138 L<Math::BigRat> has been upgraded from version 0.2606 to 0.2607.
139
140 Synchronize POD changes from the CPAN release.
141
142 =item *
143
144 L<perl5db.pl> has been upgraded from version 1.44 to 1.45.
145
146 fork() in the debugger under C<tmux> will now create a new window for
147 the forked process. L<[perl
148 #121333]|https://rt.perl.org/Ticket/Display.html?id=121333>
149
150 The debugger now saves the current working directory on startup and
151 restores it when you restart your program with C<R> or <rerun>. L<[perl
152 #121509]|https://rt.perl.org/Ticket/Display.html?id=121509>
153
154 =item *
155
156 L<Term::Cap> has been upgraded from version 1.15 to 1.16.
157
158 The last resort attempt to fake up a termcap from terminfo now works.
159
160 =item *
161
162 L<Unicode::Collate> has been upgraded from version 1.04 to 1.07.
163
164 Version 0.67's improved discontiguous contractions is invalidated by default
165 and is supported as a parameter 'long_contraction'.
166
167 =item *
168
169 L<Unicode::Normalize> has been upgraded from version 1.17 to 1.18.
170
171 The XSUB implementation has been removed in favour of pure Perl.
172
173 =back
174
175 =head2 Removed Modules and Pragmata
176
177 =over 4
178
179 =item *
180
181 XXX
182
183 =back
184
185 =head1 Documentation
186
187 XXX Changes to files in F<pod/> go here.  Consider grouping entries by
188 file and be sure to link to the appropriate page, e.g. L<perlfunc>.
189
190 =head2 New Documentation
191
192 XXX Changes which create B<new> files in F<pod/> go here.
193
194 =head3 L<XXX>
195
196 XXX Description of the purpose of the new file here
197
198 =head2 Changes to Existing Documentation
199
200 XXX Changes which significantly change existing files in F<pod/> go here.
201 However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
202 section.
203
204 =head3 L<XXX>
205
206 =over 4
207
208 =item *
209
210 XXX Description of the change here
211
212 =back
213
214 =head1 Diagnostics
215
216 The following additions or changes have been made to diagnostic output,
217 including warnings and fatal error messages.  For the complete list of
218 diagnostic messages, see L<perldiag>.
219
220 XXX New or changed warnings emitted by the core's C<C> code go here.  Also
221 include any changes in L<perldiag> that reconcile it to the C<C> code.
222
223 =head2 New Diagnostics
224
225 XXX Newly added diagnostic messages go under here, separated into New Errors
226 and New Warnings
227
228 =head3 New Errors
229
230 =over 4
231
232 =item *
233
234 XXX L<message|perldiag/"message">
235
236 =back
237
238 =head3 New Warnings
239
240 =over 4
241
242 =item *
243
244 XXX L<message|perldiag/"message">
245
246 =back
247
248 =head2 Changes to Existing Diagnostics
249
250 XXX Changes (i.e. rewording) of diagnostic messages go here
251
252 =over 4
253
254 =item *
255
256 L<Unsuccessful %s on filename containing newline|perldiag/"Unsuccessful %s on filename containing newline">
257
258 This warning is now only produced when the newline is at the end of
259 the filename.
260
261 =back
262
263 =head1 Utility Changes
264
265 XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
266 Most of these are built within the directories F<utils> and F<x2p>.
267
268 [ List utility changes as a =head2 entry for each utility and =item
269 entries for each change
270 Use L<XXX> with program names to get proper documentation linking. ]
271
272 =head2 L<XXX>
273
274 =over 4
275
276 =item *
277
278 XXX
279
280 =back
281
282 =head1 Configuration and Compilation
283
284 XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
285 go here.  Any other changes to the Perl build process should be listed here.
286 However, any platform-specific changes should be listed in the
287 L</Platform Support> section, instead.
288
289 [ List changes as a =item entry ].
290
291 =over 4
292
293 =item *
294
295 XXX
296
297 =back
298
299 =head1 Testing
300
301 XXX Any significant changes to the testing of a freshly built perl should be
302 listed here.  Changes which create B<new> files in F<t/> go here as do any
303 large changes to the testing harness (e.g. when parallel testing was added).
304 Changes to existing files in F<t/> aren't worth summarizing, although the bugs
305 that they represent may be covered elsewhere.
306
307 [ List each test improvement as a =item entry ]
308
309 =over 4
310
311 =item *
312
313 XXX
314
315 =back
316
317 =head1 Platform Support
318
319 XXX Any changes to platform support should be listed in the sections below.
320
321 [ Within the sections, list each platform as a =item entry with specific
322 changes as paragraphs below it. ]
323
324 =head2 New Platforms
325
326 XXX List any platforms that this version of perl compiles on, that previous
327 versions did not.  These will either be enabled by new files in the F<hints/>
328 directories, or new subdirectories and F<README> files at the top level of the
329 source tree.
330
331 =over 4
332
333 =item XXX-some-platform
334
335 XXX
336
337 =back
338
339 =head2 Discontinued Platforms
340
341 XXX List any platforms that this version of perl no longer compiles on.
342
343 =over 4
344
345 =item XXX-some-platform
346
347 XXX
348
349 =back
350
351 =head2 Platform-Specific Notes
352
353 XXX List any changes for specific platforms.  This could include configuration
354 and compilation changes or changes in portability/compatibility.  However,
355 changes within modules for platforms should generally be listed in the
356 L</Modules and Pragmata> section.
357
358 =over 4
359
360 =item XXX-some-platform
361
362 XXX
363
364 =back
365
366 =head1 Internal Changes
367
368 XXX Changes which affect the interface available to C<XS> code go here.  Other
369 significant internal changes for future core maintainers should be noted as
370 well.
371
372 [ List each change as a =item entry ]
373
374 =over 4
375
376 =item *
377
378 XXX
379
380 =back
381
382 =head1 Selected Bug Fixes
383
384 XXX Important bug fixes in the core language are summarized here.  Bug fixes in
385 files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
386
387 [ List each fix as a =item entry ]
388
389 =over 4
390
391 =item *
392
393 index() and rindex() no longer crash when used on strings over 2GB in
394 size.
395 L<[perl #121562]|https://rt.perl.org/Ticket/Display.html?id=121562>.
396
397 =back
398
399 =head1 Known Problems
400
401 XXX Descriptions of platform agnostic bugs we know we can't fix go here.  Any
402 tests that had to be C<TODO>ed for the release would be noted here.  Unfixed
403 platform specific bugs also go here.
404
405 [ List each fix as a =item entry ]
406
407 =over 4
408
409 =item *
410
411 XXX
412
413 =back
414
415 =head1 Errata From Previous Releases
416
417 =over 4
418
419 =item *
420
421 XXX Add anything here that we forgot to add, or were mistaken about, in
422 the perldelta of a previous release.
423
424 =back
425
426 =head1 Obituary
427
428 XXX If any significant core contributor has died, we've added a short obituary
429 here.
430
431 =head1 Acknowledgements
432
433 XXX Generate this with:
434
435   perl Porting/acknowledgements.pl v5.21.1..HEAD
436
437 =head1 Reporting Bugs
438
439 If you find what you think is a bug, you might check the articles recently
440 posted to the comp.lang.perl.misc newsgroup and the perl bug database at
441 https://rt.perl.org/ .  There may also be information at
442 http://www.perl.org/ , the Perl Home Page.
443
444 If you believe you have an unreported bug, please run the L<perlbug> program
445 included with your release.  Be sure to trim your bug down to a tiny but
446 sufficient test case.  Your bug report, along with the output of C<perl -V>,
447 will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
448
449 If the bug you are reporting has security implications, which make it
450 inappropriate to send to a publicly archived mailing list, then please send it
451 to perl5-security-report@perl.org.  This points to a closed subscription
452 unarchived mailing list, which includes all the core committers, who will be
453 able to help assess the impact of issues, figure out a resolution, and help
454 co-ordinate the release of patches to mitigate or fix the problem across all
455 platforms on which Perl is supported.  Please only use this address for
456 security issues in the Perl core, not for modules independently distributed on
457 CPAN.
458
459 =head1 SEE ALSO
460
461 The F<Changes> file for an explanation of how to view exhaustive details on
462 what changed.
463
464 The F<INSTALL> file for how to build Perl.
465
466 The F<README> file for general stuff.
467
468 The F<Artistic> and F<Copying> files for copyright information.
469
470 =cut