This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fix autouse test, failing since commit 52102bb4f9
[perl5.git] / pod / perldelta.pod
... / ...
CommitLineData
1=encoding utf8
2
3=head1 NAME
4
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.19.5
9
10=head1 DESCRIPTION
11
12This document describes differences between the 5.19.4 release and the 5.19.5
13release.
14
15If you are upgrading from an earlier release such as 5.19.3, first read
16L<perl5194delta>, which describes differences between 5.19.3 and 5.19.4.
17
18=head1 Notice
19
20XXX Any important notices here
21
22=head1 Core Enhancements
23
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.
27
28[ List each enhancement as a =head2 entry ]
29
30=head2 Unicode 6.3 now supported
31
32Perl now supports and is shipped with Unicode 6.3 (though Perl may be
33recompiled with any previous Unicode release as well). A detailed
34list of Unicode 6.3 changes is at
35L<http://www.unicode.org/versions/Unicode6.3.0/>.
36
37=head2 Experimental Postfix Dereferencing
38
39When the C<postderef> feature is in effect, the following syntactical
40equivalencies are set up:
41
42 $sref->$*; # same as ${ $sref } # interpolates
43 $aref->@*; # same as @{ $aref } # interpolates
44 $href->%*; # same as %{ $href }
45 $cref->&*; # same as &{ $cref }
46 $gref->**; # same as *{ $gref }
47
48 $gref->*{ $slot }; # same as *{ $gref }{ $slot }
49
50 $aref->@[ ... ]; # same as @$aref[ ... ] # interpolates
51 $href->@{ ... }; # same as @$href{ ... } # interpolates
52 $aref->%[ ... ]; # same as %$aref[ ... ]
53 $href->%{ ... }; # same as %$href{ ... }
54
55Those marked as interpolating only interpolate if the associated
56C<postderef_qq> feature is also enabled. This feature is B<experimental> and
57will trigger C<experimental::postderef>-category warnings when used, unless
58they are suppressed.
59
60For more information, consult L<the Postfix Dereference Syntax section of
61perlref|perlref/Postfix Dereference Syntax>.
62
63=head1 Security
64
65XXX Any security-related notices go here. In particular, any security
66vulnerabilities closed should be noted here rather than in the
67L</Selected Bug Fixes> section.
68
69[ List each security issue as a =head2 entry ]
70
71=head1 Incompatible Changes
72
73XXX For a release on a stable branch, this section aspires to be:
74
75 There are no changes intentionally incompatible with 5.XXX.XXX
76 If any exist, they are bugs, and we request that you submit a
77 report. See L</Reporting Bugs> below.
78
79[ List each incompatible change as a =head2 entry ]
80
81=head2 Functions C<PerlIO_vsprintf> and C<PerlIO_sprintf> have been removed
82
83These two functions, undocumented, unused in CPAN, and problematic have
84been removed.
85
86=head1 Deprecations
87
88XXX Any deprecated features, syntax, modules etc. should be listed here.
89
90=head2 Module removals
91
92XXX Remove this section if inapplicable.
93
94The following modules will be removed from the core distribution in a
95future release, and will at that time need to be installed from CPAN.
96Distributions on CPAN which require these modules will need to list them as
97prerequisites.
98
99The core versions of these modules will now issue C<"deprecated">-category
100warnings to alert you to this fact. To silence these deprecation warnings,
101install the modules in question from CPAN.
102
103Note that these are (with rare exceptions) fine modules that you are encouraged
104to continue to use. Their disinclusion from core primarily hinges on their
105necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
106not usually on concerns over their design.
107
108=over
109
110XXX Note that deprecated modules should be listed here even if they are listed
111as an updated module in the L</Modules and Pragmata> section.
112
113=back
114
115[ List each other deprecation as a =head2 entry ]
116
117=head1 Performance Enhancements
118
119XXX Changes which enhance performance without changing behaviour go here.
120There may well be none in a stable release.
121
122[ List each enhancement as a =item entry ]
123
124=over 4
125
126=item *
127
128Perl has an optimizer for regular expression patterns. It analyzes the
129pattern to find things such as the minimum length a string has to be to
130match, etc. It now better handles code points that are above the Latin1
131range.
132
133=back
134
135=head1 Modules and Pragmata
136
137XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
138go here. If Module::CoreList is updated, generate an initial draft of the
139following sections using F<Porting/corelist-perldelta.pl>, which prints stub
140entries to STDOUT. Results can be pasted in place of the '=head2' entries
141below. A paragraph summary for important changes should then be added by hand.
142In an ideal world, dual-life modules would have a F<Changes> file that could be
143cribbed.
144
145[ Within each section, list entries as a =item entry ]
146
147=head2 New Modules and Pragmata
148
149=over 4
150
151=item *
152
153XXX
154
155=back
156
157=head2 Updated Modules and Pragmata
158
159=over 4
160
161=item *
162
163L<autodie> has been upgraded from version 2.21 to 2.22.
164
165No changes have been made to the installed code other than the version bump to
166keep in sync with the latest CPAN release.
167
168=item *
169
170L<CPAN::Meta> has been upgraded from version 2.132661 to 2.132830.
171
172L<CPAN::Meta::Prereqs> now has a C<merged_requirements> method for combining
173requirements across multiple phases and types, and an invalid 'meta-spec' is no
174longer a fatal error.
175
176=item *
177
178L<File::Temp> has been upgraded from version 0.2302 to 0.2304.
179
180Required versions of other modules used are now listed more explicitly.
181
182=item *
183
184L<List::Util> has been upgraded from version 1.32 to 1.33.
185
186The list reduction functions C<any>, C<all>, C<none> and C<notall> have been
187added.
188
189=item *
190
191L<Module::CoreList> has been upgraded from version 2.99 to 3.00.
192
193The list of Perl versions covered has been updated.
194
195=item *
196
197L<Module::Metadata> has been upgraded from version 1.000018 to 1.000019.
198
199Warnings are now disabled during version evaluation.
200
201=item *
202
203The podlators modules have been upgraded from version 2.5.1 to 2.5.3.
204
205Numerous updates and bug fixes are incorporated. See the F<Changes> file in
206the CPAN distribution for full details.
207
208=item *
209
210L<Test::Harness> has been upgraded from version 3.28 to 3.29.
211
212All modules now use C<our> rather than C<use vars>, have C<use warnings>
213enabled and C<use parent> instead of @ISA.
214
215=back
216
217=head2 Removed Modules and Pragmata
218
219=over 4
220
221=item *
222
223XXX
224
225=back
226
227=head1 Documentation
228
229XXX Changes to files in F<pod/> go here. Consider grouping entries by
230file and be sure to link to the appropriate page, e.g. L<perlfunc>.
231
232=head2 New Documentation
233
234XXX Changes which create B<new> files in F<pod/> go here.
235
236=head3 L<XXX>
237
238XXX Description of the purpose of the new file here
239
240=head2 Changes to Existing Documentation
241
242XXX Changes which significantly change existing files in F<pod/> go here.
243However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
244section.
245
246=head3 L<XXX>
247
248=over 4
249
250=item *
251
252XXX Description of the change here
253
254=back
255
256=head1 Diagnostics
257
258The following additions or changes have been made to diagnostic output,
259including warnings and fatal error messages. For the complete list of
260diagnostic messages, see L<perldiag>.
261
262XXX New or changed warnings emitted by the core's C<C> code go here. Also
263include any changes in L<perldiag> that reconcile it to the C<C> code.
264
265=head2 New Diagnostics
266
267XXX Newly added diagnostic messages go under here, separated into New Errors
268and New Warnings
269
270=head3 New Errors
271
272=over 4
273
274=item *
275
276XXX L<message|perldiag/"message">
277
278=back
279
280=head3 New Warnings
281
282=over 4
283
284=item *
285
286XXX L<message|perldiag/"message">
287
288=back
289
290=head2 Changes to Existing Diagnostics
291
292XXX Changes (i.e. rewording) of diagnostic messages go here
293
294=over 4
295
296=item *
297
298XXX Describe change here
299
300=back
301
302=head1 Utility Changes
303
304XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
305Most of these are built within the directories F<utils> and F<x2p>.
306
307[ List utility changes as a =head3 entry for each utility and =item
308entries for each change
309Use L<XXX> with program names to get proper documentation linking. ]
310
311=head3 L<XXX>
312
313=over 4
314
315=item *
316
317XXX
318
319=back
320
321=head1 Configuration and Compilation
322
323XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
324go here. Any other changes to the Perl build process should be listed here.
325However, any platform-specific changes should be listed in the
326L</Platform Support> section, instead.
327
328[ List changes as a =item entry ].
329
330=over 4
331
332=item *
333
334XXX
335
336=back
337
338=head1 Testing
339
340XXX Any significant changes to the testing of a freshly built perl should be
341listed here. Changes which create B<new> files in F<t/> go here as do any
342large changes to the testing harness (e.g. when parallel testing was added).
343Changes to existing files in F<t/> aren't worth summarizing, although the bugs
344that they represent may be covered elsewhere.
345
346[ List each test improvement as a =item entry ]
347
348=over 4
349
350=item *
351
352XXX
353
354=back
355
356=head1 Platform Support
357
358XXX Any changes to platform support should be listed in the sections below.
359
360[ Within the sections, list each platform as a =item entry with specific
361changes as paragraphs below it. ]
362
363=head2 New Platforms
364
365XXX List any platforms that this version of perl compiles on, that previous
366versions did not. These will either be enabled by new files in the F<hints/>
367directories, or new subdirectories and F<README> files at the top level of the
368source tree.
369
370=over 4
371
372=item XXX-some-platform
373
374XXX
375
376=back
377
378=head2 Discontinued Platforms
379
380XXX List any platforms that this version of perl no longer compiles on.
381
382=over 4
383
384=item XXX-some-platform
385
386XXX
387
388=back
389
390=head2 Platform-Specific Notes
391
392XXX List any changes for specific platforms. This could include configuration
393and compilation changes or changes in portability/compatibility. However,
394changes within modules for platforms should generally be listed in the
395L</Modules and Pragmata> section.
396
397=over 4
398
399=item XXX-some-platform
400
401XXX
402
403=back
404
405=head1 Internal Changes
406
407XXX Changes which affect the interface available to C<XS> code go here. Other
408significant internal changes for future core maintainers should be noted as
409well.
410
411[ List each change as a =item entry ]
412
413=over 4
414
415=item *
416
417XXX
418
419=back
420
421=head1 Selected Bug Fixes
422
423XXX Important bug fixes in the core language are summarized here. Bug fixes in
424files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
425
426[ List each fix as a =item entry ]
427
428=over 4
429
430=item *
431
432XXX
433
434=back
435
436=head1 Known Problems
437
438XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
439tests that had to be C<TODO>ed for the release would be noted here. Unfixed
440platform specific bugs also go here.
441
442[ List each fix as a =item entry ]
443
444=over 4
445
446=item *
447
448XXX
449
450=back
451
452=head1 Obituary
453
454XXX If any significant core contributor has died, we've added a short obituary
455here.
456
457=head1 Acknowledgements
458
459XXX Generate this with:
460
461 perl Porting/acknowledgements.pl v5.19.4..HEAD
462
463=head1 Reporting Bugs
464
465If you find what you think is a bug, you might check the articles recently
466posted to the comp.lang.perl.misc newsgroup and the perl bug database at
467http://rt.perl.org/perlbug/ . There may also be information at
468http://www.perl.org/ , the Perl Home Page.
469
470If you believe you have an unreported bug, please run the L<perlbug> program
471included with your release. Be sure to trim your bug down to a tiny but
472sufficient test case. Your bug report, along with the output of C<perl -V>,
473will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
474
475If the bug you are reporting has security implications, which make it
476inappropriate to send to a publicly archived mailing list, then please send it
477to perl5-security-report@perl.org. This points to a closed subscription
478unarchived mailing list, which includes all the core committers, who will be
479able to help assess the impact of issues, figure out a resolution, and help
480co-ordinate the release of patches to mitigate or fix the problem across all
481platforms on which Perl is supported. Please only use this address for
482security issues in the Perl core, not for modules independently distributed on
483CPAN.
484
485=head1 SEE ALSO
486
487The F<Changes> file for an explanation of how to view exhaustive details on
488what changed.
489
490The F<INSTALL> file for how to build Perl.
491
492The F<README> file for general stuff.
493
494The F<Artistic> and F<Copying> files for copyright information.
495
496=cut