This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Paste in the output of Porting/acknowledgements.pl in pod/perl5159delta.pod
[perl5.git] / pod / perl5159delta.pod
CommitLineData
21ffc845
A
1=encoding utf8
2
3=head1 NAME
4
5perldelta - what is new for perl v5.15.9
6
7=head1 DESCRIPTION
8
9This document describes differences between the 5.15.8 release and
10the 5.15.9 release.
11
12If you are upgrading from an earlier release such as 5.15.7, first read
13L<perl5158delta>, which describes differences between 5.15.7 and
145.15.8.
15
16=head1 Notice
17
18This space intentionally left blank.
19
20=head1 Core Enhancements
21
22=head2 C<< no feature; >> now means reset to default
23
24C<< no feature >> now resets to the default feature set. To disable all
25features (which is likely to be a pretty special-purpose request, since
26it presumably won't match any named set of semantics) you can now
27write C<< no feature ':all' >>.
28
29
30[ List each enhancement as a =head2 entry ]
31
32=head1 Security
33
34XXX Any security-related notices go here. In particular, any security
35vulnerabilities closed should be noted here rather than in the
36L</Selected Bug Fixes> section.
37
38[ List each security issue as a =head2 entry ]
39
40=head1 Incompatible Changes
41
42XXX For a release on a stable branch, this section aspires to be:
43
44 There are no changes intentionally incompatible with 5.XXX.XXX
45 If any exist, they are bugs, and we request that you submit a
46 report. See L</Reporting Bugs> below.
47
48[ List each incompatible change as a =head2 entry ]
49
50=head1 Deprecations
51
52=head2 Literal C<< "{" >> characters in regular expressions.
53
54It has been documented that the current plans include requiring a
55literal C<< "{" >> to be escaped: 5.18 will emit deprecation warnings,
56and it will be required in 5.20.
57
58=head1 Performance Enhancements
59
60=over 4
61
62=item *
63
64Fix a slowdown in freeing nested hashes. This may speedup the exit of
65certain programs.
66
67=back
68
69=head1 Modules and Pragmata
70
71XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
72go here. If Module::CoreList is updated, generate an initial draft of the
73following sections using F<Porting/corelist-perldelta.pl>, which prints stub
74entries to STDOUT. Results can be pasted in place of the '=head2' entries
75below. A paragraph summary for important changes should then be added by hand.
76In an ideal world, dual-life modules would have a F<Changes> file that could be
77cribbed.
78
79[ Within each section, list entries as a =item entry ]
80
81=head2 New Modules and Pragmata
82
83=over 4
84
85=item *
86
87XXX
88
89=back
90
91=head2 Updated Modules and Pragmata
92
93=over 4
94
95=item *
96
97L<XXX> has been upgraded from version 0.69 to version 0.70.
98
99=back
100
101=head2 Removed Modules and Pragmata
102
103=over 4
104
105=item *
106
107XXX
108
109=back
110
111=head1 Documentation
112
113XXX Changes to files in F<pod/> go here. Consider grouping entries by
114file and be sure to link to the appropriate page, e.g. L<perlfunc>.
115
116=head2 New Documentation
117
118XXX Changes which create B<new> files in F<pod/> go here.
119
120=head3 L<XXX>
121
122XXX Description of the purpose of the new file here
123
124=head2 Changes to Existing Documentation
125
126XXX Changes which significantly change existing files in F<pod/> go here.
127However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
128section.
129
130=head3 L<XXX>
131
132=over 4
133
134=item *
135
136XXX Description of the change here
137
138=back
139
140=head1 Diagnostics
141
142The following additions or changes have been made to diagnostic output,
143including warnings and fatal error messages. For the complete list of
144diagnostic messages, see L<perldiag>.
145
146XXX New or changed warnings emitted by the core's C<C> code go here. Also
147include any changes in L<perldiag> that reconcile it to the C<C> code.
148
149[ Within each section, list entries as a =item entry that links to perldiag,
150 e.g.
151
152 =item *
153
154 L<Invalid version object|perldiag/"Invalid version object">
155]
156
157=head2 New Diagnostics
158
159XXX Newly added diagnostic messages go here
160=item *
161
162L<lvalue attribute %s already-defined subroutine|perldiag/"lvalue attribute %s already-defined subroutine">, which replaces
163C<< lvalue attribute cannot be removed after the subroutine has been defined >>.
164
165=head3 New Errors
166
167=over 4
168
169=item *
170
171XXX L<message|perldiag/"message">
172
173=back
174
175=head3 New Warnings
176
177=over 4
178
179=item *
180
181XXX L<message|perldiag/"message">
182
183=back
184
185=head2 Changes to Existing Diagnostics
186
187XXX Changes (i.e. rewording) of diagnostic messages go here
188
189=over 4
190
191=item *
192
193XXX Describe change here
194
195=back
196
197=head1 Utility Changes
198
199XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
200here. Most of these are built within the directories F<utils> and F<x2p>.
201
202[ List utility changes as a =head3 entry for each utility and =item
203entries for each change
204Use L<XXX> with program names to get proper documentation linking. ]
205
206=head3 L<XXX>
207
208=over 4
209
210=item *
211
212XXX
213
214=back
215
216=head1 Configuration and Compilation
217
218XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
219go here. Any other changes to the Perl build process should be listed here.
220However, any platform-specific changes should be listed in the
221L</Platform Support> section, instead.
222
223[ List changes as a =item entry ].
224
225=over 4
226
227=item *
228
229XXX
230
231=back
232
233=head1 Testing
234
235XXX Any significant changes to the testing of a freshly built perl should be
236listed here. Changes which create B<new> files in F<t/> go here as do any
237large changes to the testing harness (e.g. when parallel testing was added).
238Changes to existing files in F<t/> aren't worth summarising, although the bugs
239that they represent may be covered elsewhere.
240
241[ List each test improvement as a =item entry ]
242
243=over 4
244
245=item *
246
247F<< t/op/require_37033.t>> has been added, to test that C<require> always closes
248the file handle that it opens. Previously, it had been leaking the file handle
249if it happened to have file descriptor 0, which would happen if C<require> was
250called (explicitly or implicitly) when C<STDIN> had been closed.
251
252=back
253
254=head1 Platform Support
255
256XXX Any changes to platform support should be listed in the sections below.
257
258[ Within the sections, list each platform as a =item entry with specific
259changes as paragraphs below it. ]
260
261=head2 New Platforms
262
263XXX List any platforms that this version of perl compiles on, that previous
264versions did not. These will either be enabled by new files in the F<hints/>
265directories, or new subdirectories and F<README> files at the top level of the
266source tree.
267
268=over 4
269
270=item XXX-some-platform
271
272XXX
273
274=back
275
276=head2 Discontinued Platforms
277
278XXX List any platforms that this version of perl no longer compiles on.
279
280=over 4
281
282=item XXX-some-platform
283
284XXX
285
286=back
287
288=head2 Platform-Specific Notes
289
290XXX List any changes for specific platforms. This could include configuration
291and compilation changes or changes in portability/compatibility. However,
292changes within modules for platforms should generally be listed in the
293L</Modules and Pragmata> section.
294
295=over 4
296
297=item XXX-some-platform
298
299XXX
300
301=back
302
303=head1 Internal Changes
304
305XXX Changes which affect the interface available to C<XS> code go here.
306Other significant internal changes for future core maintainers should
307be noted as well.
308
309[ List each change as a =item entry ]
310
311=over 4
312
313=item *
314
315XXX
316
317=back
318
319=head1 Selected Bug Fixes
320
321XXX Important bug fixes in the core language are summarised here.
322Bug fixes in files in F<ext/> and F<lib/> are best summarised in
323L</Modules and Pragmata>.
324
325[ List each fix as a =item entry ]
326
327=over 4
328
329=item *
330
331I<Takri> is now considered a script that uses two characters. This corrects
332a Unicode 6.1 omission.
333
334=item *
335
336C<< perlfunc.hmtl >> is now being generated again. [perl #107870]
337
338=item *
339
340C<< $$ >> is no longer tainted. Since this value comes directly from
341C<< getpid() >>, it is always safe.
342
343=item *
344
345Fix leaking a file handle. [perl #37033]
346
347=item *
348
349An off-by-one error caused C<< /[:upper:]/ >> and C<< /[:punct:]/ >> to
350unexepectly match characters with code points above 255. This has been
351rectified. [perl 111400].
352
353=item *
354
355C<< (?foo: ...) >> no longer loses passed in character set.
356
357=item *
358
359Allow attributes to set C<< :lvalue >> on a defined sub. [perl 107366].
360
361=item *
362
363C<< die; >> with a non-reference, non-string value in $@ now properly
364propgates that value [perl #111654].
365
366=item *
367
368C<< Term::ReadLine >> now uses AnyEvent instead of Tk for an event loop.
369
370
371=back
372
373=head1 Known Problems
374
375XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
376tests that had to be C<TODO>ed for the release would be noted here, unless
377they were specific to a particular platform (see below).
378
379This is a list of some significant unfixed bugs, which are regressions
380from either 5.XXX.XXX or 5.XXX.XXX.
381
382[ List each fix as a =item entry ]
383
384=over 4
385
386=item *
387
388XXX
389
390=back
391
392=head1 Obituary
393
394XXX If any significant core contributor has died, we've added a short obituary
395here.
396
397=head1 Acknowledgements
398
98f0737d 399XXX Redo this on 2012-03-20
21ffc845 400
98f0737d
A
401Perl 5.15.9 represents approximately 4 weeks of development since Perl 5.15.8
402and contains approximately 74,000 lines of changes across 470 files from 23
403authors.
404
405Perl continues to flourish into its third decade thanks to a vibrant community
406of users and developers. The following people are known to have contributed the
407improvements that became Perl 5.15.9:
408
409Aaron Crane, Abigail, Chris 'BinGOs' Williams, Craig A. Berry, Dave Rolsky,
410David Cantrell, David Golden, David Mitchell, Eric Brine, Father Chrysostomos,
411Florian Ragwitz, James E Keenan, Jesse Vincent, Karl Williamson, Marc Green,
412Max Maischein, Nicholas Clark, Pau Amma, Reini Urban, Ricardo Signes, Tony
413Cook, Yves Orton, Zefram.
414
415The list above is almost certainly incomplete as it is automatically generated
416from version control history. In particular, it does not include the names of
417the (very much appreciated) contributors who reported issues to the Perl bug
418tracker.
419
420Many of the changes included in this version originated in the CPAN modules
421included in Perl's core. We're grateful to the entire CPAN community for
422helping Perl to flourish.
423
424For a more complete list of all of Perl's historical contributors, please see
425the F<AUTHORS> file in the Perl source distribution.
21ffc845
A
426
427=head1 Reporting Bugs
428
429If you find what you think is a bug, you might check the articles
430recently posted to the comp.lang.perl.misc newsgroup and the perl
431bug database at http://rt.perl.org/perlbug/ . There may also be
432information at http://www.perl.org/ , the Perl Home Page.
433
434If you believe you have an unreported bug, please run the L<perlbug>
435program included with your release. Be sure to trim your bug down
436to a tiny but sufficient test case. Your bug report, along with the
437output of C<perl -V>, will be sent off to perlbug@perl.org to be
438analysed by the Perl porting team.
439
440If the bug you are reporting has security implications, which make it
441inappropriate to send to a publicly archived mailing list, then please send
442it to perl5-security-report@perl.org. This points to a closed subscription
443unarchived mailing list, which includes
444all the core committers, who will be able
445to help assess the impact of issues, figure out a resolution, and help
446co-ordinate the release of patches to mitigate or fix the problem across all
447platforms on which Perl is supported. Please only use this address for
448security issues in the Perl core, not for modules independently
449distributed on CPAN.
450
451=head1 SEE ALSO
452
453The F<Changes> file for an explanation of how to view exhaustive details
454on what changed.
455
456The F<INSTALL> file for how to build Perl.
457
458The F<README> file for general stuff.
459
460The F<Artistic> and F<Copying> files for copyright information.
461
462=cut