perldelta for c7ac81d9d79d22d7d1133b804e5f8dc4a641fe39
[perl.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.27.2
9
10 =head1 DESCRIPTION
11
12 This document describes differences between the 5.27.1 release and the 5.27.2
13 release.
14
15 If you are upgrading from an earlier release such as 5.27.0, first read
16 L<perl5271delta>, which describes differences between 5.27.0 and 5.27.1.
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 =head2 Unicode 10.0 is supported
31
32 A list of changes is at
33 L<http://www.unicode.org/versions/Unicode10.0.0>.
34
35 =head1 Security
36
37 XXX Any security-related notices go here.  In particular, any security
38 vulnerabilities closed should be noted here rather than in the
39 L</Selected Bug Fixes> section.
40
41 [ List each security issue as a =head2 entry ]
42
43 =head1 Incompatible Changes
44
45 XXX For a release on a stable branch, this section aspires to be:
46
47     There are no changes intentionally incompatible with 5.XXX.XXX
48     If any exist, they are bugs, and we request that you submit a
49     report.  See L</Reporting Bugs> below.
50
51 [ List each incompatible change as a =head2 entry ]
52
53 =head1 Deprecations
54
55 XXX Any deprecated features, syntax, modules etc. should be listed here.
56
57 =head2 Module removals
58
59 XXX Remove this section if inapplicable.
60
61 The following modules will be removed from the core distribution in a
62 future release, and will at that time need to be installed from CPAN.
63 Distributions on CPAN which require these modules will need to list them as
64 prerequisites.
65
66 The core versions of these modules will now issue C<"deprecated">-category
67 warnings to alert you to this fact.  To silence these deprecation warnings,
68 install the modules in question from CPAN.
69
70 Note that these are (with rare exceptions) fine modules that you are encouraged
71 to continue to use.  Their disinclusion from core primarily hinges on their
72 necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
73 not usually on concerns over their design.
74
75 =over
76
77 =item XXX
78
79 XXX Note that deprecated modules should be listed here even if they are listed
80 as an updated module in the L</Modules and Pragmata> section.
81
82 =back
83
84 [ List each other deprecation as a =head2 entry ]
85
86 =head1 Performance Enhancements
87
88 XXX Changes which enhance performance without changing behaviour go here.
89 There may well be none in a stable release.
90
91 [ List each enhancement as a =item entry ]
92
93 =over 4
94
95 =item *
96
97 XXX
98
99 =back
100
101 =head1 Modules and Pragmata
102
103 XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
104 go here.  If Module::CoreList is updated, generate an initial draft of the
105 following sections using F<Porting/corelist-perldelta.pl>.  A paragraph summary
106 for important changes should then be added by hand.  In an ideal world,
107 dual-life modules would have a F<Changes> file that could be cribbed.
108
109 [ Within each section, list entries as a =item entry ]
110
111 =head2 New Modules and Pragmata
112
113 =over 4
114
115 =item *
116
117 XXX
118
119 =back
120
121 =head2 Updated Modules and Pragmata
122
123 =over 4
124
125 =item *
126
127 L<XXX> has been upgraded from version A.xx to B.yy.
128
129 =item *
130
131 L<ExtUtils::CBuilder> has been upgraded from version 0.280225 to 0.280226.
132
133 =back
134
135 =head2 Removed Modules and Pragmata
136
137 =over 4
138
139 =item *
140
141 XXX
142
143 =back
144
145 =head1 Documentation
146
147 XXX Changes to files in F<pod/> go here.  Consider grouping entries by
148 file and be sure to link to the appropriate page, e.g. L<perlfunc>.
149
150 =head2 New Documentation
151
152 XXX Changes which create B<new> files in F<pod/> go here.
153
154 =head3 L<XXX>
155
156 XXX Description of the purpose of the new file here
157
158 =head2 Changes to Existing Documentation
159
160 We have attempted to update the documentation to reflect the changes
161 listed in this document.  If you find any we have missed, send email
162 to L<perlbug@perl.org|mailto:perlbug@perl.org>.
163
164 XXX Changes which significantly change existing files in F<pod/> go here.
165 However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
166 section.
167
168 Additionally, the following selected changes have been made:
169
170 =head3 L<XXX>
171
172 =over 4
173
174 =item *
175
176 XXX Description of the change here
177
178 =back
179
180 =head1 Diagnostics
181
182 The following additions or changes have been made to diagnostic output,
183 including warnings and fatal error messages.  For the complete list of
184 diagnostic messages, see L<perldiag>.
185
186 XXX New or changed warnings emitted by the core's C<C> code go here.  Also
187 include any changes in L<perldiag> that reconcile it to the C<C> code.
188
189 =head2 New Diagnostics
190
191 XXX Newly added diagnostic messages go under here, separated into New Errors
192 and New Warnings
193
194 =head3 New Errors
195
196 =over 4
197
198 =item *
199
200 XXX L<message|perldiag/"message">
201
202 =back
203
204 =head3 New Warnings
205
206 =over 4
207
208 =item *
209
210 XXX L<message|perldiag/"message">
211
212 =back
213
214 =head2 Changes to Existing Diagnostics
215
216 XXX Changes (i.e. rewording) of diagnostic messages go here
217
218 =over 4
219
220 =item *
221
222 XXX Describe change here
223
224 =back
225
226 =head1 Utility Changes
227
228 XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
229 Most of these are built within the directory F<utils>.
230
231 [ List utility changes as a =head2 entry for each utility and =item
232 entries for each change
233 Use L<XXX> with program names to get proper documentation linking. ]
234
235 =head2 L<XXX>
236
237 =over 4
238
239 =item *
240
241 XXX
242
243 =back
244
245 =head1 Configuration and Compilation
246
247 XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
248 go here.  Any other changes to the Perl build process should be listed here.
249 However, any platform-specific changes should be listed in the
250 L</Platform Support> section, instead.
251
252 [ List changes as a =item entry ].
253
254 =over 4
255
256 =item *
257
258 XXX
259
260 =back
261
262 =head1 Testing
263
264 XXX Any significant changes to the testing of a freshly built perl should be
265 listed here.  Changes which create B<new> files in F<t/> go here as do any
266 large changes to the testing harness (e.g. when parallel testing was added).
267 Changes to existing files in F<t/> aren't worth summarizing, although the bugs
268 that they represent may be covered elsewhere.
269
270 XXX If there were no significant test changes, say this:
271
272 Tests were added and changed to reflect the other additions and changes
273 in this release.
274
275 XXX If instead there were significant changes, say this:
276
277 Tests were added and changed to reflect the other additions and
278 changes in this release.  Furthermore, these significant changes were
279 made:
280
281 [ List each test improvement as a =item entry ]
282
283 =over 4
284
285 =item *
286
287 XXX
288
289 =back
290
291 =head1 Platform Support
292
293 XXX Any changes to platform support should be listed in the sections below.
294
295 [ Within the sections, list each platform as a =item entry with specific
296 changes as paragraphs below it. ]
297
298 =head2 New Platforms
299
300 XXX List any platforms that this version of perl compiles on, that previous
301 versions did not.  These will either be enabled by new files in the F<hints/>
302 directories, or new subdirectories and F<README> files at the top level of the
303 source tree.
304
305 =over 4
306
307 =item XXX-some-platform
308
309 XXX
310
311 =back
312
313 =head2 Discontinued Platforms
314
315 XXX List any platforms that this version of perl no longer compiles on.
316
317 =over 4
318
319 =item XXX-some-platform
320
321 XXX
322
323 =back
324
325 =head2 Platform-Specific Notes
326
327 XXX List any changes for specific platforms.  This could include configuration
328 and compilation changes or changes in portability/compatibility.  However,
329 changes within modules for platforms should generally be listed in the
330 L</Modules and Pragmata> section.
331
332 =over 4
333
334 =item XXX-some-platform
335
336 XXX
337
338 =back
339
340 =head1 Internal Changes
341
342 XXX Changes which affect the interface available to C<XS> code go here.  Other
343 significant internal changes for future core maintainers should be noted as
344 well.
345
346 [ List each change as a =item entry ]
347
348 =over 4
349
350 =item *
351
352 XXX
353
354 =back
355
356 =head1 Selected Bug Fixes
357
358 XXX Important bug fixes in the core language are summarized here.  Bug fixes in
359 files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
360
361 [ List each fix as a =item entry ]
362
363 =over 4
364
365 =item *
366
367 List assignment (C<aassign>) could in some rare cases allocate an
368 entry on the mortal stack and leave the entry uninitialized. [perl
369 #131570]
370
371 =item *
372
373 Attempting to apply an attribute to an C<our> variable where a
374 function of that name already exists could result in a NULL pointer
375 being supplied where an SV was expected, crashing perl.  [perl
376 #131597]
377
378 =back
379
380 =head1 Known Problems
381
382 XXX Descriptions of platform agnostic bugs we know we can't fix go here.  Any
383 tests that had to be C<TODO>ed for the release would be noted here.  Unfixed
384 platform specific bugs also go here.
385
386 [ List each fix as a =item entry ]
387
388 =over 4
389
390 =item *
391
392 XXX
393
394 =back
395
396 =head1 Errata From Previous Releases
397
398 =over 4
399
400 =item *
401
402 XXX Add anything here that we forgot to add, or were mistaken about, in
403 the perldelta of a previous release.
404
405 =back
406
407 =head1 Obituary
408
409 XXX If any significant core contributor has died, we've added a short obituary
410 here.
411
412 =head1 Acknowledgements
413
414 XXX Generate this with:
415
416   perl Porting/acknowledgements.pl v5.25.5..HEAD
417
418 =head1 Reporting Bugs
419
420 If you find what you think is a bug, you might check the perl bug database
421 at L<https://rt.perl.org/> .  There may also be information at
422 L<http://www.perl.org/> , the Perl Home Page.
423
424 If you believe you have an unreported bug, please run the L<perlbug> program
425 included with your release.  Be sure to trim your bug down to a tiny but
426 sufficient test case.  Your bug report, along with the output of C<perl -V>,
427 will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
428
429 If the bug you are reporting has security implications which make it
430 inappropriate to send to a publicly archived mailing list, then see
431 L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
432 for details of how to report the issue.
433
434 =head1 Give Thanks
435
436 If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
437 you can do so by running the C<perlthanks> program:
438
439     perlthanks
440
441 This will send an email to the Perl 5 Porters list with your show of thanks.
442
443 =head1 SEE ALSO
444
445 The F<Changes> file for an explanation of how to view exhaustive details on
446 what changed.
447
448 The F<INSTALL> file for how to build Perl.
449
450 The F<README> file for general stuff.
451
452 The F<Artistic> and F<Copying> files for copyright information.
453
454 =cut