perldelta.pod: Fix misstatement
[perl.git] / pod / perldelta.pod
1 =encoding utf8
2
3 =head1 NAME
4
5 [ this is a template for a new perldelta file.  Any text flagged as XXX needs
6 to be processed before release. ]
7
8 perldelta - what is new for perl v5.17.9
9
10 =head1 DESCRIPTION
11
12 This document describes differences between the 5.17.8 release and the 5.17.9
13 release.
14
15 If you are upgrading from an earlier release such as 5.17.7, first read
16 L<perl5178delta>, which describes differences between 5.17.7 and 5.17.8.
17
18 =head1 Notice
19
20 XXX Any important notices here
21
22 =head1 Core Enhancements
23
24 XXX New core language features go here.  Summarize user-visible core language
25 enhancements.  Particularly prominent performance optimisations could go
26 here, but most should go in the L</Performance Enhancements> section.
27
28 [ List each enhancement as a =head2 entry ]
29
30 =head2 Interpolations now Accepted in Regular Expression Set Operations
31
32 Perl v5.17.8 introduced L<regular expression set operations|perlre/(?[ ])>.
33 They have now been expanded to allow the interpolation of a
34 previously-compiled set into a bigger set, like this:
35
36  my $thai_or_lao = qr/\p{Thai} + \p{Lao}/;
37  ...
38  qr/(?[ \p{Digit} & $thai_or_lao ])/;
39
40 =head1 Security
41
42 XXX Any security-related notices go here.  In particular, any security
43 vulnerabilities closed should be noted here rather than in the
44 L</Selected Bug Fixes> section.
45
46 [ List each security issue as a =head2 entry ]
47
48 =head1 Incompatible Changes
49
50 XXX For a release on a stable branch, this section aspires to be:
51
52     There are no changes intentionally incompatible with 5.XXX.XXX
53     If any exist, they are bugs, and we request that you submit a
54     report.  See L</Reporting Bugs> below.
55
56 [ List each incompatible change as a =head2 entry ]
57
58 =head1 Deprecations
59
60 XXX Any deprecated features, syntax, modules etc. should be listed here.  In
61 particular, deprecated modules should be listed here even if they are listed as
62 an updated module in the L</Modules and Pragmata> section.
63
64 [ List each deprecation as a =head2 entry ]
65
66 =head2 Deprecated Modules
67
68 The following modules will be removed from the core distribution in a
69 future release, and should be installed from CPAN instead. Distributions
70 on CPAN which require these should add them to their prerequisites. The
71 core versions of these modules C<warnings> will issue a deprecation warning.
72
73 You can silence these deprecation warnings by installing the modules
74 in question from CPAN.
75
76 =over
77
78 =item L<Archive::Extract>
79
80 =item L<B::Lint>
81
82 =item L<B::Lint::Debug>
83
84 =item L<CPANPLUS>
85
86 =item L<CPANPLUS::Backend>
87
88 =item L<CPANPLUS::Backend::RV>
89
90 =item L<CPANPLUS::Config>
91
92 =item L<CPANPLUS::Config::HomeEnv>
93
94 =item L<CPANPLUS::Configure>
95
96 =item C<CPANPLUS::Configure::Setup>
97
98 =item L<CPANPLUS::Dist>
99
100 =item L<CPANPLUS::Dist::Autobundle>
101
102 =item L<CPANPLUS::Dist::Base>
103
104 =item L<CPANPLUS::Dist::Build>
105
106 =item L<CPANPLUS::Dist::Build::Constants>
107
108 =item L<CPANPLUS::Dist::MM>
109
110 =item L<CPANPLUS::Dist::Sample>
111
112 =item L<CPANPLUS::Error>
113
114 =item L<CPANPLUS::Internals>
115
116 =item C<CPANPLUS::Internals::Constants>
117
118 =item C<CPANPLUS::Internals::Constants::Report>
119
120 =item L<CPANPLUS::Internals::Extract>
121
122 =item L<CPANPLUS::Internals::Fetch>
123
124 =item L<CPANPLUS::Internals::Report>
125
126 =item L<CPANPLUS::Internals::Search>
127
128 =item L<CPANPLUS::Internals::Source>
129
130 =item L<CPANPLUS::Internals::Source::Memory>
131
132 =item L<CPANPLUS::Internals::Source::SQLite>
133
134 =item C<CPANPLUS::Internals::Source::SQLite::Tie>
135
136 =item L<CPANPLUS::Internals::Utils>
137
138 =item C<CPANPLUS::Internals::Utils::Autoflush>
139
140 =item L<CPANPLUS::Module>
141
142 =item L<CPANPLUS::Module::Author>
143
144 =item L<CPANPLUS::Module::Author::Fake>
145
146 =item L<CPANPLUS::Module::Checksums>
147
148 =item L<CPANPLUS::Module::Fake>
149
150 =item C<CPANPLUS::Module::Signature>
151
152 =item L<CPANPLUS::Selfupdate>
153
154 =item L<CPANPLUS::Shell>
155
156 =item L<CPANPLUS::Shell::Classic>
157
158 =item L<CPANPLUS::Shell::Default>
159
160 =item L<CPANPLUS::Shell::Default::Plugins::CustomSource>
161
162 =item L<CPANPLUS::Shell::Default::Plugins::Remote>
163
164 =item L<CPANPLUS::Shell::Default::Plugins::Source>
165
166 =item L<Devel::InnerPackage>
167
168 =item L<Log::Message>
169
170 =item L<Log::Message::Config>
171
172 =item L<Log::Message::Handlers>
173
174 =item L<Log::Message::Item>
175
176 =item L<Log::Message::Simple>
177
178 =item L<Module::Pluggable>
179
180 =item L<Module::Pluggable::Object>
181
182 =item L<Object::Accessor>
183
184 =item L<Term::UI>
185
186 =item L<Term::UI::History>
187
188 =back
189
190 =head3 Deprecated Utilities
191
192 The following utilities will be removed from the core distribution in a
193 future release as their associated modules have been deprecated. They
194 will remain available with the applicable CPAN distribution.
195
196 =over
197
198 =item L<cpanp>
199
200 Included with L<CPANPLUS>.
201
202 =item C<cpanp-run-perl>
203
204 Included with L<CPANPLUS>.
205
206 =item L<cpan2dist>
207
208 Included with L<CPANPLUS>.
209
210 =item L<pod2latex>
211
212 The L<Pod::LaTeX> module was deprecated with 5.17.8.
213
214 =back
215
216 =head2 Five additional characters should be escaped in patterns with C</x>
217
218 When a regular expression pattern is compiled with C</x>, Perl treats 6
219 characters as white space to ignore, such as SPACE and TAB.  However,
220 Unicode recommends 11 characters be treated thusly.  In preparation to
221 conforming with this in a future Perl version, in the meantime, use of
222 any of the missing characters will raise a deprecation warning, unless
223 turned off.  The five characters are:
224 U+0085 NEXT LINE,
225 U+200E LEFT-TO-RIGHT MARK,
226 U+200F RIGHT-TO-LEFT MARK,
227 U+2028 LINE SEPARATOR,
228 and
229 U+2029 PARAGRAPH SEPARATOR.
230
231 =head1 Performance Enhancements
232
233 XXX Changes which enhance performance without changing behaviour go here.
234 There may well be none in a stable release.
235
236 [ List each enhancement as a =item entry ]
237
238 =over 4
239
240 =item *
241
242 XXX
243
244 =back
245
246 =head1 Modules and Pragmata
247
248 XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
249 go here.  If Module::CoreList is updated, generate an initial draft of the
250 following sections using F<Porting/corelist-perldelta.pl>, which prints stub
251 entries to STDOUT.  Results can be pasted in place of the '=head2' entries
252 below.  A paragraph summary for important changes should then be added by hand.
253 In an ideal world, dual-life modules would have a F<Changes> file that could be
254 cribbed.
255
256 [ Within each section, list entries as a =item entry ]
257
258 =head2 New Modules and Pragmata
259
260 =over 4
261
262 =item *
263
264 L<Config::Perl::V> version 0.16 has been added as a dual-lifed module.
265 It provides structured data retrieval of C<perl -V> output including
266 information only known to the C<perl> binary and not available via L<Config>.
267
268 =back
269
270 =head2 Updated Modules and Pragmata
271
272 =over 4
273
274 =item *
275
276 L<PerlIO::scalar> has been upgraded from version 0.15 to 0.16.
277
278 The buffer scalar supplied may now only contain code pounts 0xFF or
279 lower. [perl #109828]
280
281 =back
282
283 =head2 Removed Modules and Pragmata
284
285 =over 4
286
287 =item *
288
289 XXX
290
291 =back
292
293 =head1 Documentation
294
295 XXX Changes to files in F<pod/> go here.  Consider grouping entries by
296 file and be sure to link to the appropriate page, e.g. L<perlfunc>.
297
298 =head2 New Documentation
299
300 XXX Changes which create B<new> files in F<pod/> go here.
301
302 =head3 L<XXX>
303
304 XXX Description of the purpose of the new file here
305
306 =head2 Changes to Existing Documentation
307
308 XXX Changes which significantly change existing files in F<pod/> go here.
309 However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
310 section.
311
312 =head3 L<XXX>
313
314 =over 4
315
316 =item *
317
318 XXX Description of the change here
319
320 =back
321
322 =head1 Diagnostics
323
324 The following additions or changes have been made to diagnostic output,
325 including warnings and fatal error messages.  For the complete list of
326 diagnostic messages, see L<perldiag>.
327
328 XXX New or changed warnings emitted by the core's C<C> code go here.  Also
329 include any changes in L<perldiag> that reconcile it to the C<C> code.
330
331 =head2 New Diagnostics
332
333 XXX Newly added diagnostic messages go under here, separated into New Errors
334 and New Warnings
335
336 =head3 New Errors
337
338 =over 4
339
340 =item *
341
342 XXX L<message|perldiag/"message">
343
344 =back
345
346 =head3 New Warnings
347
348 =over 4
349
350 =item *
351
352 XXX L<message|perldiag/"message">
353
354 =back
355
356 =head2 Changes to Existing Diagnostics
357
358 XXX Changes (i.e. rewording) of diagnostic messages go here
359
360 =over 4
361
362 =item *
363
364 XXX Describe change here
365
366 =back
367
368 =head1 Utility Changes
369
370 XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
371 Most of these are built within the directories F<utils> and F<x2p>.
372
373 [ List utility changes as a =head3 entry for each utility and =item
374 entries for each change
375 Use L<XXX> with program names to get proper documentation linking. ]
376
377 =head3 L<XXX>
378
379 =over 4
380
381 =item *
382
383 XXX
384
385 =back
386
387 =head1 Configuration and Compilation
388
389 XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
390 go here.  Any other changes to the Perl build process should be listed here.
391 However, any platform-specific changes should be listed in the
392 L</Platform Support> section, instead.
393
394 [ List changes as a =item entry ].
395
396 =over 4
397
398 =item *
399
400 XXX
401
402 =back
403
404 =head1 Testing
405
406 XXX Any significant changes to the testing of a freshly built perl should be
407 listed here.  Changes which create B<new> files in F<t/> go here as do any
408 large changes to the testing harness (e.g. when parallel testing was added).
409 Changes to existing files in F<t/> aren't worth summarizing, although the bugs
410 that they represent may be covered elsewhere.
411
412 [ List each test improvement as a =item entry ]
413
414 =over 4
415
416 =item *
417
418 XXX
419
420 =back
421
422 =head1 Platform Support
423
424 XXX Any changes to platform support should be listed in the sections below.
425
426 [ Within the sections, list each platform as a =item entry with specific
427 changes as paragraphs below it. ]
428
429 =head2 New Platforms
430
431 XXX List any platforms that this version of perl compiles on, that previous
432 versions did not.  These will either be enabled by new files in the F<hints/>
433 directories, or new subdirectories and F<README> files at the top level of the
434 source tree.
435
436 =over 4
437
438 =item XXX-some-platform
439
440 XXX
441
442 =back
443
444 =head2 Discontinued Platforms
445
446 XXX List any platforms that this version of perl no longer compiles on.
447
448 =over 4
449
450 =item XXX-some-platform
451
452 XXX
453
454 =back
455
456 =head2 Platform-Specific Notes
457
458 XXX List any changes for specific platforms.  This could include configuration
459 and compilation changes or changes in portability/compatibility.  However,
460 changes within modules for platforms should generally be listed in the
461 L</Modules and Pragmata> section.
462
463 =over 4
464
465 =item XXX-some-platform
466
467 XXX
468
469 =back
470
471 =head1 Internal Changes
472
473 XXX Changes which affect the interface available to C<XS> code go here.  Other
474 significant internal changes for future core maintainers should be noted as
475 well.
476
477 [ List each change as a =item entry ]
478
479 =over 4
480
481 =item *
482
483 XXX
484
485 =back
486
487 =head1 Selected Bug Fixes
488
489 XXX Important bug fixes in the core language are summarized here.  Bug fixes in
490 files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
491
492 [ List each fix as a =item entry ]
493
494 =over 4
495
496 =item *
497
498 -DPERL_GLOBAL_STRUCT builds now free the global struct B<after>
499 they've finished using it.
500
501 =back
502
503 =head1 Known Problems
504
505 XXX Descriptions of platform agnostic bugs we know we can't fix go here.  Any
506 tests that had to be C<TODO>ed for the release would be noted here.  Unfixed
507 platform specific bugs also go here.
508
509 [ List each fix as a =item entry ]
510
511 =over 4
512
513 =item *
514
515 XXX
516
517 =back
518
519 =head1 Obituary
520
521 XXX If any significant core contributor has died, we've added a short obituary
522 here.
523
524 =head1 Acknowledgements
525
526 XXX Generate this with:
527
528   perl Porting/acknowledgements.pl v5.17.8..HEAD
529
530 =head1 Reporting Bugs
531
532 If you find what you think is a bug, you might check the articles recently
533 posted to the comp.lang.perl.misc newsgroup and the perl bug database at
534 http://rt.perl.org/perlbug/ .  There may also be information at
535 http://www.perl.org/ , the Perl Home Page.
536
537 If you believe you have an unreported bug, please run the L<perlbug> program
538 included with your release.  Be sure to trim your bug down to a tiny but
539 sufficient test case.  Your bug report, along with the output of C<perl -V>,
540 will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
541
542 If the bug you are reporting has security implications, which make it
543 inappropriate to send to a publicly archived mailing list, then please send it
544 to perl5-security-report@perl.org.  This points to a closed subscription
545 unarchived mailing list, which includes all the core committers, who will be
546 able to help assess the impact of issues, figure out a resolution, and help
547 co-ordinate the release of patches to mitigate or fix the problem across all
548 platforms on which Perl is supported.  Please only use this address for
549 security issues in the Perl core, not for modules independently distributed on
550 CPAN.
551
552 =head1 SEE ALSO
553
554 The F<Changes> file for an explanation of how to view exhaustive details on
555 what changed.
556
557 The F<INSTALL> file for how to build Perl.
558
559 The F<README> file for general stuff.
560
561 The F<Artistic> and F<Copying> files for copyright information.
562
563 =cut