This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
4afdba4331178dc0560a77ca2b9e924e8adbe13c
[perl5.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
6 XXX needs to be processed before release. ]
7
8 perldelta - what is new for perl v5.15.4
9
10 =head1 DESCRIPTION
11
12 This document describes differences between the 5.15.3 release and
13 the 5.15.4 release.
14
15 If you are upgrading from an earlier release such as 5.15.3, first read
16 L<perl5153delta>, which describes differences between 5.15.3 and
17 5.15.4.
18
19 =head1 Notice
20
21 XXX Any important notices here
22
23 =head1 Core Enhancements
24
25 =head2 $^X converted to an absolute path on FreeBSD, OS X and Solaris
26
27 C<$^X> is now converted to an absolute path on OS X, FreeBSD (without
28 needing F</proc> mounted) and Solaris 10 and 11. This augments the
29 previous approach of using F</proc> on Linux, FreeBSD and NetBSD
30 (in all cases, where mounted).
31
32 This makes relocatable perl installations more useful on these platforms.
33 (See "Relocatable @INC" in F<INSTALL>)
34
35 =head1 Security
36
37 XXX Any security-related notices go here.  In particular, any security
38 vulnerabilities closed should be noted here rather than in the
39 L</Selected Bug Fixes> section.
40
41 [ List each security issue as a =head2 entry ]
42
43 =head1 Incompatible Changes
44
45 XXX For a release on a stable branch, this section aspires to be:
46
47     There are no changes intentionally incompatible with 5.XXX.XXX
48     If any exist, they are bugs and reports are welcome.
49
50 [ List each incompatible change as a =head2 entry ]
51
52 =head1 Deprecations
53
54 XXX Any deprecated features, syntax, modules etc. should be listed here.
55 In particular, deprecated modules should be listed here even if they are
56 listed as an updated module in the L</Modules and Pragmata> section.
57
58 [ List each deprecation as a =head2 entry ]
59
60 =head1 Performance Enhancements
61
62 XXX Changes which enhance performance without changing behaviour go here. There
63 may well be none in a stable release.
64
65 [ List each enhancement as a =item entry ]
66
67 =over 4
68
69 =item *
70
71 XXX
72
73 =back
74
75 =head1 Modules and Pragmata
76
77 XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
78 go here.  If Module::CoreList is updated, generate an initial draft of the
79 following sections using F<Porting/corelist-perldelta.pl>, which prints stub
80 entries to STDOUT.  Results can be pasted in place of the '=head2' entries
81 below.  A paragraph summary for important changes should then be added by hand.
82 In an ideal world, dual-life modules would have a F<Changes> file that could be
83 cribbed.
84
85 [ Within each section, list entries as a =item entry ]
86
87 =head2 New Modules and Pragmata
88
89 =over 4
90
91 =item *
92
93 XXX
94
95 =back
96
97 =head2 Updated Modules and Pragmata
98
99 =over 4
100
101 =item *
102
103 L<perlfaq> has been upgraded from version 5.0150034 to version 5.0150035.
104
105 =item *
106
107 L<ExtUtils::MakeMaker> has been upgraded from version 6.59 to version 6.61_01.
108
109 =back
110
111 =head2 Removed Modules and Pragmata
112
113 =over 4
114
115 =item *
116
117 XXX
118
119 =back
120
121 =head1 Documentation
122
123 XXX Changes to files in F<pod/> go here.  Consider grouping entries by
124 file and be sure to link to the appropriate page, e.g. L<perlfunc>.
125
126 =head2 New Documentation
127
128 XXX Changes which create B<new> files in F<pod/> go here.
129
130 =head3 L<XXX>
131
132 XXX Description of the purpose of the new file here
133
134 =head2 Changes to Existing Documentation
135
136 XXX Changes which significantly change existing files in F<pod/> go here.
137 However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
138 section.
139
140 =head3 L<XXX>
141
142 =over 4
143
144 =item *
145
146 XXX Description of the change here
147
148 =back
149
150 =head1 Diagnostics
151
152 The following additions or changes have been made to diagnostic output,
153 including warnings and fatal error messages.  For the complete list of
154 diagnostic messages, see L<perldiag>.
155
156 XXX New or changed warnings emitted by the core's C<C> code go here. Also
157 include any changes in L<perldiag> that reconcile it to the C<C> code.
158
159 [ Within each section, list entries as a =item entry that links to perldiag,
160   e.g.
161
162   =item *
163
164   L<Invalid version object|perldiag/"Invalid version object">
165 ]
166
167 =head2 New Diagnostics
168
169 XXX Newly added diagnostic messages go here
170
171 =head3 New Errors
172
173 =over 4
174
175 =item *
176
177 XXX L<message|perldiag/"message">
178
179 =back
180
181 =head3 New Warnings
182
183 =over 4
184
185 =item *
186
187 XXX L<message|perldiag/"message">
188
189 =back
190
191 =head2 Changes to Existing Diagnostics
192
193 XXX Changes (i.e. rewording) of diagnostic messages go here
194
195 =over 4
196
197 =item *
198
199 The message,
200 "Code point 0x%X is not Unicode, no properties match it; all inverse
201 prop erties do" has been changed to "Code point 0x%X is not Unicode, all
202 \p{} matches fail; all \P{} matches succeed"
203
204
205 =back
206
207 =head1 Utility Changes
208
209 XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
210 here. Most of these are built within the directories F<utils> and F<x2p>.
211
212 [ List utility changes as a =head3 entry for each utility and =item
213 entries for each change
214 Use L<XXX> with program names to get proper documentation linking. ]
215
216 =head3 L<XXX>
217
218 =over 4
219
220 =item *
221
222 XXX
223
224 =back
225
226 =head1 Configuration and Compilation
227
228 XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
229 go here.  Any other changes to the Perl build process should be listed here.
230 However, any platform-specific changes should be listed in the
231 L</Platform Support> section, instead.
232
233 [ List changes as a =item entry ].
234
235 =over 4
236
237 =item *
238
239 XXX
240
241 =back
242
243 =head1 Testing
244
245 XXX Any significant changes to the testing of a freshly built perl should be
246 listed here.  Changes which create B<new> files in F<t/> go here as do any
247 large changes to the testing harness (e.g. when parallel testing was added).
248 Changes to existing files in F<t/> aren't worth summarising, although the bugs
249 that they represent may be covered elsewhere.
250
251 [ List each test improvement as a =item entry ]
252
253 =over 4
254
255 =item *
256
257 F<t/porting/checkcfgvar.t> now tests that all config.sh-style files are
258 complete. These are used by the various non-*nix to generate their
259 F<config.h>, and an incomplete input file will generate invalid output.
260
261 =back
262
263 =head1 Platform Support
264
265 XXX Any changes to platform support should be listed in the sections below.
266
267 [ Within the sections, list each platform as a =item entry with specific
268 changes as paragraphs below it. ]
269
270 =head2 New Platforms
271
272 XXX List any platforms that this version of perl compiles on, that previous
273 versions did not. These will either be enabled by new files in the F<hints/>
274 directories, or new subdirectories and F<README> files at the top level of the
275 source tree.
276
277 =over 4
278
279 =item XXX-some-platform
280
281 XXX
282
283 =back
284
285 =head2 Discontinued Platforms
286
287 XXX List any platforms that this version of perl no longer compiles on.
288
289 =over 4
290
291 =item XXX-some-platform
292
293 XXX
294
295 =back
296
297 =head2 Platform-Specific Notes
298
299 XXX List any changes for specific platforms. This could include configuration
300 and compilation changes or changes in portability/compatibility.  However,
301 changes within modules for platforms should generally be listed in the
302 L</Modules and Pragmata> section.
303
304 =over 4
305
306 =item XXX-some-platform
307
308 XXX
309
310 =back
311
312 =head1 Internal Changes
313
314 XXX Changes which affect the interface available to C<XS> code go here.
315 Other significant internal changes for future core maintainers should
316 be noted as well.
317
318 [ List each change as a =item entry ]
319
320 =over 4
321
322 =item *
323
324 XXX
325
326 =back
327
328 =head1 Selected Bug Fixes
329
330 XXX Important bug fixes in the core language are summarised here.
331 Bug fixes in files in F<ext/> and F<lib/> are best summarised in
332 L</Modules and Pragmata>.
333
334 [ List each fix as a =item entry ]
335
336 =over 4
337
338 =item *
339
340 XXX
341
342 =back
343
344 =head1 Known Problems
345
346 XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
347 tests that had to be C<TODO>ed for the release would be noted here, unless
348 they were specific to a particular platform (see below).
349
350 This is a list of some significant unfixed bugs, which are regressions
351 from either 5.XXX.XXX or 5.XXX.XXX.
352
353 [ List each fix as a =item entry ]
354
355 =over 4
356
357 =item *
358
359 XXX
360
361 =back
362
363 =head1 Obituary
364
365 XXX If any significant core contributor has died, we've added a short obituary
366 here.
367
368 =head1 Acknowledgements
369
370 XXX Generate this with:
371
372   perl Porting/acknowledgements.pl v5.15.3..HEAD
373
374 =head1 Reporting Bugs
375
376 If you find what you think is a bug, you might check the articles
377 recently posted to the comp.lang.perl.misc newsgroup and the perl
378 bug database at http://rt.perl.org/perlbug/ .  There may also be
379 information at http://www.perl.org/ , the Perl Home Page.
380
381 If you believe you have an unreported bug, please run the L<perlbug>
382 program included with your release.  Be sure to trim your bug down
383 to a tiny but sufficient test case.  Your bug report, along with the
384 output of C<perl -V>, will be sent off to perlbug@perl.org to be
385 analysed by the Perl porting team.
386
387 If the bug you are reporting has security implications, which make it
388 inappropriate to send to a publicly archived mailing list, then please send
389 it to perl5-security-report@perl.org. This points to a closed subscription
390 unarchived mailing list, which includes
391 all the core committers, who will be able
392 to help assess the impact of issues, figure out a resolution, and help
393 co-ordinate the release of patches to mitigate or fix the problem across all
394 platforms on which Perl is supported. Please only use this address for
395 security issues in the Perl core, not for modules independently
396 distributed on CPAN.
397
398 =head1 SEE ALSO
399
400 The F<Changes> file for an explanation of how to view exhaustive details
401 on what changed.
402
403 The F<INSTALL> file for how to build Perl.
404
405 The F<README> file for general stuff.
406
407 The F<Artistic> and F<Copying> files for copyright information.
408
409 =cut