This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta for #111782
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
61174fb5
Z
5[ this is a template for a new perldelta file. Any text flagged as
6XXX needs to be processed before release. ]
7
8perldelta - what is new for perl v5.17.1
27f00e3d 9
f9001595 10=head1 DESCRIPTION
2630d42b 11
61174fb5
Z
12This document describes differences between the 5.17.0 release and
13the 5.17.1 release.
7620cb10 14
f9001595 15If you are upgrading from an earlier release such as 5.16.0, first read
61174fb5
Z
16L<perl5170delta>, which describes differences between 5.16.0 and
175.17.0.
d7c042c9 18
61174fb5 19=head1 Notice
2e2b2571 20
61174fb5 21XXX Any important notices here
417a992d 22
61174fb5 23=head1 Core Enhancements
417a992d 24
61174fb5
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.
417a992d 28
61174fb5 29[ List each enhancement as a =head2 entry ]
075b9d7d 30
61174fb5 31=head1 Security
075b9d7d 32
61174fb5
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.
cadced9f 36
61174fb5 37[ List each security issue as a =head2 entry ]
30608892 38
61174fb5 39=head1 Incompatible Changes
30608892 40
61174fb5 41XXX For a release on a stable branch, this section aspires to be:
05c8f9ed 42
61174fb5
Z
43 There are no changes intentionally incompatible with 5.XXX.XXX
44 If any exist, they are bugs, and we request that you submit a
45 report. See L</Reporting Bugs> below.
05c8f9ed 46
fe3193b5
KW
47=head2 C<\N{BELL}> now refers to U+1F514 instead of U+0007
48
49Unicode 6.0 reused the name "BELL" for a different code point than it
50traditionally had meant. Since Perl v5.14, use of this name still
51referred to U+0007, but would raise a deprecated warning. Now, "BELL"
52refers to U+1F514, and the name for U+0007 is "ALERT". All the
53functions in L<charnames> have been correspondingly updated.
05c8f9ed 54
61174fb5 55=head1 Deprecations
ef7131e9 56
61174fb5
Z
57XXX Any deprecated features, syntax, modules etc. should be listed here.
58In particular, deprecated modules should be listed here even if they are
59listed as an updated module in the L</Modules and Pragmata> section.
ef7131e9 60
61174fb5 61[ List each deprecation as a =head2 entry ]
ef7131e9 62
61174fb5 63=head1 Performance Enhancements
95ce428c 64
61174fb5
Z
65XXX Changes which enhance performance without changing behaviour go here. There
66may well be none in a stable release.
c11980ad 67
61174fb5 68[ List each enhancement as a =item entry ]
05c8f9ed 69
f9001595 70=over 4
75ff5956 71
2630d42b 72=item *
c11980ad 73
61174fb5 74XXX
53de3ff0 75
61174fb5 76=back
ef7131e9 77
61174fb5 78=head1 Modules and Pragmata
ef7131e9 79
61174fb5
Z
80XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
81go here. If Module::CoreList is updated, generate an initial draft of the
82following sections using F<Porting/corelist-perldelta.pl>, which prints stub
83entries to STDOUT. Results can be pasted in place of the '=head2' entries
84below. A paragraph summary for important changes should then be added by hand.
85In an ideal world, dual-life modules would have a F<Changes> file that could be
86cribbed.
ef7131e9 87
61174fb5 88[ Within each section, list entries as a =item entry ]
435b0bdb 89
61174fb5 90=head2 New Modules and Pragmata
435b0bdb 91
61174fb5 92=over 4
be8dfbf7 93
435b0bdb
FC
94=item *
95
61174fb5 96XXX
83fb037c 97
61174fb5 98=back
83fb037c 99
61174fb5 100=head2 Updated Modules and Pragmata
83fb037c 101
61174fb5 102=over 4
83fb037c
FC
103
104=item *
105
c01b3876
SH
106L<ExtUtils::CBuilder> has been upgraded from version 0.280206 to 0.280208.
107
108Manifest files are now correctly embedded for those versions of VC++ which
109make use of them.
110
111=item *
112
4d219cc2
FC
113L<ExtUtils::CBuilder> has been upgraded from version 0.280206 to 0.280208.
114
115It no longer fails when trying to embed manifests on Windows
116[perl #111782, #111798].
117
118=item *
119
ff3f295c
NC
120L<File::DosGlob> has been upgraded from version 1.07 to 1.08.
121
122There are no visible changes, only minor internal refactorings.
123
124=item *
125
c506fc7e
FC
126L<File::Spec::Unix> has been upgraded from version 3.39_02 to 3.39_03.
127
128C<abs2rel> could produce incorrect results when given two relative paths or
129the root directory twice [perl #111510].
130
131=item *
132
1c633914
TC
133L<IO> has been upgraded from version 1.25_06 to version 1.25_07.
134
135C<sync()> can now be called on read only file handles [perl #64772].
f558db2f 136
66aa79e2
KW
137=item *
138
99565752
NC
139L<Pod::Html> has been upgraded from version 1.15_02 to 1.16.
140
141The option C<--libpods> has been re-instated. It is deprecated, and its use
142does nothing other than issue a warning that it is no longer supported.
143
144=item *
145
66aa79e2
KW
146L<Unicode::UCD> has been upgraded from version 0.43 to version 0.44.
147This adds a function L<all_casefolds()|Unicode::UCD/all_casefolds()>
148that returns all the casefolds.
149
61174fb5 150=back
f558db2f 151
61174fb5 152=head2 Removed Modules and Pragmata
e3329bf0 153
61174fb5 154=over 4
e3329bf0
FC
155
156=item *
157
61174fb5 158XXX
80b8b050 159
61174fb5 160=back
80b8b050 161
61174fb5 162=head1 Documentation
80b8b050 163
61174fb5
Z
164XXX Changes to files in F<pod/> go here. Consider grouping entries by
165file and be sure to link to the appropriate page, e.g. L<perlfunc>.
18d0dfa8 166
61174fb5 167=head2 New Documentation
843331c7 168
61174fb5 169XXX Changes which create B<new> files in F<pod/> go here.
53de3ff0 170
61174fb5 171=head3 L<XXX>
30608892 172
61174fb5 173XXX Description of the purpose of the new file here
30608892 174
61174fb5 175=head2 Changes to Existing Documentation
30608892 176
61174fb5
Z
177XXX Changes which significantly change existing files in F<pod/> go here.
178However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
179section.
c11980ad 180
61174fb5 181=head3 L<XXX>
ecd144ea 182
f9001595 183=over 4
05c8f9ed
RS
184
185=item *
186
61174fb5 187XXX Description of the change here
9dea6244 188
204b72a4 189=back
9dea6244 190
61174fb5 191=head1 Diagnostics
ef7131e9 192
61174fb5
Z
193The following additions or changes have been made to diagnostic output,
194including warnings and fatal error messages. For the complete list of
195diagnostic messages, see L<perldiag>.
ef7131e9 196
61174fb5
Z
197XXX New or changed warnings emitted by the core's C<C> code go here. Also
198include any changes in L<perldiag> that reconcile it to the C<C> code.
ef7131e9 199
61174fb5
Z
200[ Within each section, list entries as a =item entry that links to perldiag,
201 e.g.
ef7131e9 202
61174fb5 203 =item *
ef7131e9 204
61174fb5
Z
205 L<Invalid version object|perldiag/"Invalid version object">
206]
80b8b050 207
61174fb5 208=head2 New Diagnostics
80b8b050 209
61174fb5 210XXX Newly added diagnostic messages go here
80b8b050 211
61174fb5 212=head3 New Errors
80b8b050
Z
213
214=over 4
215
216=item *
217
61174fb5 218XXX L<message|perldiag/"message">
80b8b050 219
52deee2e 220=back
5dd80d85 221
f9001595 222=head3 New Warnings
05c8f9ed 223
f9001595 224=over 4
05c8f9ed
RS
225
226=item *
d5dc7001 227
61174fb5 228XXX L<message|perldiag/"message">
30608892 229
f9001595 230=back
05c8f9ed 231
61174fb5
Z
232=head2 Changes to Existing Diagnostics
233
234XXX Changes (i.e. rewording) of diagnostic messages go here
05c8f9ed 235
f9001595 236=over 4
05c8f9ed
RS
237
238=item *
239
61174fb5 240XXX Describe change here
ef7131e9 241
f9001595 242=back
05c8f9ed 243
61174fb5 244=head1 Utility Changes
05c8f9ed 245
61174fb5
Z
246XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
247here. Most of these are built within the directories F<utils> and F<x2p>.
05c8f9ed 248
61174fb5
Z
249[ List utility changes as a =head3 entry for each utility and =item
250entries for each change
251Use L<XXX> with program names to get proper documentation linking. ]
05c8f9ed 252
61174fb5 253=head3 L<XXX>
30608892 254
61174fb5 255=over 4
30608892 256
61174fb5 257=item *
30608892 258
61174fb5 259XXX
30608892 260
61174fb5 261=back
30608892 262
61174fb5 263=head1 Configuration and Compilation
30608892 264
61174fb5
Z
265XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
266go here. Any other changes to the Perl build process should be listed here.
267However, any platform-specific changes should be listed in the
268L</Platform Support> section, instead.
05c8f9ed 269
61174fb5 270[ List changes as a =item entry ].
05c8f9ed 271
f9001595 272=over 4
05c8f9ed
RS
273
274=item *
275
61174fb5 276XXX
53de3ff0 277
61174fb5 278=back
a3367fba 279
61174fb5 280=head1 Testing
a3367fba 281
61174fb5
Z
282XXX Any significant changes to the testing of a freshly built perl should be
283listed here. Changes which create B<new> files in F<t/> go here as do any
284large changes to the testing harness (e.g. when parallel testing was added).
285Changes to existing files in F<t/> aren't worth summarising, although the bugs
286that they represent may be covered elsewhere.
a3367fba 287
61174fb5 288[ List each test improvement as a =item entry ]
a3367fba 289
61174fb5 290=over 4
05c8f9ed 291
30608892
Z
292=item *
293
61174fb5 294XXX
30608892 295
f9001595 296=back
05c8f9ed 297
61174fb5 298=head1 Platform Support
05c8f9ed 299
61174fb5 300XXX Any changes to platform support should be listed in the sections below.
05c8f9ed 301
61174fb5
Z
302[ Within the sections, list each platform as a =item entry with specific
303changes as paragraphs below it. ]
05c8f9ed 304
61174fb5 305=head2 New Platforms
e2e06450 306
61174fb5
Z
307XXX List any platforms that this version of perl compiles on, that previous
308versions did not. These will either be enabled by new files in the F<hints/>
309directories, or new subdirectories and F<README> files at the top level of the
310source tree.
b9b99128 311
61174fb5 312=over 4
b9b99128 313
61174fb5 314=item XXX-some-platform
47fb883d 315
61174fb5 316XXX
47fb883d 317
61174fb5 318=back
5f0f4bc0 319
61174fb5 320=head2 Discontinued Platforms
5f0f4bc0 321
61174fb5 322XXX List any platforms that this version of perl no longer compiles on.
ba0d99ee 323
61174fb5 324=over 4
ba0d99ee 325
61174fb5 326=item XXX-some-platform
72035cb1 327
61174fb5 328XXX
72035cb1 329
61174fb5 330=back
ceb0881c 331
61174fb5 332=head2 Platform-Specific Notes
ceb0881c 333
61174fb5
Z
334XXX List any changes for specific platforms. This could include configuration
335and compilation changes or changes in portability/compatibility. However,
336changes within modules for platforms should generally be listed in the
337L</Modules and Pragmata> section.
89cbc6b8 338
61174fb5 339=over 4
89cbc6b8 340
4aa4c0a5 341=item Win32
c6b15a5a 342
4aa4c0a5
TC
343C<link> on Win32 now attempts to set C<$!> to more appropriate values
344based on the Win32 API error code. [perl #112272]
c6b15a5a 345
61174fb5 346=back
8e125188 347
61174fb5 348=head1 Internal Changes
8e125188 349
61174fb5
Z
350XXX Changes which affect the interface available to C<XS> code go here.
351Other significant internal changes for future core maintainers should
352be noted as well.
8e125188 353
61174fb5 354[ List each change as a =item entry ]
c4643160 355
61174fb5 356=over 4
c4643160 357
422287bf
FC
358=item *
359
61174fb5 360XXX
53de3ff0 361
61174fb5 362=back
422287bf 363
61174fb5 364=head1 Selected Bug Fixes
2de6ba8d 365
61174fb5
Z
366XXX Important bug fixes in the core language are summarised here.
367Bug fixes in files in F<ext/> and F<lib/> are best summarised in
368L</Modules and Pragmata>.
2de6ba8d 369
61174fb5 370[ List each fix as a =item entry ]
52c4b146 371
61174fb5 372=over 4
52c4b146 373
9aa9a888
KW
374=item *
375
7ade940c
KW
376Perl now works as well as can be expected on all releases of Unicode so
377far. In v5.16, it worked on Unicodes 6.0 and 6.1, but there were
378various bugs for earlier releases; the older the release the more
379problems.
9aa9a888 380
701da2e9
FC
381=item *
382
383C<vec> no longer produces "uninitialized" warnings in lvalue context
384[perl #9423].
385
d67d4c0e
FC
386=item *
387
388On optimisation involving fixed strings in regular expressions could cause
389a severe performance penalty in edge cases. This has been fixed
390[perl #76546].
391
61174fb5 392=back
53de3ff0 393
61174fb5 394=head1 Known Problems
53de3ff0 395
61174fb5
Z
396XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
397tests that had to be C<TODO>ed for the release would be noted here, unless
398they were specific to a particular platform (see below).
53de3ff0 399
61174fb5
Z
400This is a list of some significant unfixed bugs, which are regressions
401from either 5.XXX.XXX or 5.XXX.XXX.
53de3ff0 402
61174fb5 403[ List each fix as a =item entry ]
80b8b050 404
61174fb5 405=over 4
80b8b050 406
eb3d0a58
LT
407=item *
408
61174fb5 409XXX
eb3d0a58 410
2630d42b 411=back
e2e06450 412
61174fb5 413=head1 Obituary
c0154fe2 414
61174fb5
Z
415XXX If any significant core contributor has died, we've added a short obituary
416here.
d5dc7001 417
61174fb5 418=head1 Acknowledgements
d5dc7001 419
61174fb5 420XXX Generate this with:
f9001595 421
61174fb5 422 perl Porting/acknowledgements.pl v5.17.0..HEAD
29cf780c 423
44691e6f
AB
424=head1 Reporting Bugs
425
426If you find what you think is a bug, you might check the articles
52deee2e 427recently posted to the comp.lang.perl.misc newsgroup and the perl
f9001595
RS
428bug database at http://rt.perl.org/perlbug/ . There may also be
429information at http://www.perl.org/ , the Perl Home Page.
44691e6f
AB
430
431If you believe you have an unreported bug, please run the L<perlbug>
52deee2e
DR
432program included with your release. Be sure to trim your bug down
433to a tiny but sufficient test case. Your bug report, along with the
434output of C<perl -V>, will be sent off to perlbug@perl.org to be
435analysed by the Perl porting team.
44691e6f
AB
436
437If the bug you are reporting has security implications, which make it
f9001595
RS
438inappropriate to send to a publicly archived mailing list, then please send
439it to perl5-security-report@perl.org. This points to a closed subscription
440unarchived mailing list, which includes
441all the core committers, who will 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.
44691e6f
AB
447
448=head1 SEE ALSO
449
52deee2e
DR
450The F<Changes> file for an explanation of how to view exhaustive details
451on what changed.
44691e6f
AB
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