This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Remove the Rhapsody port.
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
6253ee75
DR
5[ this is a template for a new perldelta file. Any text flagged as XXX needs
6to be processed before release. ]
7
8perldelta - what is new for perl v5.17.8
e128ab2c 9
4eabcf70 10=head1 DESCRIPTION
6db9054f 11
6253ee75 12This document describes differences between the 5.17.7 release and the 5.17.8
e08634c5 13release.
6db9054f 14
6253ee75
DR
15If you are upgrading from an earlier release such as 5.17.6, first read
16L<perl5177delta>, which describes differences between 5.17.6 and 5.17.7.
bde9e88d 17
6253ee75 18=head1 Notice
86148eee 19
6253ee75 20XXX Any important notices here
dd271d7a 21
6253ee75 22=head1 Core Enhancements
dd271d7a 23
6253ee75
DR
24XXX New core language features go here. Summarize user-visible core language
25enhancements. Particularly prominent performance optimisations could go
26here, but most should go in the L</Performance Enhancements> section.
dd271d7a 27
6253ee75 28[ List each enhancement as a =head2 entry ]
dd271d7a 29
9d1a5160
KW
30=head2 Regular Expression Set Operations
31
32This is an experimental feature to allow matching against the the union,
33intersection, etc., of sets of code points, similar to
34L<Unicode::Regex::Set>. It can also be used to extend C</x> processing
35to [bracketed] character classes, and as a replacement of user-defined
36properties, allowing more complex expressions than they do. See
37L<perlre/(?[ ])>.
38
6253ee75 39=head1 Security
dd271d7a 40
6253ee75
DR
41XXX Any security-related notices go here. In particular, any security
42vulnerabilities closed should be noted here rather than in the
43L</Selected Bug Fixes> section.
dd271d7a 44
6253ee75 45[ List each security issue as a =head2 entry ]
dd271d7a 46
e14ac59b 47=head1 Incompatible Changes
90249f0a 48
6253ee75 49XXX For a release on a stable branch, this section aspires to be:
3ef6ec90 50
6253ee75
DR
51 There are no changes intentionally incompatible with 5.XXX.XXX
52 If any exist, they are bugs, and we request that you submit a
53 report. See L</Reporting Bugs> below.
3ef6ec90 54
6253ee75 55[ List each incompatible change as a =head2 entry ]
3ef6ec90 56
6253ee75 57=head1 Deprecations
4d7cd482 58
6253ee75
DR
59XXX Any deprecated features, syntax, modules etc. should be listed here. In
60particular, deprecated modules should be listed here even if they are listed as
61an updated module in the L</Modules and Pragmata> section.
b7c7d786 62
6253ee75 63[ List each deprecation as a =head2 entry ]
b7c7d786 64
143aeb96
KW
65=head2 Various XS-callable functions are now deprecated
66
67All the functions used to classify characters will be removed from a
68future version of Perl, and should not be used. With participating C
69compilers (e.g., gcc), compiling any file that uses any of these will
70generate a warning. These were not intended for public use; there are
71equivalent, faster, macros for most of them.
72See L<perlapi/Character classes>. The complete list (including some
73that were deprecated in 5.17.7) is:
74C<is_uni_alnum>, C<is_uni_alnumc>, C<is_uni_alnumc_lc>,
75C<is_uni_alnum_lc>, C<is_uni_alpha>, C<is_uni_alpha_lc>,
76C<is_uni_ascii>, C<is_uni_ascii_lc>, C<is_uni_blank>,
77C<is_uni_blank_lc>, C<is_uni_cntrl>, C<is_uni_cntrl_lc>,
78C<is_uni_digit>, C<is_uni_digit_lc>, C<is_uni_graph>,
79C<is_uni_graph_lc>, C<is_uni_idfirst>, C<is_uni_idfirst_lc>,
80C<is_uni_lower>, C<is_uni_lower_lc>, C<is_uni_print>,
81C<is_uni_print_lc>, C<is_uni_punct>, C<is_uni_punct_lc>,
82C<is_uni_space>, C<is_uni_space_lc>, C<is_uni_upper>,
83C<is_uni_upper_lc>, C<is_uni_xdigit>, C<is_uni_xdigit_lc>,
84C<is_utf8_alnum>, C<is_utf8_alnumc>, C<is_utf8_alpha>,
85C<is_utf8_ascii>, C<is_utf8_blank>, C<is_utf8_char>,
86C<is_utf8_cntrl>, C<is_utf8_digit>, C<is_utf8_graph>,
87C<is_utf8_idcont>, C<is_utf8_idfirst>, C<is_utf8_lower>,
88C<is_utf8_mark>, C<is_utf8_perl_space>, C<is_utf8_perl_word>,
89C<is_utf8_posix_digit>, C<is_utf8_print>, C<is_utf8_punct>,
90C<is_utf8_space>, C<is_utf8_upper>, C<is_utf8_xdigit>,
91C<is_utf8_xidcont>, C<is_utf8_xidfirst>.
92
93In addition these three functions that have never worked properly are
94deprecated:
95C<to_uni_lower_lc>, C<to_uni_title_lc>, and C<to_uni_upper_lc>.
96
6253ee75 97=head1 Performance Enhancements
4d7cd482 98
6253ee75
DR
99XXX Changes which enhance performance without changing behaviour go here.
100There may well be none in a stable release.
751611d4 101
6253ee75 102[ List each enhancement as a =item entry ]
751611d4 103
6253ee75 104=over 4
751611d4
FC
105
106=item *
107
6253ee75 108XXX
751611d4 109
6253ee75 110=back
751611d4 111
6253ee75 112=head1 Modules and Pragmata
751611d4 113
6253ee75
DR
114XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
115go here. If Module::CoreList is updated, generate an initial draft of the
116following sections using F<Porting/corelist-perldelta.pl>, which prints stub
117entries to STDOUT. Results can be pasted in place of the '=head2' entries
118below. A paragraph summary for important changes should then be added by hand.
119In an ideal world, dual-life modules would have a F<Changes> file that could be
120cribbed.
751611d4 121
6253ee75 122[ Within each section, list entries as a =item entry ]
751611d4 123
6253ee75 124=head2 New Modules and Pragmata
751611d4 125
6253ee75 126=over 4
751611d4
FC
127
128=item *
129
6253ee75 130XXX
751611d4
FC
131
132=back
133
6253ee75 134=head2 Updated Modules and Pragmata
86148eee 135
e14ac59b 136=over 4
7a7a10c7 137
e14ac59b 138=item *
7a7a10c7 139
6253ee75 140L<XXX> has been upgraded from version A.xx to B.yy.
7a7a10c7 141
e14ac59b 142=back
7a7a10c7 143
6253ee75 144=head2 Removed Modules and Pragmata
c387386a 145
e14ac59b 146=over 4
32209f41 147
e14ac59b 148=item *
5faa50e9 149
6253ee75 150XXX
b7c7d786 151
6253ee75 152=back
b7c7d786 153
6253ee75 154=head1 Documentation
b7c7d786 155
6253ee75
DR
156XXX Changes to files in F<pod/> go here. Consider grouping entries by
157file and be sure to link to the appropriate page, e.g. L<perlfunc>.
5faa50e9 158
6253ee75 159=head2 New Documentation
fe03d33b 160
6253ee75 161XXX Changes which create B<new> files in F<pod/> go here.
fe03d33b 162
6253ee75 163=head3 L<XXX>
e14ac59b 164
6253ee75 165XXX Description of the purpose of the new file here
11e375e0 166
e14ac59b 167=head2 Changes to Existing Documentation
11e375e0 168
6253ee75
DR
169XXX Changes which significantly change existing files in F<pod/> go here.
170However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
171section.
172
173=head3 L<XXX>
11e375e0 174
e14ac59b 175=over 4
e498bd59
RS
176
177=item *
178
6253ee75 179XXX Description of the change here
cb077ed2 180
5d8c8c8a 181=back
5f877a7f 182
e14ac59b
RS
183=head1 Diagnostics
184
185The following additions or changes have been made to diagnostic output,
186including warnings and fatal error messages. For the complete list of
187diagnostic messages, see L<perldiag>.
1ea91bbe 188
6253ee75
DR
189XXX New or changed warnings emitted by the core's C<C> code go here. Also
190include any changes in L<perldiag> that reconcile it to the C<C> code.
191
192=head2 New Diagnostics
193
194XXX Newly added diagnostic messages go under here, separated into New Errors
195and New Warnings
196
197=head3 New Errors
e14ac59b 198
5d8c8c8a 199=over 4
5faa50e9 200
e14ac59b 201=item *
ddb1bef5 202
6253ee75 203XXX L<message|perldiag/"message">
11e375e0 204
e14ac59b 205=back
11e375e0 206
6253ee75 207=head3 New Warnings
11e375e0 208
e14ac59b 209=over 4
11e375e0
FC
210
211=item *
212
5e0a247b
KW
213L<'%s' resolved to '\o{%s}%d'|perldiag/"'%s' resolved to '\o{%s}%d'">
214
215=item *
216
6253ee75 217XXX L<message|perldiag/"message">
463ea229 218
5e0a247b 219
6253ee75 220=back
463ea229 221
6253ee75 222=head2 Changes to Existing Diagnostics
463ea229 223
6253ee75 224XXX Changes (i.e. rewording) of diagnostic messages go here
463ea229 225
6253ee75 226=over 4
e14ac59b 227
6253ee75 228=item *
8b877d20 229
6253ee75 230XXX Describe change here
8b877d20 231
6253ee75 232=back
e078d89d 233
6253ee75 234=head1 Utility Changes
e078d89d 235
6253ee75
DR
236XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
237Most of these are built within the directories F<utils> and F<x2p>.
e078d89d 238
6253ee75
DR
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. ]
242
243=head3 L<XXX>
244
245=over 4
e078d89d
FC
246
247=item *
248
6253ee75 249XXX
e078d89d 250
6253ee75 251=back
e078d89d 252
6253ee75
DR
253=head1 Configuration and Compilation
254
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.
e078d89d 259
6253ee75 260[ List changes as a =item entry ].
e078d89d 261
6253ee75 262=over 4
e078d89d 263
b7c7d786
FC
264=item *
265
6253ee75 266XXX
b7c7d786 267
e14ac59b
RS
268=back
269
6253ee75 270=head1 Testing
e14ac59b 271
6253ee75
DR
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 summarizing, although the bugs
276that they represent may be covered elsewhere.
11e375e0 277
6253ee75 278[ List each test improvement as a =item entry ]
11e375e0 279
6253ee75 280=over 4
e14ac59b 281
fdea6f98
FC
282=item *
283
6253ee75 284XXX
fdea6f98 285
6253ee75 286=back
7cf3104f 287
6253ee75 288=head1 Platform Support
7cf3104f 289
6253ee75 290XXX Any changes to platform support should be listed in the sections below.
966f0fdb 291
6253ee75
DR
292[ Within the sections, list each platform as a =item entry with specific
293changes as paragraphs below it. ]
966f0fdb 294
6253ee75 295=head2 New Platforms
edc013cb 296
6253ee75
DR
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.
edc013cb 301
6253ee75 302=over 4
7b5dd02a 303
6253ee75 304=item XXX-some-platform
7b5dd02a 305
6253ee75 306XXX
e078d89d 307
6253ee75 308=back
e078d89d 309
6253ee75 310=head2 Discontinued Platforms
a0e45bac 311
6253ee75 312=over 4
139353f8 313
7eb35c03 314=item Rhapsody
139353f8 315
7eb35c03 316Support for Rhapsody has been removed.
ba535ffe 317
6253ee75 318=back
ba535ffe 319
6253ee75 320=head2 Platform-Specific Notes
52c09c59 321
6253ee75
DR
322XXX List any changes for specific platforms. This could include configuration
323and compilation changes or changes in portability/compatibility. However,
324changes within modules for platforms should generally be listed in the
325L</Modules and Pragmata> section.
52c09c59 326
6253ee75 327=over 4
12b847a2 328
5398666e 329=item Windows
12b847a2 330
5398666e
SH
331Perl can now be built using Microsoft's Visual C++ 2012 compiler by specifying
332CCTYPE=MSVC110 (or MSVC110FREE if you are using the free Express edition for
333Windows Desktop) in F<win32/Makefile>.
6e50262c 334
6253ee75 335=back
6e50262c 336
6253ee75 337=head1 Internal Changes
785fb813 338
6253ee75
DR
339XXX Changes which affect the interface available to C<XS> code go here. Other
340significant internal changes for future core maintainers should be noted as
341well.
785fb813 342
6253ee75 343[ List each change as a =item entry ]
f5778209 344
6253ee75 345=over 4
f5778209 346
216cf7fc
DR
347=item *
348
6253ee75 349XXX
216cf7fc 350
6253ee75 351=back
216cf7fc 352
6253ee75 353=head1 Selected Bug Fixes
216cf7fc 354
6253ee75
DR
355XXX Important bug fixes in the core language are summarized here. Bug fixes in
356files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
216cf7fc 357
6253ee75 358[ List each fix as a =item entry ]
216cf7fc 359
6253ee75 360=over 4
216cf7fc 361
6253ee75 362=item *
216cf7fc 363
e2beedf4
DD
364A bug in the core typemap caused any C types that map to the T_BOOL core
365typemap entry to not be set, updated, or modified when the T_BOOL variable was
366used in an OUTPUT: section with an exception for RETVAL. T_BOOL in an INPUT:
367section was not affected. Using a T_BOOL return type for an XSUB (RETVAL)
368was not affected. A side effect of fixing this bug is, if a T_BOOL is specified
369in the OUTPUT: section (which previous did nothing to the SV), and a read only
370SV (literal) is passed to the XSUB, croaks like "Modification of a read-only
371value attempted" will happen. [perl #115796]
216cf7fc 372
d76c0f4b
RS
373=item *
374
375On many platforms, providing a directory name as the script name caused perl
376to do nothing and report success. It should now universally report an error
377and exit nonzero. [perl #61362]
378
6253ee75 379=back
6c042f06 380
6253ee75 381=head1 Known Problems
6c042f06 382
6253ee75
DR
383XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
384tests that had to be C<TODO>ed for the release would be noted here. Unfixed
385platform specific bugs also go here.
216cf7fc 386
6253ee75 387[ List each fix as a =item entry ]
e14ac59b 388
6253ee75 389=over 4
3cf48cac 390
6253ee75 391=item *
3cf48cac 392
6253ee75 393XXX
05bee12a 394
6253ee75 395=back
f5b73711 396
6253ee75 397=head1 Obituary
f5b73711 398
6253ee75
DR
399XXX If any significant core contributor has died, we've added a short obituary
400here.
f5b73711 401
6253ee75 402=head1 Acknowledgements
f5b73711 403
6253ee75 404XXX Generate this with:
f5b73711 405
6253ee75 406 perl Porting/acknowledgements.pl v5.17.7..HEAD
f5b73711 407
44691e6f
AB
408=head1 Reporting Bugs
409
e08634c5
SH
410If you find what you think is a bug, you might check the articles recently
411posted to the comp.lang.perl.misc newsgroup and the perl bug database at
412http://rt.perl.org/perlbug/ . There may also be information at
413http://www.perl.org/ , the Perl Home Page.
44691e6f 414
e08634c5
SH
415If you believe you have an unreported bug, please run the L<perlbug> program
416included with your release. Be sure to trim your bug down to a tiny but
417sufficient test case. Your bug report, along with the output of C<perl -V>,
418will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
419
420If the bug you are reporting has security implications, which make it
e08634c5
SH
421inappropriate to send to a publicly archived mailing list, then please send it
422to perl5-security-report@perl.org. This points to a closed subscription
423unarchived mailing list, which includes all the core committers, who will be
424able to help assess the impact of issues, figure out a resolution, and help
f9001595 425co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
426platforms on which Perl is supported. Please only use this address for
427security issues in the Perl core, not for modules independently distributed on
428CPAN.
44691e6f
AB
429
430=head1 SEE ALSO
431
e08634c5
SH
432The F<Changes> file for an explanation of how to view exhaustive details on
433what changed.
44691e6f
AB
434
435The F<INSTALL> file for how to build Perl.
436
437The F<README> file for general stuff.
438
439The F<Artistic> and F<Copying> files for copyright information.
440
441=cut