This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Upgrade Module-Metadata from version 1.000026 to 1.000027
[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.23.0
9
10 =head1 DESCRIPTION
11
12 This document describes differences between the 5.22.0 release and the 5.23.0
13 release.
14
15 =head1 Notice
16
17 XXX Any important notices here
18
19 =head1 Core Enhancements
20
21 XXX New core language features go here.  Summarize user-visible core language
22 enhancements.  Particularly prominent performance optimisations could go
23 here, but most should go in the L</Performance Enhancements> section.
24
25 [ List each enhancement as a =head2 entry ]
26
27 =head1 Security
28
29 XXX Any security-related notices go here.  In particular, any security
30 vulnerabilities closed should be noted here rather than in the
31 L</Selected Bug Fixes> section.
32
33 [ List each security issue as a =head2 entry ]
34
35 =head1 Incompatible Changes
36
37 XXX For a release on a stable branch, this section aspires to be:
38
39     There are no changes intentionally incompatible with 5.XXX.XXX
40     If any exist, they are bugs, and we request that you submit a
41     report.  See L</Reporting Bugs> below.
42
43 [ List each incompatible change as a =head2 entry ]
44
45 =head1 Deprecations
46
47 XXX Any deprecated features, syntax, modules etc. should be listed here.
48
49 =head2 Module removals
50
51 XXX Remove this section if inapplicable.
52
53 The following modules will be removed from the core distribution in a
54 future release, and will at that time need to be installed from CPAN.
55 Distributions on CPAN which require these modules will need to list them as
56 prerequisites.
57
58 The core versions of these modules will now issue C<"deprecated">-category
59 warnings to alert you to this fact.  To silence these deprecation warnings,
60 install the modules in question from CPAN.
61
62 Note that these are (with rare exceptions) fine modules that you are encouraged
63 to continue to use.  Their disinclusion from core primarily hinges on their
64 necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
65 not usually on concerns over their design.
66
67 =over
68
69 =item XXX
70
71 XXX Note that deprecated modules should be listed here even if they are listed
72 as an updated module in the L</Modules and Pragmata> section.
73
74 =back
75
76 [ List each other deprecation as a =head2 entry ]
77
78 =head1 Performance Enhancements
79
80 XXX Changes which enhance performance without changing behaviour go here.
81 There may well be none in a stable release.
82
83 [ List each enhancement as a =item entry ]
84
85 =over 4
86
87 =item *
88
89 XXX
90
91 =back
92
93 =head1 Modules and Pragmata
94
95 XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
96 go here.  If Module::CoreList is updated, generate an initial draft of the
97 following sections using F<Porting/corelist-perldelta.pl>.  A paragraph summary
98 for important changes should then be added by hand.  In an ideal world,
99 dual-life modules would have a F<Changes> file that could be cribbed.
100
101 [ Within each section, list entries as a =item entry ]
102
103 =head2 New Modules and Pragmata
104
105 =over 4
106
107 =item *
108
109 XXX
110
111 =back
112
113 =head2 Updated Modules and Pragmata
114
115 =over 4
116
117 =item *
118
119 L<CPAN::Meta::Requirements> has been upgraded from version 2.132 to 2.133.
120
121 =item *
122
123 L<CPAN::Meta::YAML> has been upgraded from version 0.014 to 0.016.
124
125 =item *
126
127 L<Getopt::Long> has been upgraded from version 2.45 to 2.46.
128
129 =item *
130
131 L<HTTP::Tiny> has been upgraded from version 0.054 to 0.056.
132
133 =item *
134
135 The libnet distribution has been upgraded from version 3.05 to 3.06.
136
137 =item *
138
139 L<Math::BigInt> has been upgraded from version 1.9997 to 1.999701.
140
141 Correct the behaviour of bdiv() and bmod() in list context. [perl #124300]
142
143 Correct C<< Math::BigInt->new() >> for non-integer input.  [perl #124325]
144
145 Speed up Math::BigFloat -> blog(). [perl #124382]
146
147 Fix bug in Math::BigFloat's bceil() and bint() methods. [perl #124412]
148
149 =item *
150
151 L<Math::BigRat> has been upgraded from version 0.2608 to 0.260801.
152
153 Correct the behaviour of bdiv() and bmod() in list context. [perl #124303]
154
155 =item *
156
157 L<Module::Metadata> has been upgraded from version 1.000026 to 1.000027.
158
159 =item *
160
161 L<perl5db.pl> has been upgraded from version 1.49 to 1.49_01.
162
163 User actions are no longer evaluated after the script under the
164 debugger finishes.  [perl #71678]
165
166 =back
167
168 =head2 Removed Modules and Pragmata
169
170 =over 4
171
172 =item *
173
174 XXX
175
176 =back
177
178 =head1 Documentation
179
180 XXX Changes to files in F<pod/> go here.  Consider grouping entries by
181 file and be sure to link to the appropriate page, e.g. L<perlfunc>.
182
183 =head2 New Documentation
184
185 XXX Changes which create B<new> files in F<pod/> go here.
186
187 =head3 L<XXX>
188
189 XXX Description of the purpose of the new file here
190
191 =head2 Changes to Existing Documentation
192
193 XXX Changes which significantly change existing files in F<pod/> go here.
194 However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
195 section.
196
197 =head3 L<XXX>
198
199 =over 4
200
201 =item *
202
203 XXX Description of the change here
204
205 =back
206
207 =head1 Diagnostics
208
209 The following additions or changes have been made to diagnostic output,
210 including warnings and fatal error messages.  For the complete list of
211 diagnostic messages, see L<perldiag>.
212
213 XXX New or changed warnings emitted by the core's C<C> code go here.  Also
214 include any changes in L<perldiag> that reconcile it to the C<C> code.
215
216 =head2 New Diagnostics
217
218 XXX Newly added diagnostic messages go under here, separated into New Errors
219 and New Warnings
220
221 =head3 New Errors
222
223 =over 4
224
225 =item *
226
227 XXX L<message|perldiag/"message">
228
229 =back
230
231 =head3 New Warnings
232
233 =over 4
234
235 =item *
236
237 XXX L<message|perldiag/"message">
238
239 =back
240
241 =head2 Changes to Existing Diagnostics
242
243 XXX Changes (i.e. rewording) of diagnostic messages go here
244
245 =over 4
246
247 =item *
248
249 XXX Describe change here
250
251 =back
252
253 =head1 Utility Changes
254
255 XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
256 Most of these are built within the directory F<utils>.
257
258 [ List utility changes as a =head2 entry for each utility and =item
259 entries for each change
260 Use L<XXX> with program names to get proper documentation linking. ]
261
262 =head2 L<XXX>
263
264 =over 4
265
266 =item *
267
268 XXX
269
270 =back
271
272 =head1 Configuration and Compilation
273
274 XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
275 go here.  Any other changes to the Perl build process should be listed here.
276 However, any platform-specific changes should be listed in the
277 L</Platform Support> section, instead.
278
279 [ List changes as a =item entry ].
280
281 =over 4
282
283 =item *
284
285 XXX
286
287 =back
288
289 =head1 Testing
290
291 XXX Any significant changes to the testing of a freshly built perl should be
292 listed here.  Changes which create B<new> files in F<t/> go here as do any
293 large changes to the testing harness (e.g. when parallel testing was added).
294 Changes to existing files in F<t/> aren't worth summarizing, although the bugs
295 that they represent may be covered elsewhere.
296
297 [ List each test improvement as a =item entry ]
298
299 =over 4
300
301 =item *
302
303 XXX
304
305 =back
306
307 =head1 Platform Support
308
309 XXX Any changes to platform support should be listed in the sections below.
310
311 [ Within the sections, list each platform as a =item entry with specific
312 changes as paragraphs below it. ]
313
314 =head2 New Platforms
315
316 XXX List any platforms that this version of perl compiles on, that previous
317 versions did not.  These will either be enabled by new files in the F<hints/>
318 directories, or new subdirectories and F<README> files at the top level of the
319 source tree.
320
321 =over 4
322
323 =item XXX-some-platform
324
325 XXX
326
327 =back
328
329 =head2 Discontinued Platforms
330
331 XXX List any platforms that this version of perl no longer compiles on.
332
333 =over 4
334
335 =item XXX-some-platform
336
337 XXX
338
339 =back
340
341 =head2 Platform-Specific Notes
342
343 XXX List any changes for specific platforms.  This could include configuration
344 and compilation changes or changes in portability/compatibility.  However,
345 changes within modules for platforms should generally be listed in the
346 L</Modules and Pragmata> section.
347
348 =over 4
349
350 =item Win32
351
352 =over
353
354 =item *
355
356 Visual C++ 2013 builds will now execute on XP and higher. Previously they would
357 only execute on Vista and higher.
358
359 =back
360
361 =back
362
363 =head1 Internal Changes
364
365 XXX Changes which affect the interface available to C<XS> code go here.  Other
366 significant internal changes for future core maintainers should be noted as
367 well.
368
369 [ List each change as a =item entry ]
370
371 =over 4
372
373 =item *
374
375 XXX
376
377 =back
378
379 =head1 Selected Bug Fixes
380
381 XXX Important bug fixes in the core language are summarized here.  Bug fixes in
382 files 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
390 Duplicating a closed file handle for write no longer creates a
391 filename of the form F<GLOB(0xXXXXXXXX)>.  [perl #125115]
392
393 =back
394
395 =head1 Known Problems
396
397 XXX Descriptions of platform agnostic bugs we know we can't fix go here.  Any
398 tests that had to be C<TODO>ed for the release would be noted here.  Unfixed
399 platform specific bugs also go here.
400
401 [ List each fix as a =item entry ]
402
403 =over 4
404
405 =item *
406
407 XXX
408
409 =back
410
411 =head1 Errata From Previous Releases
412
413 =over 4
414
415 =item *
416
417 XXX Add anything here that we forgot to add, or were mistaken about, in
418 the perldelta of a previous release.
419
420 =back
421
422 =head1 Obituary
423
424 XXX If any significant core contributor has died, we've added a short obituary
425 here.
426
427 =head1 Acknowledgements
428
429 XXX Generate this with:
430
431   perl Porting/acknowledgements.pl v5.23.0..HEAD
432
433 =head1 Reporting Bugs
434
435 If you find what you think is a bug, you might check the articles recently
436 posted to the comp.lang.perl.misc newsgroup and the perl bug database at
437 https://rt.perl.org/ .  There may also be information at
438 http://www.perl.org/ , the Perl Home Page.
439
440 If you believe you have an unreported bug, please run the L<perlbug> program
441 included with your release.  Be sure to trim your bug down to a tiny but
442 sufficient test case.  Your bug report, along with the output of C<perl -V>,
443 will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
444
445 If the bug you are reporting has security implications, which make it
446 inappropriate to send to a publicly archived mailing list, then please send it
447 to perl5-security-report@perl.org.  This points to a closed subscription
448 unarchived mailing list, which includes all the core committers, who will be
449 able to help assess the impact of issues, figure out a resolution, and help
450 co-ordinate the release of patches to mitigate or fix the problem across all
451 platforms on which Perl is supported.  Please only use this address for
452 security issues in the Perl core, not for modules independently distributed on
453 CPAN.
454
455 =head1 SEE ALSO
456
457 The F<Changes> file for an explanation of how to view exhaustive details on
458 what changed.
459
460 The F<INSTALL> file for how to build Perl.
461
462 The F<README> file for general stuff.
463
464 The F<Artistic> and F<Copying> files for copyright information.
465
466 =cut