This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta up to a3179684
[perl5.git] / pod / perldelta.pod
CommitLineData
3a5c9134
CBW
1=encoding utf8
2
59773fc7
FC
3=for comment
4This has been completed up to a3179684.
5
3a5c9134
CBW
6=head1 NAME
7
8[ this is a template for a new perldelta file. Any text flagged as
9XXX needs to be processed before release. ]
10
11perldelta - what is new for perl v5.13.8
12
13=head1 DESCRIPTION
14
15This document describes differences between the 5.13.8 release and
16the 5.13.7 release.
17
dbbe2d83 18If you are upgrading from an earlier release such as 5.13.6, first read
3a5c9134
CBW
19L<perl5137delta>, which describes differences between 5.13.6 and
205.13.7.
21
22=head1 Notice
23
24XXX Any important notices here
25
26=head1 Core Enhancements
27
28XXX New core language features go here. Summarise user-visible core language
29enhancements. Particularly prominent performance optimisations could go
30here, but most should go in the L</Performance Enhancements> section.
31
32[ List each enhancement as a =head2 entry ]
33
b19934fb
NC
34=head2 C<-d:-foo> calls C<Devel::foo::unimport>
35
36The syntax C<-dI<B<:>foo>> was extended in 5.6.1 to make C<-dI<:fooB<=bar>>>
37equivalent to C<-Mfoo=bar>, which expands internally to C<use foo 'bar';>.
38F<perl> now allows prefixing the module name with C<->, with the same
39semantics as C<-M>, I<i.e.>
40
41=over 4
42
43=item C<-d:-foo>
44
45Equivalent to C<-M-foo>, expands to C<no foo;>, calls C<< foo->unimport() >>
46if the method exists.
47
48=item C<-d:-foo=bar>
49
50Equivalent to C<-M-foo=bar>, expands to C<no foo 'bar';>, calls
51C<< foo->unimport('bar') >> if the method exists.
52
53=back
54
55This is particularly useful to suppresses the default actions of a
56C<Devel::*> module's C<import> method whilst still loading it for debugging.
57
3a5c9134
CBW
58=head1 Security
59
60XXX Any security-related notices go here. In particular, any security
61vulnerabilities closed should be noted here rather than in the
62L</Selected Bug Fixes> section.
63
64[ List each security issue as a =head2 entry ]
65
66=head1 Incompatible Changes
67
68XXX For a release on a stable branch, this section aspires to be:
69
70 There are no changes intentionally incompatible with 5.XXX.XXX. If any
71 exist, they are bugs and reports are welcome.
72
73[ List each incompatible change as a =head2 entry ]
74
75=head1 Deprecations
76
77XXX Any deprecated features, syntax, modules etc. should be listed here.
78In particular, deprecated modules should be listed here even if they are
79listed as an updated module in the L</Modules and Pragmata> section.
80
81[ List each deprecation as a =head2 entry ]
82
59773fc7
FC
83=head2 C<?PATTERN?> is deprecated
84
85C<?PATTERN?> (without the initial m) has been deprecated and now produces
86a warning.
87
d59a8b3e
NC
88=head2 C<sv_compile_2op> is now deprecated
89
90The C<sv_compile_2op> is now deprecated, and will be removed. Searches suggest
91that nothing on CPAN is using it, so this should have zero impact.
92
93It attempted to provide an API to compile code down to an optree, but failed
94to bind correctly to lexicals in the enclosing scope. It's not possible to
95fix this problem within the constraints of its parameters and return value.
96
3a5c9134
CBW
97=head1 Performance Enhancements
98
99XXX Changes which enhance performance without changing behaviour go here. There
100may well be none in a stable release.
101
102[ List each enhancement as a =item entry ]
103
104=over 4
105
106=item *
107
108XXX
109
110=back
111
112=head1 Modules and Pragmata
113
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.
121
122[ Within each section, list entries as a =item entry ]
123
124=head2 New Modules and Pragmata
125
126=over 4
127
128=item *
129
130XXX
131
132=back
133
134=head2 Updated Modules and Pragmata
135
136=over 4
137
138=item *
139
39b09a1b
CBW
140C<IPC::Cmd> has been upgraded from 0.64 to 0.66
141
142Resolves an issue with splitting Win32 command lines
143and documentation enhancements.
144
145=item *
146
37fa6334 147C<MIME::Base64> has been upgraded from 3.10 to 3.13
2456140e
CBW
148
149Now provides encode_base64url and decode_base64url functions to process
150the base64 scheme for "URL applications".
151
152=item *
153
68adb2b0
CBW
154C<Unicode::Collate> has been upgraded from 0.67 to 0.68
155
156=item *
157
59773fc7 158C<Unicode::UCD> has been upgraded from 0.29 to 0.30.
3a5c9134
CBW
159
160=back
161
162=head2 Removed Modules and Pragmata
163
164=over 4
165
166=item *
167
168XXX
169
170=back
171
172=head1 Documentation
173
174XXX Changes to files in F<pod/> go here. Consider grouping entries by
175file and be sure to link to the appropriate page, e.g. L<perlfunc>.
176
177=head2 New Documentation
178
179XXX Changes which create B<new> files in F<pod/> go here.
180
181=head3 L<XXX>
182
183XXX Description of the purpose of the new file here
184
185=head2 Changes to Existing Documentation
186
187XXX Changes which significantly change existing files in F<pod/> go here.
188However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
189section.
190
191=head3 L<XXX>
192
193=over 4
194
195=item *
196
197XXX Description of the change here
198
199=back
200
201=head1 Diagnostics
202
203The following additions or changes have been made to diagnostic output,
204including warnings and fatal error messages. For the complete list of
205diagnostic messages, see L<perldiag>.
206
207XXX New or changed warnings emitted by the core's C<C> code go here. Also
208include any changes in L<perldiag> that reconcile it to the C<C> code.
209
210[ Within each section, list entries as a =item entry ]
211
212=head2 New Diagnostics
213
214XXX Newly added diagnostic messages go here
215
216=over 4
217
218=item *
219
220XXX
221
222=back
223
224=head2 Changes to Existing Diagnostics
225
226XXX Changes (i.e. rewording) of diagnostic messages go here
227
228=over 4
229
230=item *
231
232XXX
233
234=back
235
236=head1 Utility Changes
237
238XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
239here. Most of these are built within the directories F<utils> and F<x2p>.
240
241[ List utility changes as a =head3 entry for each utility and =item
242entries for each change
243Use L<XXX> with program names to get proper documentation linking. ]
244
245=head3 L<XXX>
246
247=over 4
248
249=item *
250
251XXX
252
253=back
254
255=head1 Configuration and Compilation
256
257XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
258go here. Any other changes to the Perl build process should be listed here.
259However, any platform-specific changes should be listed in the
260L</Platform Support> section, instead.
261
262[ List changes as a =item entry ].
263
264=over 4
265
266=item *
267
268XXX
269
270=back
271
272=head1 Testing
273
274XXX Any significant changes to the testing of a freshly built perl should be
275listed here. Changes which create B<new> files in F<t/> go here as do any
276large changes to the testing harness (e.g. when parallel testing was added).
277Changes to existing files in F<t/> aren't worth summarising, although the bugs
278that they represent may be covered elsewhere.
279
280[ List each test improvement as a =item entry ]
281
282=over 4
283
284=item *
285
286XXX
287
288=back
289
290=head1 Platform Support
291
292XXX Any changes to platform support should be listed in the sections below.
293
294[ Within the sections, list each platform as a =item entry with specific
295changes as paragraphs below it. ]
296
297=head2 New Platforms
298
299XXX List any platforms that this version of perl compiles on, that previous
300versions did not. These will either be enabled by new files in the F<hints/>
301directories, or new subdirectories and F<README> files at the top level of the
302source tree.
303
304=over 4
305
306=item XXX-some-platform
307
308XXX
309
310=back
311
312=head2 Discontinued Platforms
313
314XXX List any platforms that this version of perl no longer compiles on.
315
316=over 4
317
318=item XXX-some-platform
319
320XXX
321
322=back
323
324=head2 Platform-Specific Notes
325
326XXX List any changes for specific platforms. This could include configuration
327and compilation changes or changes in portability/compatibility. However,
328changes within modules for platforms should generally be listed in the
329L</Modules and Pragmata> section.
330
331=over 4
332
333=item XXX-some-platform
334
335XXX
336
337=back
338
339=head1 Internal Changes
340
341XXX Changes which affect the interface available to C<XS> code go here.
342Other significant internal changes for future core maintainers should
343be noted as well.
344
345[ List each test improvement as a =item entry ]
346
347=over 4
348
349=item *
350
351XXX
352
353=back
354
355=head1 Selected Bug Fixes
356
357XXX Important bug fixes in the core language are summarised here.
358Bug fixes in files in F<ext/> and F<lib/> are best summarised in
359L</Modules and Pragmata>.
360
361[ List each fix as a =item entry ]
362
363=over 4
364
365=item *
366
88e9444c
NC
367C<BEGIN {require 5.12.0}> now behaves as documented, rather than behaving
368identically to C<use 5.12.0;>. Previously, C<require> in a C<BEGIN> block
369was erroneously executing the C<use feature ':5.12.0'> and
370C<use strict; use warnings;> behaviour, which only C<use> was documented to
371provide.
3a5c9134
CBW
372
373=back
374
375=head1 Known Problems
376
377XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
378tests that had to be C<TODO>ed for the release would be noted here, unless
379they were specific to a particular platform (see below).
380
381This is a list of some significant unfixed bugs, which are regressions
382from either 5.XXX.XXX or 5.XXX.XXX.
383
384[ List each fix as a =item entry ]
385
386=over 4
387
388=item *
389
2283d326
KW
390A number of bugs with regular expression bracketed character classes
391have been fixed, mostly having to do with matching characters in the
392non-ASCII Latin-1 range.
3a5c9134
CBW
393
394=back
395
396=head1 Obituary
397
398XXX If any significant core contributor has died, we've added a short obituary
399here.
400
401=head1 Acknowledgements
402
403XXX The list of people to thank goes here.
404
405=head1 Reporting Bugs
406
407If you find what you think is a bug, you might check the articles
408recently posted to the comp.lang.perl.misc newsgroup and the perl
409bug database at http://rt.perl.org/perlbug/ . There may also be
410information at http://www.perl.org/ , the Perl Home Page.
411
412If you believe you have an unreported bug, please run the L<perlbug>
413program included with your release. Be sure to trim your bug down
414to a tiny but sufficient test case. Your bug report, along with the
415output of C<perl -V>, will be sent off to perlbug@perl.org to be
416analysed by the Perl porting team.
417
418If the bug you are reporting has security implications, which make it
419inappropriate to send to a publicly archived mailing list, then please send
420it to perl5-security-report@perl.org. This points to a closed subscription
421unarchived mailing list, which includes all the core committers, who be able
422to help assess the impact of issues, figure out a resolution, and help
423co-ordinate the release of patches to mitigate or fix the problem across all
424platforms on which Perl is supported. Please only use this address for
425security issues in the Perl core, not for modules independently
426distributed on CPAN.
427
428=head1 SEE ALSO
429
430The F<Changes> file for an explanation of how to view exhaustive details
431on what changed.
432
433The F<INSTALL> file for how to build Perl.
434
435The F<README> file for general stuff.
436
437The F<Artistic> and F<Copying> files for copyright information.
438
439=cut