This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add Perl::OSType as a dual-life core module
[perl5.git] / pod / perldelta.pod
CommitLineData
3a5c9134
CBW
1=encoding utf8
2
3=head1 NAME
4
9f7a72d0
Z
5[ this is a template for a new perldelta file. Any text flagged as
6XXX needs to be processed before release. ]
3a5c9134 7
9f7a72d0 8perldelta - what is new for perl v5.13.9
15e6cdd9 9
9f7a72d0 10=head1 DESCRIPTION
f6166f76 11
9f7a72d0
Z
12This document describes differences between the 5.13.8 release and
13the 5.13.9 release.
0d157ee2 14
9f7a72d0
Z
15If you are upgrading from an earlier release such as 5.13.7, first read
16L<perl5138delta>, which describes differences between 5.13.7 and
175.13.8.
0d157ee2 18
9f7a72d0 19=head1 Notice
0d157ee2 20
9f7a72d0 21XXX Any important notices here
0d157ee2 22
9f7a72d0 23=head1 Core Enhancements
0d157ee2 24
9f7a72d0
Z
25XXX New core language features go here. Summarise user-visible core language
26enhancements. Particularly prominent performance optimisations could go
27here, but most should go in the L</Performance Enhancements> section.
0d157ee2 28
9f7a72d0 29[ List each enhancement as a =head2 entry ]
0d157ee2 30
9f7a72d0 31=head1 Security
0d157ee2 32
9f7a72d0
Z
33XXX Any security-related notices go here. In particular, any security
34vulnerabilities closed should be noted here rather than in the
35L</Selected Bug Fixes> section.
bd8e866d 36
9f7a72d0 37[ List each security issue as a =head2 entry ]
bd8e866d 38
3a5c9134
CBW
39=head1 Incompatible Changes
40
9f7a72d0 41XXX For a release on a stable branch, this section aspires to be:
3a5c9134 42
9f7a72d0
Z
43 There are no changes intentionally incompatible with 5.XXX.XXX. If any
44 exist, they are bugs and reports are welcome.
3a5c9134 45
9f7a72d0 46[ List each incompatible change as a =head2 entry ]
d66e82e8 47
3a5c9134
CBW
48=head1 Deprecations
49
9f7a72d0
Z
50XXX Any deprecated features, syntax, modules etc. should be listed here.
51In particular, deprecated modules should be listed here even if they are
52listed as an updated module in the L</Modules and Pragmata> section.
5609d5f9 53
9f7a72d0 54[ List each deprecation as a =head2 entry ]
5609d5f9 55
9f7a72d0 56=head1 Performance Enhancements
5609d5f9 57
9f7a72d0
Z
58XXX Changes which enhance performance without changing behaviour go here. There
59may well be none in a stable release.
5609d5f9 60
9f7a72d0 61[ List each enhancement as a =item entry ]
3a5c9134
CBW
62
63=over 4
64
65=item *
66
9f7a72d0 67XXX
e1165778 68
9f7a72d0 69=back
121e1895 70
9f7a72d0 71=head1 Modules and Pragmata
2638c0ff 72
9f7a72d0
Z
73XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
74go here. If Module::CoreList is updated, generate an initial draft of the
75following sections using F<Porting/corelist-perldelta.pl>, which prints stub
76entries to STDOUT. Results can be pasted in place of the '=head2' entries
77below. A paragraph summary for important changes should then be added by hand.
78In an ideal world, dual-life modules would have a F<Changes> file that could be
79cribbed.
2638c0ff 80
9f7a72d0 81[ Within each section, list entries as a =item entry ]
17096837 82
9f7a72d0 83=head2 New Modules and Pragmata
2638c0ff 84
9f7a72d0 85=over 4
17096837 86
e1165778
Z
87=item *
88
e8a07a12
DG
89L<CPAN::Meta::YAML> 0.002 has been added as a dual-life module. It supports a
90subset of YAML sufficient for reading and writing META.yml and MYMETA.yml files
91included with CPAN distributions or generated by the module installation
92toolchain. It should not be used for any other general YAML parsing or
93generation task.
17096837 94
935c8d19
DG
95=item *
96
97L<Perl::OSType> 1.002 has been added as a dual-life module. It maps Perl
98operating system names (e.g. 'dragonfly' or 'MSWin32') to more generic types
99with standardized names (e.g. "Unix" or "Windows"). It has been refactored
100out of Module::Build and ExtUtils::CBuilder and consolidates such mappings into
101a single location for easier maintenance.
102
9f7a72d0 103=back
e1165778 104
9f7a72d0 105=head2 Updated Modules and Pragmata
f295f417 106
9f7a72d0 107=over 4
17096837 108
f295f417
FC
109=item *
110
2a1594f6
CBW
111C<CGI> has been upgraded from version 3.50 to 3.51
112
113=item *
114
b85802c5 115C<Encode> has been upgraded from version 2.40 to 2.42
50afc8f8
CBW
116
117=item *
118
f5d41534
CBW
119C<threads> has been upgraded from version 1.81_03 to 1.82
120
121=item *
122
123C<threads::shared> has been upgraded from version 1.35 to 1.36
124
125=item *
126
23046b7e 127C<Time::Local> has been upgraded from version 1.1901_01 to 1.2000.
17096837 128
9f7a72d0 129=back
e1165778 130
9f7a72d0 131=head2 Removed Modules and Pragmata
b373eab8 132
9f7a72d0 133=over 4
b373eab8
FC
134
135=item *
136
9f7a72d0 137XXX
b6ae81ab 138
9f7a72d0 139=back
ca88a729 140
9f7a72d0 141=head1 Documentation
17096837 142
9f7a72d0
Z
143XXX Changes to files in F<pod/> go here. Consider grouping entries by
144file and be sure to link to the appropriate page, e.g. L<perlfunc>.
b6ae81ab 145
9f7a72d0 146=head2 New Documentation
e1165778 147
9f7a72d0 148XXX Changes which create B<new> files in F<pod/> go here.
17096837 149
9f7a72d0 150=head3 L<XXX>
e1165778 151
9f7a72d0 152XXX Description of the purpose of the new file here
e1165778 153
9f7a72d0 154=head2 Changes to Existing Documentation
17096837 155
9f7a72d0
Z
156XXX Changes which significantly change existing files in F<pod/> go here.
157However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
158section.
e1165778 159
9f7a72d0 160=head3 L<XXX>
d4238815 161
9f7a72d0 162=over 4
17096837 163
d4238815
FC
164=item *
165
9f7a72d0 166XXX Description of the change here
e1165778 167
9f7a72d0 168=back
17096837 169
9f7a72d0 170=head1 Diagnostics
17096837 171
9f7a72d0
Z
172The following additions or changes have been made to diagnostic output,
173including warnings and fatal error messages. For the complete list of
174diagnostic messages, see L<perldiag>.
e1165778 175
9f7a72d0
Z
176XXX New or changed warnings emitted by the core's C<C> code go here. Also
177include any changes in L<perldiag> that reconcile it to the C<C> code.
68adb2b0 178
9f7a72d0 179[ Within each section, list entries as a =item entry ]
17096837 180
9f7a72d0 181=head2 New Diagnostics
3a5c9134 182
9f7a72d0 183XXX Newly added diagnostic messages go here
17096837 184
9f7a72d0 185=over 4
17096837 186
c2e0289e
FC
187=item *
188
9f7a72d0 189XXX
17096837 190
9f7a72d0 191=back
e6f1cc4d 192
9f7a72d0 193=head2 Changes to Existing Diagnostics
e1165778 194
9f7a72d0 195XXX Changes (i.e. rewording) of diagnostic messages go here
17096837 196
9f7a72d0 197=over 4
17096837 198
e1165778
Z
199=item *
200
9f7a72d0 201XXX
17096837 202
3a5c9134
CBW
203=back
204
9f7a72d0 205=head1 Utility Changes
e1165778 206
9f7a72d0
Z
207XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
208here. Most of these are built within the directories F<utils> and F<x2p>.
e1165778 209
9f7a72d0
Z
210[ List utility changes as a =head3 entry for each utility and =item
211entries for each change
212Use L<XXX> with program names to get proper documentation linking. ]
e1165778 213
9f7a72d0 214=head3 L<XXX>
e1165778 215
9f7a72d0 216=over 4
e1165778
Z
217
218=item *
219
9f7a72d0 220XXX
e1165778 221
9f7a72d0 222=back
e1165778 223
9f7a72d0 224=head1 Configuration and Compilation
e1165778 225
9f7a72d0
Z
226XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
227go here. Any other changes to the Perl build process should be listed here.
228However, any platform-specific changes should be listed in the
229L</Platform Support> section, instead.
e1165778 230
9f7a72d0 231[ List changes as a =item entry ].
e1165778 232
9f7a72d0 233=over 4
3a5c9134
CBW
234
235=item *
236
9f7a72d0 237XXX
3a5c9134
CBW
238
239=back
240
9f7a72d0 241=head1 Testing
3a5c9134 242
9f7a72d0
Z
243XXX Any significant changes to the testing of a freshly built perl should be
244listed here. Changes which create B<new> files in F<t/> go here as do any
245large changes to the testing harness (e.g. when parallel testing was added).
246Changes to existing files in F<t/> aren't worth summarising, although the bugs
247that they represent may be covered elsewhere.
3a5c9134 248
9f7a72d0 249[ List each test improvement as a =item entry ]
3a5c9134 250
3a5c9134
CBW
251=over 4
252
253=item *
254
9f7a72d0 255XXX
3a5c9134
CBW
256
257=back
258
9f7a72d0 259=head1 Platform Support
3a5c9134 260
9f7a72d0 261XXX Any changes to platform support should be listed in the sections below.
3a5c9134 262
9f7a72d0
Z
263[ Within the sections, list each platform as a =item entry with specific
264changes as paragraphs below it. ]
3a5c9134 265
9f7a72d0 266=head2 New Platforms
3a5c9134 267
9f7a72d0
Z
268XXX List any platforms that this version of perl compiles on, that previous
269versions did not. These will either be enabled by new files in the F<hints/>
270directories, or new subdirectories and F<README> files at the top level of the
271source tree.
3a5c9134 272
3a5c9134
CBW
273=over 4
274
9f7a72d0 275=item XXX-some-platform
3a5c9134 276
9f7a72d0 277XXX
51bed910 278
3a5c9134
CBW
279=back
280
9f7a72d0
Z
281=head2 Discontinued Platforms
282
283XXX List any platforms that this version of perl no longer compiles on.
3a5c9134 284
3a5c9134
CBW
285=over 4
286
9f7a72d0 287=item XXX-some-platform
3a5c9134 288
9f7a72d0 289XXX
3a5c9134
CBW
290
291=back
292
3a5c9134
CBW
293=head2 Platform-Specific Notes
294
9f7a72d0
Z
295XXX List any changes for specific platforms. This could include configuration
296and compilation changes or changes in portability/compatibility. However,
297changes within modules for platforms should generally be listed in the
298L</Modules and Pragmata> section.
3a5c9134 299
9f7a72d0 300=over 4
3a5c9134 301
9f7a72d0 302=item XXX-some-platform
fb3a2d89 303
9f7a72d0 304XXX
fb3a2d89 305
3a5c9134
CBW
306=back
307
308=head1 Internal Changes
309
9f7a72d0
Z
310XXX Changes which affect the interface available to C<XS> code go here.
311Other significant internal changes for future core maintainers should
312be noted as well.
3a5c9134 313
9f7a72d0 314[ List each test improvement as a =item entry ]
3a5c9134 315
9f7a72d0 316=over 4
3a5c9134 317
c61b6d0f
FC
318=item *
319
0a0e3cc5
NC
320The opcode bodies for C<chop> and C<chomp> and for C<schop> and C<schomp> have
321been merged. The implementation functions C<Perl_do_chop()> and
322C<Perl_do_chomp()>, never part of the public API, have been merged and moved to
323a static function in F<pp.c>. This shrinks the perl binary slightly, and should
324not affect any code outside the core (unless it is relying on the order of side
325effects when C<chomp> is passed a I<list> of values).
c61b6d0f 326
3a5c9134
CBW
327=back
328
329=head1 Selected Bug Fixes
330
9f7a72d0
Z
331XXX Important bug fixes in the core language are summarised here.
332Bug fixes in files in F<ext/> and F<lib/> are best summarised in
333L</Modules and Pragmata>.
b373eab8 334
9f7a72d0 335[ List each fix as a =item entry ]
b373eab8 336
9f7a72d0 337=over 4
4c9d53d5 338
0c7420e7
FC
339=item *
340
9f7a72d0 341XXX
0c7420e7 342
9f7a72d0 343=back
460c4bfb 344
9f7a72d0 345=head1 Known Problems
460c4bfb 346
9f7a72d0
Z
347XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
348tests that had to be C<TODO>ed for the release would be noted here, unless
349they were specific to a particular platform (see below).
26de4ac8 350
9f7a72d0
Z
351This is a list of some significant unfixed bugs, which are regressions
352from either 5.XXX.XXX or 5.XXX.XXX.
26de4ac8 353
9f7a72d0 354[ List each fix as a =item entry ]
ab7fb400 355
9f7a72d0 356=over 4
ab7fb400 357
836d5805
Z
358=item *
359
9f7a72d0 360XXX
836d5805 361
3a5c9134
CBW
362=back
363
9f7a72d0 364=head1 Obituary
3a5c9134 365
9f7a72d0
Z
366XXX If any significant core contributor has died, we've added a short obituary
367here.
b0c3724f 368
9f7a72d0 369=head1 Acknowledgements
b0c3724f 370
9f7a72d0 371XXX The list of people to thank goes here.
3a5c9134
CBW
372
373=head1 Reporting Bugs
374
375If you find what you think is a bug, you might check the articles
376recently posted to the comp.lang.perl.misc newsgroup and the perl
377bug database at http://rt.perl.org/perlbug/ . There may also be
378information at http://www.perl.org/ , the Perl Home Page.
379
380If you believe you have an unreported bug, please run the L<perlbug>
381program included with your release. Be sure to trim your bug down
382to a tiny but sufficient test case. Your bug report, along with the
383output of C<perl -V>, will be sent off to perlbug@perl.org to be
384analysed by the Perl porting team.
385
386If the bug you are reporting has security implications, which make it
387inappropriate to send to a publicly archived mailing list, then please send
388it to perl5-security-report@perl.org. This points to a closed subscription
389unarchived mailing list, which includes all the core committers, who be able
390to help assess the impact of issues, figure out a resolution, and help
391co-ordinate the release of patches to mitigate or fix the problem across all
392platforms on which Perl is supported. Please only use this address for
393security issues in the Perl core, not for modules independently
394distributed on CPAN.
395
396=head1 SEE ALSO
397
398The F<Changes> file for an explanation of how to view exhaustive details
399on what changed.
400
401The F<INSTALL> file for how to build Perl.
402
403The F<README> file for general stuff.
404
405The F<Artistic> and F<Copying> files for copyright information.
406
407=cut