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