This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add warnings for use of problematic code points
[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
6cf6332a 97L<Module::Metadata> 1.000003 has been added as a dual-life module. It gathers
e8b333e6
DG
98package and POD information from Perl module files. It is a standalone module
99based on Module::Build::ModuleInfo for use by other module installation
100toolchain components. Module::Build::ModuleInfo has been deprecated in
101favor of this module instead.
102
103=item *
104
935c8d19
DG
105L<Perl::OSType> 1.002 has been added as a dual-life module. It maps Perl
106operating system names (e.g. 'dragonfly' or 'MSWin32') to more generic types
107with standardized names (e.g. "Unix" or "Windows"). It has been refactored
108out of Module::Build and ExtUtils::CBuilder and consolidates such mappings into
109a single location for easier maintenance.
110
9f7a72d0 111=back
e1165778 112
9f7a72d0 113=head2 Updated Modules and Pragmata
f295f417 114
9f7a72d0 115=over 4
17096837 116
f295f417
FC
117=item *
118
6447e912
CBW
119C<Archive::Extract> has been upgraded from version 0.46 to 0.48
120
121=item *
122
89ae55b4
CBW
123C<Archive::Tar> has been upgraded from version 1.74 to 1.76
124
125=item *
126
2a1594f6
CBW
127C<CGI> has been upgraded from version 3.50 to 3.51
128
129=item *
130
f1aaabf8
CBW
131C<CPANPLUS> has been upgraded from version 0.9010 to 0.9011
132
133=item *
134
deb99cce
CBW
135C<CPANPLUS::Dist::Build> has been upgraded from 0.50 to 0.52
136
137=item *
138
b85802c5 139C<Encode> has been upgraded from version 2.40 to 2.42
50afc8f8
CBW
140
141=item *
142
ac066c2a 143C<File::Fetch> has been upgraded from version 0.28 to 0.30
f37ee46a
CBW
144
145=item *
146
147C<IPC::Cmd> has been upgraded from version 0.66 to 0.68
148
ac066c2a
CBW
149=item *
150
b5ce1198
CBW
151C<Log::Message> has been upgraded from version 0.02 to 0.04
152
153=item *
154
4fc94532
CBW
155C<Module::Load::Conditional> has been upgraded from 0.38 to 0.40
156
157=item *
158
0019012a
CBW
159C<Object::Accessor> has been upgraded from 0.36 to 0.38
160
161=item *
162
8cb3aa53
CBW
163C<Params::Check> has been upgraded from 0.26 to 0.28
164
165=item *
166
8e1e0801
CBW
167C<Term::UI> has been upgraded from 0.20 to 0.22
168
169=item *
170
f5d41534
CBW
171C<threads> has been upgraded from version 1.81_03 to 1.82
172
173=item *
174
175C<threads::shared> has been upgraded from version 1.35 to 1.36
176
177=item *
178
23046b7e 179C<Time::Local> has been upgraded from version 1.1901_01 to 1.2000.
17096837 180
9f7a72d0 181=back
e1165778 182
9f7a72d0 183=head2 Removed Modules and Pragmata
b373eab8 184
9f7a72d0 185=over 4
b373eab8
FC
186
187=item *
188
9f7a72d0 189XXX
b6ae81ab 190
9f7a72d0 191=back
ca88a729 192
9f7a72d0 193=head1 Documentation
17096837 194
9f7a72d0
Z
195XXX Changes to files in F<pod/> go here. Consider grouping entries by
196file and be sure to link to the appropriate page, e.g. L<perlfunc>.
b6ae81ab 197
9f7a72d0 198=head2 New Documentation
e1165778 199
9f7a72d0 200XXX Changes which create B<new> files in F<pod/> go here.
17096837 201
9f7a72d0 202=head3 L<XXX>
e1165778 203
9f7a72d0 204XXX Description of the purpose of the new file here
e1165778 205
9f7a72d0 206=head2 Changes to Existing Documentation
17096837 207
9f7a72d0
Z
208XXX Changes which significantly change existing files in F<pod/> go here.
209However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
210section.
e1165778 211
9f7a72d0 212=head3 L<XXX>
d4238815 213
9f7a72d0 214=over 4
17096837 215
d4238815
FC
216=item *
217
9f7a72d0 218XXX Description of the change here
e1165778 219
9f7a72d0 220=back
17096837 221
9f7a72d0 222=head1 Diagnostics
17096837 223
9f7a72d0
Z
224The following additions or changes have been made to diagnostic output,
225including warnings and fatal error messages. For the complete list of
226diagnostic messages, see L<perldiag>.
e1165778 227
9f7a72d0
Z
228XXX New or changed warnings emitted by the core's C<C> code go here. Also
229include any changes in L<perldiag> that reconcile it to the C<C> code.
68adb2b0 230
9f7a72d0 231[ Within each section, list entries as a =item entry ]
17096837 232
9f7a72d0 233=head2 New Diagnostics
3a5c9134 234
9f7a72d0 235XXX Newly added diagnostic messages go here
17096837 236
9f7a72d0 237=over 4
17096837 238
c2e0289e
FC
239=item *
240
9f7a72d0 241XXX
17096837 242
9f7a72d0 243=back
e6f1cc4d 244
9f7a72d0 245=head2 Changes to Existing Diagnostics
e1165778 246
9f7a72d0 247XXX Changes (i.e. rewording) of diagnostic messages go here
17096837 248
9f7a72d0 249=over 4
17096837 250
e1165778
Z
251=item *
252
9f7a72d0 253XXX
17096837 254
3a5c9134
CBW
255=back
256
9f7a72d0 257=head1 Utility Changes
e1165778 258
9f7a72d0
Z
259XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
260here. Most of these are built within the directories F<utils> and F<x2p>.
e1165778 261
9f7a72d0
Z
262[ List utility changes as a =head3 entry for each utility and =item
263entries for each change
264Use L<XXX> with program names to get proper documentation linking. ]
e1165778 265
9f7a72d0 266=head3 L<XXX>
e1165778 267
9f7a72d0 268=over 4
e1165778
Z
269
270=item *
271
9f7a72d0 272XXX
e1165778 273
9f7a72d0 274=back
e1165778 275
9f7a72d0 276=head1 Configuration and Compilation
e1165778 277
9f7a72d0
Z
278XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
279go here. Any other changes to the Perl build process should be listed here.
280However, any platform-specific changes should be listed in the
281L</Platform Support> section, instead.
e1165778 282
9f7a72d0 283[ List changes as a =item entry ].
e1165778 284
9f7a72d0 285=over 4
3a5c9134
CBW
286
287=item *
288
9f7a72d0 289XXX
3a5c9134
CBW
290
291=back
292
9f7a72d0 293=head1 Testing
3a5c9134 294
9f7a72d0
Z
295XXX Any significant changes to the testing of a freshly built perl should be
296listed here. Changes which create B<new> files in F<t/> go here as do any
297large changes to the testing harness (e.g. when parallel testing was added).
298Changes to existing files in F<t/> aren't worth summarising, although the bugs
299that they represent may be covered elsewhere.
3a5c9134 300
9f7a72d0 301[ List each test improvement as a =item entry ]
3a5c9134 302
3a5c9134
CBW
303=over 4
304
305=item *
306
9f7a72d0 307XXX
3a5c9134
CBW
308
309=back
310
9f7a72d0 311=head1 Platform Support
3a5c9134 312
9f7a72d0 313XXX Any changes to platform support should be listed in the sections below.
3a5c9134 314
9f7a72d0
Z
315[ Within the sections, list each platform as a =item entry with specific
316changes as paragraphs below it. ]
3a5c9134 317
9f7a72d0 318=head2 New Platforms
3a5c9134 319
9f7a72d0
Z
320XXX List any platforms that this version of perl compiles on, that previous
321versions did not. These will either be enabled by new files in the F<hints/>
322directories, or new subdirectories and F<README> files at the top level of the
323source tree.
3a5c9134 324
3a5c9134
CBW
325=over 4
326
9f7a72d0 327=item XXX-some-platform
3a5c9134 328
9f7a72d0 329XXX
51bed910 330
3a5c9134
CBW
331=back
332
9f7a72d0
Z
333=head2 Discontinued Platforms
334
335XXX List any platforms that this version of perl no longer compiles on.
3a5c9134 336
3a5c9134
CBW
337=over 4
338
9f7a72d0 339=item XXX-some-platform
3a5c9134 340
9f7a72d0 341XXX
3a5c9134
CBW
342
343=back
344
3a5c9134
CBW
345=head2 Platform-Specific Notes
346
9f7a72d0
Z
347XXX List any changes for specific platforms. This could include configuration
348and compilation changes or changes in portability/compatibility. However,
349changes within modules for platforms should generally be listed in the
350L</Modules and Pragmata> section.
3a5c9134 351
9f7a72d0 352=over 4
3a5c9134 353
9f7a72d0 354=item XXX-some-platform
fb3a2d89 355
9f7a72d0 356XXX
fb3a2d89 357
3a5c9134
CBW
358=back
359
360=head1 Internal Changes
361
9f7a72d0
Z
362XXX Changes which affect the interface available to C<XS> code go here.
363Other significant internal changes for future core maintainers should
364be noted as well.
3a5c9134 365
9f7a72d0 366[ List each test improvement as a =item entry ]
3a5c9134 367
9f7a72d0 368=over 4
3a5c9134 369
c61b6d0f
FC
370=item *
371
0a0e3cc5
NC
372The opcode bodies for C<chop> and C<chomp> and for C<schop> and C<schomp> have
373been merged. The implementation functions C<Perl_do_chop()> and
374C<Perl_do_chomp()>, never part of the public API, have been merged and moved to
375a static function in F<pp.c>. This shrinks the perl binary slightly, and should
376not affect any code outside the core (unless it is relying on the order of side
377effects when C<chomp> is passed a I<list> of values).
c61b6d0f 378
3a5c9134
CBW
379=back
380
381=head1 Selected Bug Fixes
382
9f7a72d0
Z
383XXX Important bug fixes in the core language are summarised here.
384Bug fixes in files in F<ext/> and F<lib/> are best summarised in
385L</Modules and Pragmata>.
b373eab8 386
9f7a72d0 387[ List each fix as a =item entry ]
b373eab8 388
9f7a72d0 389=over 4
4c9d53d5 390
0c7420e7
FC
391=item *
392
9f7a72d0 393XXX
0c7420e7 394
9f7a72d0 395=back
460c4bfb 396
9f7a72d0 397=head1 Known Problems
460c4bfb 398
9f7a72d0
Z
399XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
400tests that had to be C<TODO>ed for the release would be noted here, unless
401they were specific to a particular platform (see below).
26de4ac8 402
9f7a72d0
Z
403This is a list of some significant unfixed bugs, which are regressions
404from either 5.XXX.XXX or 5.XXX.XXX.
26de4ac8 405
9f7a72d0 406[ List each fix as a =item entry ]
ab7fb400 407
9f7a72d0 408=over 4
ab7fb400 409
836d5805
Z
410=item *
411
9f7a72d0 412XXX
836d5805 413
3a5c9134
CBW
414=back
415
9f7a72d0 416=head1 Obituary
3a5c9134 417
9f7a72d0
Z
418XXX If any significant core contributor has died, we've added a short obituary
419here.
b0c3724f 420
9f7a72d0 421=head1 Acknowledgements
b0c3724f 422
9f7a72d0 423XXX The list of people to thank goes here.
3a5c9134
CBW
424
425=head1 Reporting Bugs
426
427If you find what you think is a bug, you might check the articles
428recently posted to the comp.lang.perl.misc newsgroup and the perl
429bug database at http://rt.perl.org/perlbug/ . There may also be
430information at http://www.perl.org/ , the Perl Home Page.
431
432If you believe you have an unreported bug, please run the L<perlbug>
433program included with your release. Be sure to trim your bug down
434to a tiny but sufficient test case. Your bug report, along with the
435output of C<perl -V>, will be sent off to perlbug@perl.org to be
436analysed by the Perl porting team.
437
438If the bug you are reporting has security implications, which make it
439inappropriate to send to a publicly archived mailing list, then please send
440it to perl5-security-report@perl.org. This points to a closed subscription
441unarchived mailing list, which includes all the core committers, who be able
442to help assess the impact of issues, figure out a resolution, and help
443co-ordinate the release of patches to mitigate or fix the problem across all
444platforms on which Perl is supported. Please only use this address for
445security issues in the Perl core, not for modules independently
446distributed on CPAN.
447
448=head1 SEE ALSO
449
450The F<Changes> file for an explanation of how to view exhaustive details
451on what changed.
452
453The F<INSTALL> file for how to build Perl.
454
455The F<README> file for general stuff.
456
457The F<Artistic> and F<Copying> files for copyright information.
458
459=cut