This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Implement the fc keyword and the \F string escape.
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
c1e74734
CBW
5[ this is a template for a new perldelta file. Any text flagged as
6XXX needs to be processed before release. ]
ad32999b 7
c1e74734 8perldelta - what is new for perl v5.15.8
88c5c971 9
c1e74734 10=head1 DESCRIPTION
8f12b018 11
c1e74734
CBW
12This document describes differences between the 5.15.7 release and
13the 5.15.8 release.
8f12b018 14
c1e74734
CBW
15If you are upgrading from an earlier release such as 5.15.6, first read
16L<perl5157delta>, which describes differences between 5.15.6 and
175.15.7.
26afcec5 18
c1e74734 19=head1 Notice
8f12b018 20
c1e74734 21XXX Any important notices here
d7fbd56d 22
c1e74734 23=head1 Core Enhancements
d7fbd56d 24
c1e74734
CBW
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.
d7fbd56d 28
c1e74734 29[ List each enhancement as a =head2 entry ]
711a3903 30
66cbab2c
KW
31=head2 Improved ability to mix locales and Unicode, including UTF-8 locales
32
33An optional parameter has been added to C<use locale>
34
35 use locale ':not_characters';
36
37which tells Perl to use all but the C<LC_CTYPE> and C<LC_COLLATE>
38portions of the current locale. Instead, the character set is assumed
39to be Unicode. This allows locales and Unicode to be seamlessly mixed,
40including the increasingly frequent UTF-8 locales. When using this
41hybrid form of locales, the C<:locale> layer to the L<open> pragma can
42be used to interface with the file system, and there are CPAN modules
43available for ARGV and environment variable conversions.
44
45Full details are in L<perllocale>.
46
c1e74734 47=head1 Security
711a3903 48
c1e74734
CBW
49XXX Any security-related notices go here. In particular, any security
50vulnerabilities closed should be noted here rather than in the
51L</Selected Bug Fixes> section.
711a3903 52
c1e74734 53[ List each security issue as a =head2 entry ]
6ba817f3 54
c1e74734 55=head1 Incompatible Changes
6ba817f3 56
c1e74734 57XXX For a release on a stable branch, this section aspires to be:
6b339779 58
c1e74734
CBW
59 There are no changes intentionally incompatible with 5.XXX.XXX
60 If any exist, they are bugs, and we request that you submit a
61 report. See L</Reporting Bugs> below.
6b339779 62
c1e74734 63[ List each incompatible change as a =head2 entry ]
b240fc0f 64
c1e74734 65=head1 Deprecations
b240fc0f 66
c1e74734
CBW
67XXX Any deprecated features, syntax, modules etc. should be listed here.
68In particular, deprecated modules should be listed here even if they are
69listed as an updated module in the L</Modules and Pragmata> section.
4e6ab4ad 70
c1e74734 71[ List each deprecation as a =head2 entry ]
4e6ab4ad 72
c1e74734 73=head1 Performance Enhancements
79e10968 74
c1e74734
CBW
75XXX Changes which enhance performance without changing behaviour go here. There
76may well be none in a stable release.
79e10968 77
c1e74734 78[ List each enhancement as a =item entry ]
ea88c40c 79
c1e74734 80=over 4
9d055b1a
CBW
81
82=item *
83
c1e74734 84XXX
cadced9f 85
c1e74734 86=back
cadced9f 87
c1e74734 88=head1 Modules and Pragmata
cadced9f 89
c1e74734
CBW
90XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
91go here. If Module::CoreList is updated, generate an initial draft of the
92following sections using F<Porting/corelist-perldelta.pl>, which prints stub
93entries to STDOUT. Results can be pasted in place of the '=head2' entries
94below. A paragraph summary for important changes should then be added by hand.
95In an ideal world, dual-life modules would have a F<Changes> file that could be
96cribbed.
cadced9f 97
c1e74734 98[ Within each section, list entries as a =item entry ]
07feb684 99
c1e74734 100=head2 New Modules and Pragmata
cadced9f 101
c1e74734 102=over 4
632c5d30
NC
103
104=item *
105
c1e74734 106XXX
4e6e9b23 107
c1e74734 108=back
4e6e9b23 109
c1e74734 110=head2 Updated Modules and Pragmata
4e6e9b23 111
c1e74734 112=over 4
1887da8c
RS
113
114=item *
115
76f546a2
CBW
116L<Compress::Raw::Bzip2> has been upgraded from version 2.045 to version 2.047.
117
118=item *
119
589c1691
CBW
120L<Compress::Raw::Zlib> has been upgraded from version 2.045 to version 2.047.
121
122=item *
123
422d6414
CBW
124L<Compress::Zlib> has been upgraded from version 2.046 to version 2.047.
125
126=item *
127
b34385a6 128L<DB_File> has been upgraded from version 1.824 to version 1.826.
acb29889
CBW
129
130=item *
131
1051d5b5 132L<Pod::Parser> has been upgraded from version 1.37 to version 1.51.
88c5c971 133
2a7afa74
NC
134=item *
135
136L<Unicode::UCD> has been upgraded from version 0.39 to 0.40.
137
138The only change is to fix a formatting error in the Pod.
139
c1e74734 140=back
c0504019 141
c1e74734 142=head2 Removed Modules and Pragmata
937a45d0 143
c1e74734 144=over 4
937a45d0 145
ef337e16
CBW
146=item *
147
c1e74734 148XXX
ef337e16 149
7f28d7ed 150=back
679b54e7 151
52deee2e 152=head1 Documentation
3c7c5233 153
c1e74734
CBW
154XXX Changes to files in F<pod/> go here. Consider grouping entries by
155file and be sure to link to the appropriate page, e.g. L<perlfunc>.
a71d67b1 156
c1e74734 157=head2 New Documentation
cadced9f 158
c1e74734 159XXX Changes which create B<new> files in F<pod/> go here.
cadced9f 160
c1e74734 161=head3 L<XXX>
cadced9f 162
c1e74734 163XXX Description of the purpose of the new file here
cadced9f 164
c1e74734 165=head2 Changes to Existing Documentation
cadced9f 166
c1e74734
CBW
167XXX Changes which significantly change existing files in F<pod/> go here.
168However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
169section.
cadced9f 170
c1e74734 171=head3 L<XXX>
7e7629fa 172
52deee2e 173=over 4
7e7629fa
FC
174
175=item *
176
c1e74734 177XXX Description of the change here
c2654555 178
52deee2e 179=back
85ca3be7 180
52deee2e 181=head1 Diagnostics
85ca3be7 182
52deee2e
DR
183The following additions or changes have been made to diagnostic output,
184including warnings and fatal error messages. For the complete list of
185diagnostic messages, see L<perldiag>.
7788a270 186
c1e74734
CBW
187XXX New or changed warnings emitted by the core's C<C> code go here. Also
188include any changes in L<perldiag> that reconcile it to the C<C> code.
6138a722 189
c1e74734
CBW
190[ Within each section, list entries as a =item entry that links to perldiag,
191 e.g.
a47fb3fe 192
c1e74734 193 =item *
4888c563 194
c1e74734
CBW
195 L<Invalid version object|perldiag/"Invalid version object">
196]
a3f52e2e 197
c1e74734 198=head2 New Diagnostics
52272450 199
c1e74734 200XXX Newly added diagnostic messages go here
52272450 201
c1e74734 202=head3 New Errors
a47fb3fe 203
0aaeb177 204=over 4
7ef25837 205
6d110ad0
FC
206=item *
207
c1e74734 208XXX L<message|perldiag/"message">
604a99bd 209
c1e74734 210=back
ea88c40c 211
c1e74734 212=head3 New Warnings
ea88c40c 213
c1e74734 214=over 4
ea88c40c
FC
215
216=item *
217
c1e74734 218XXX L<message|perldiag/"message">
ea88c40c 219
6d110ad0
FC
220=back
221
c1e74734
CBW
222=head2 Changes to Existing Diagnostics
223
224XXX Changes (i.e. rewording) of diagnostic messages go here
cadced9f
FC
225
226=over 4
227
228=item *
229
c1e74734 230XXX Describe change here
cadced9f
FC
231
232=back
233
0aaeb177 234=head1 Utility Changes
9cfd094e 235
c1e74734
CBW
236XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
237here. Most of these are built within the directories F<utils> and F<x2p>.
d7fbd56d 238
c1e74734
CBW
239[ List utility changes as a =head3 entry for each utility and =item
240entries for each change
241Use L<XXX> with program names to get proper documentation linking. ]
d7fbd56d 242
c1e74734 243=head3 L<XXX>
d7fbd56d 244
c1e74734 245=over 4
ba91b4f3 246
b18aa002
FC
247=item *
248
c1e74734 249XXX
b18aa002 250
52deee2e 251=back
ba91b4f3 252
52deee2e 253=head1 Configuration and Compilation
f4912a50 254
c1e74734
CBW
255XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
256go here. Any other changes to the Perl build process should be listed here.
257However, any platform-specific changes should be listed in the
258L</Platform Support> section, instead.
a3f52e2e 259
c1e74734 260[ List changes as a =item entry ].
a3f52e2e 261
0aaeb177 262=over 4
ad32999b 263
f4912a50 264=item *
ad32999b 265
c1e74734 266XXX
c15f899f 267
7f28d7ed 268=back
ad32999b 269
c1e74734 270=head1 Testing
39de7394 271
c1e74734
CBW
272XXX Any significant changes to the testing of a freshly built perl should be
273listed here. Changes which create B<new> files in F<t/> go here as do any
274large changes to the testing harness (e.g. when parallel testing was added).
275Changes to existing files in F<t/> aren't worth summarising, although the bugs
276that they represent may be covered elsewhere.
39de7394 277
c1e74734 278[ List each test improvement as a =item entry ]
39de7394 279
c1e74734 280=over 4
5dd80d85 281
52272450
FC
282=item *
283
c1e74734 284XXX
52272450 285
52deee2e 286=back
5dd80d85 287
c1e74734 288=head1 Platform Support
52272450 289
c1e74734 290XXX Any changes to platform support should be listed in the sections below.
52272450 291
c1e74734
CBW
292[ Within the sections, list each platform as a =item entry with specific
293changes as paragraphs below it. ]
ad266194 294
c1e74734 295=head2 New Platforms
ad266194 296
c1e74734
CBW
297XXX List any platforms that this version of perl compiles on, that previous
298versions did not. These will either be enabled by new files in the F<hints/>
299directories, or new subdirectories and F<README> files at the top level of the
300source tree.
ad266194 301
c1e74734 302=over 4
838cf719 303
c1e74734 304=item XXX-some-platform
838cf719 305
c1e74734 306XXX
b00f6edb 307
c1e74734 308=back
b00f6edb 309
c1e74734 310=head2 Discontinued Platforms
7a3fd9ed 311
c1e74734 312XXX List any platforms that this version of perl no longer compiles on.
7a3fd9ed 313
c1e74734 314=over 4
1a50d74b 315
c1e74734 316=item XXX-some-platform
1a50d74b 317
c1e74734 318XXX
ea88c40c 319
c1e74734 320=back
ea88c40c 321
c1e74734 322=head2 Platform-Specific Notes
ea88c40c 323
c1e74734
CBW
324XXX List any changes for specific platforms. This could include configuration
325and compilation changes or changes in portability/compatibility. However,
326changes within modules for platforms should generally be listed in the
327L</Modules and Pragmata> section.
ea88c40c 328
c1e74734 329=over 4
ea88c40c 330
c1e74734 331=item XXX-some-platform
ea88c40c 332
c1e74734 333XXX
ea88c40c 334
c1e74734 335=back
ea88c40c 336
c1e74734 337=head1 Internal Changes
ea88c40c 338
c1e74734
CBW
339XXX Changes which affect the interface available to C<XS> code go here.
340Other significant internal changes for future core maintainers should
341be noted as well.
ea88c40c 342
c1e74734 343[ List each change as a =item entry ]
ea88c40c 344
c1e74734 345=over 4
ea88c40c
FC
346
347=item *
348
c1e74734 349XXX
ea88c40c 350
c1e74734 351=back
ea88c40c 352
c1e74734 353=head1 Selected Bug Fixes
ea88c40c 354
c1e74734
CBW
355XXX Important bug fixes in the core language are summarised here.
356Bug fixes in files in F<ext/> and F<lib/> are best summarised in
357L</Modules and Pragmata>.
ea88c40c 358
c1e74734 359[ List each fix as a =item entry ]
ea88c40c 360
c1e74734 361=over 4
ea88c40c
FC
362
363=item *
364
6025c6dd
RS
365C<~~> now correctly handles the precedence of Any~~Object, and is not tricked
366by an overloaded object on the left-hand side.
ea88c40c
FC
367
368=back
369
c1e74734 370=head1 Known Problems
ea88c40c 371
c1e74734
CBW
372XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
373tests that had to be C<TODO>ed for the release would be noted here, unless
374they were specific to a particular platform (see below).
ea88c40c 375
c1e74734
CBW
376This is a list of some significant unfixed bugs, which are regressions
377from either 5.XXX.XXX or 5.XXX.XXX.
ea88c40c 378
c1e74734 379[ List each fix as a =item entry ]
ea88c40c 380
c1e74734 381=over 4
18af289e 382
c1e74734 383=item *
18af289e 384
c1e74734 385XXX
1ac442bc 386
c1e74734 387=back
c0154fe2 388
c1e74734 389=head1 Obituary
1ac442bc 390
c1e74734
CBW
391XXX If any significant core contributor has died, we've added a short obituary
392here.
84b2a83e 393
52deee2e 394=head1 Acknowledgements
8fe05716 395
c1e74734
CBW
396XXX Generate this with:
397
398 perl Porting/acknowledgements.pl v5.15.7..HEAD
29cf780c 399
44691e6f
AB
400=head1 Reporting Bugs
401
402If you find what you think is a bug, you might check the articles
52deee2e
DR
403recently posted to the comp.lang.perl.misc newsgroup and the perl
404bug database at http://rt.perl.org/perlbug/ . There may also be
44691e6f
AB
405information at http://www.perl.org/ , the Perl Home Page.
406
407If you believe you have an unreported bug, please run the L<perlbug>
52deee2e
DR
408program included with your release. Be sure to trim your bug down
409to a tiny but sufficient test case. Your bug report, along with the
410output of C<perl -V>, will be sent off to perlbug@perl.org to be
411analysed by the Perl porting team.
44691e6f
AB
412
413If the bug you are reporting has security implications, which make it
52deee2e
DR
414inappropriate to send to a publicly archived mailing list, then please send
415it to perl5-security-report@perl.org. This points to a closed subscription
416unarchived mailing list, which includes
417all the core committers, who will be able
418to help assess the impact of issues, figure out a resolution, and help
419co-ordinate the release of patches to mitigate or fix the problem across all
420platforms on which Perl is supported. Please only use this address for
421security issues in the Perl core, not for modules independently
422distributed on CPAN.
44691e6f
AB
423
424=head1 SEE ALSO
425
52deee2e
DR
426The F<Changes> file for an explanation of how to view exhaustive details
427on what changed.
44691e6f
AB
428
429The F<INSTALL> file for how to build Perl.
430
431The F<README> file for general stuff.
432
433The F<Artistic> and F<Copying> files for copyright information.
434
435=cut