Commit | Line | Data |
---|---|---|
4c793fe3 FR |
1 | =encoding utf8 |
2 | ||
c39f7439 FC |
3 | =for comment |
4 | This has been completed up to 582b18310. | |
5 | ||
4c793fe3 FR |
6 | =head1 NAME |
7 | ||
8f97a47a TM |
8 | [ this is a template for a new perldelta file. Any text flagged as |
9 | XXX needs to be processed before release. ] | |
4c793fe3 | 10 | |
8f97a47a | 11 | perldelta - what is new for perl v5.13.7 |
a12cf05f | 12 | |
8f97a47a | 13 | =head1 DESCRIPTION |
fb121860 | 14 | |
8f97a47a TM |
15 | This document describes differences between the 5.13.6 release and |
16 | the 5.13.7 release. | |
eb32ee41 | 17 | |
8f97a47a TM |
18 | If you are upgrading from an earlier release such as 5.13.5, first read |
19 | L<perl5136delta>, which describes differences between 5.13.5 and | |
20 | 5.13.6. | |
eb32ee41 | 21 | |
8f97a47a | 22 | =head1 Notice |
eb32ee41 | 23 | |
8f97a47a | 24 | XXX Any important notices here |
5e26bbbe | 25 | |
8f97a47a | 26 | =head1 Core Enhancements |
5e26bbbe | 27 | |
8f97a47a TM |
28 | XXX New core language features go here. Summarise user-visible core language |
29 | enhancements. Particularly prominent performance optimisations could go | |
30 | here, but most should go in the L</Performance Enhancements> section. | |
5e26bbbe | 31 | |
8f97a47a | 32 | [ List each enhancement as a =head2 entry ] |
4f65bc30 | 33 | |
c035a075 DG |
34 | =head2 Single term prototype |
35 | ||
36 | The C<+> prototype is a special alternative to C<$> that will act like | |
37 | C<\[@%]> when given a literal array or hash variable, but will otherwise | |
38 | force scalar context on the argument. This is useful for functions which | |
39 | should accept either a literal array or an array reference as the argument: | |
40 | ||
41 | sub smartpush (+@) { | |
42 | my $aref = shift; | |
43 | die "Not an array or arrayref" unless ref $aref eq 'ARRAY'; | |
44 | push @$aref, @_; | |
45 | } | |
46 | ||
47 | When using the C<+> prototype, your function must check that the argument | |
48 | is of an acceptable type. | |
49 | ||
b7bd32cc FC |
50 | =head2 C<use re '/flags';> |
51 | ||
52 | The C<re> pragma now has the ability to turn on regular expression flags | |
53 | till the end of the lexical scope: | |
54 | ||
55 | use re '/x'; | |
56 | "foo" =~ / (.+) /; # /x implied | |
57 | ||
58 | See L<re/'/flags' mode> for details. | |
59 | ||
8f97a47a | 60 | =head1 Security |
4f65bc30 | 61 | |
8f97a47a TM |
62 | XXX Any security-related notices go here. In particular, any security |
63 | vulnerabilities closed should be noted here rather than in the | |
64 | L</Selected Bug Fixes> section. | |
0eec0a4c | 65 | |
8f97a47a | 66 | [ List each security issue as a =head2 entry ] |
0eec0a4c | 67 | |
4c793fe3 FR |
68 | =head1 Incompatible Changes |
69 | ||
8f97a47a | 70 | XXX For a release on a stable branch, this section aspires to be: |
9de15fec | 71 | |
8f97a47a TM |
72 | There are no changes intentionally incompatible with 5.XXX.XXX. If any |
73 | exist, they are bugs and reports are welcome. | |
9de15fec | 74 | |
8f97a47a | 75 | [ List each incompatible change as a =head2 entry ] |
9de15fec | 76 | |
8f97a47a | 77 | =head1 Deprecations |
6904a83f | 78 | |
8f97a47a TM |
79 | XXX Any deprecated features, syntax, modules etc. should be listed here. |
80 | In particular, deprecated modules should be listed here even if they are | |
81 | listed as an updated module in the L</Modules and Pragmata> section. | |
6904a83f | 82 | |
8f97a47a | 83 | [ List each deprecation as a =head2 entry ] |
afa74577 | 84 | |
4c793fe3 FR |
85 | =head1 Performance Enhancements |
86 | ||
8f97a47a TM |
87 | XXX Changes which enhance performance without changing behaviour go here. There |
88 | may well be none in a stable release. | |
4c793fe3 | 89 | |
8f97a47a | 90 | [ List each enhancement as a =item entry ] |
e2babdfb | 91 | |
8f97a47a | 92 | =over 4 |
e2babdfb | 93 | |
b141c43c FR |
94 | =item * |
95 | ||
8f97a47a | 96 | XXX |
b141c43c | 97 | |
4c793fe3 FR |
98 | =back |
99 | ||
100 | =head1 Modules and Pragmata | |
101 | ||
8f97a47a TM |
102 | XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/> |
103 | go here. If Module::CoreList is updated, generate an initial draft of the | |
104 | following sections using F<Porting/corelist-perldelta.pl>, which prints stub | |
105 | entries to STDOUT. Results can be pasted in place of the '=head2' entries | |
106 | below. A paragraph summary for important changes should then be added by hand. | |
107 | In an ideal world, dual-life modules would have a F<Changes> file that could be | |
108 | cribbed. | |
e2941eb0 | 109 | |
8f97a47a | 110 | [ Within each section, list entries as a =item entry ] |
e2941eb0 | 111 | |
8f97a47a | 112 | =head2 New Modules and Pragmata |
25e68b8b | 113 | |
8f97a47a | 114 | =over 4 |
463da0ac CBW |
115 | |
116 | =item * | |
117 | ||
8f97a47a | 118 | XXX |
6481ebaf | 119 | |
8f97a47a | 120 | =back |
6481ebaf | 121 | |
8f97a47a | 122 | =head2 Updated Modules and Pragmata |
6481ebaf | 123 | |
8f97a47a | 124 | =over 4 |
ac4c9720 CBW |
125 | |
126 | =item * | |
127 | ||
9f1eb87f CBW |
128 | C<Archive::Extract> has been upgraded from 0.44 to 0.46 |
129 | ||
130 | Resolves an issue with NetBSD-current and its new unzip | |
131 | executable. | |
132 | ||
133 | =item * | |
134 | ||
b7bd32cc FC |
135 | XXX What should the version be? |
136 | ||
137 | C<B::Deparse> has been upgraded from 0.99 to ???. | |
138 | ||
139 | It fixes deparsing of C<our> followed by a variable with funny characters | |
140 | (as permitted under the C<utf8> pragma) | |
141 | L<[perl #33752]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=33752>. | |
142 | ||
143 | =item * | |
144 | ||
145 | C<charnames> has been upgraded from 1.16 to 1.17. | |
146 | ||
147 | The algorithm used by C<charnames::viacode> to look up names has been | |
148 | rewritten to run faster | |
149 | L<[perl #75448]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75448>. | |
150 | ||
151 | =item * | |
152 | ||
07be2ace CBW |
153 | C<CPAN> has been upgraded from 1.94_61 to 1.94_62 |
154 | ||
155 | =item * | |
156 | ||
c39f7439 FC |
157 | C<GDBM_File> has been upgraded from 1.11 to 1.12. |
158 | ||
159 | This fixes a memory leak when DBM filters are used. | |
160 | ||
161 | =item * | |
162 | ||
e1be28b4 TR |
163 | C<Locale::Maketext> has been upgraded from 1.16 to 1.17 |
164 | ||
165 | =item * | |
166 | ||
c39f7439 FC |
167 | C<NDBM_File> has been upgraded from 1.09 to 1.10. |
168 | ||
169 | This fixes a memory leak when DBM filters are used. | |
170 | ||
171 | =item * | |
172 | ||
173 | C<ODBM_File> has been upgraded from 1.08 to 1.09. | |
174 | ||
175 | This fixes a memory leak when DBM filters are used. | |
176 | ||
177 | =item * | |
178 | ||
b7bd32cc FC |
179 | C<re> has been upgraded from 0.13 to 0.14, for the sake of the new |
180 | C<use re "/flags"> pragma. | |
dfa4c013 | 181 | |
8f97a47a | 182 | =back |
dfa4c013 | 183 | |
8f97a47a | 184 | =head2 Removed Modules and Pragmata |
c02ee425 | 185 | |
8f97a47a | 186 | =over 4 |
1393fe00 CBW |
187 | |
188 | =item * | |
189 | ||
8f97a47a | 190 | XXX |
c9a84c8b | 191 | |
8f97a47a | 192 | =back |
918184d1 | 193 | |
8f97a47a | 194 | =head1 Documentation |
918184d1 | 195 | |
8f97a47a TM |
196 | XXX Changes to files in F<pod/> go here. Consider grouping entries by |
197 | file and be sure to link to the appropriate page, e.g. L<perlfunc>. | |
918184d1 | 198 | |
8f97a47a | 199 | =head2 New Documentation |
dca41e57 | 200 | |
8f97a47a | 201 | XXX Changes which create B<new> files in F<pod/> go here. |
dca41e57 | 202 | |
8f97a47a | 203 | =head3 L<XXX> |
c9a84c8b | 204 | |
8f97a47a | 205 | XXX Description of the purpose of the new file here |
4c793fe3 | 206 | |
ee0887a9 | 207 | =head2 Changes to Existing Documentation |
fc1418b7 | 208 | |
8f97a47a TM |
209 | XXX Changes which significantly change existing files in F<pod/> go here. |
210 | However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics> | |
211 | section. | |
212 | ||
213 | =head3 L<XXX> | |
e2babdfb | 214 | |
7bc3efda SH |
215 | =over 4 |
216 | ||
217 | =item * | |
218 | ||
8f97a47a | 219 | XXX Description of the change here |
7bc3efda SH |
220 | |
221 | =back | |
e2babdfb | 222 | |
4c793fe3 FR |
223 | =head1 Diagnostics |
224 | ||
225 | The following additions or changes have been made to diagnostic output, | |
226 | including warnings and fatal error messages. For the complete list of | |
227 | diagnostic messages, see L<perldiag>. | |
228 | ||
8f97a47a TM |
229 | XXX New or changed warnings emitted by the core's C<C> code go here. Also |
230 | include any changes in L<perldiag> that reconcile it to the C<C> code. | |
4c793fe3 | 231 | |
8f97a47a | 232 | [ Within each section, list entries as a =item entry ] |
4c793fe3 | 233 | |
8f97a47a | 234 | =head2 New Diagnostics |
4c793fe3 | 235 | |
8f97a47a | 236 | XXX Newly added diagnostic messages go here |
dc08898c FC |
237 | |
238 | =over 4 | |
239 | ||
240 | =item * | |
241 | ||
8f97a47a | 242 | XXX |
dc08898c FC |
243 | |
244 | =back | |
245 | ||
8f97a47a | 246 | =head2 Changes to Existing Diagnostics |
4c793fe3 | 247 | |
8f97a47a | 248 | XXX Changes (i.e. rewording) of diagnostic messages go here |
0c692eed | 249 | |
ee0887a9 | 250 | =over 4 |
0c692eed FR |
251 | |
252 | =item * | |
253 | ||
8f97a47a | 254 | XXX |
4c793fe3 FR |
255 | |
256 | =back | |
257 | ||
8f97a47a | 258 | =head1 Utility Changes |
810f3b7c | 259 | |
8f97a47a TM |
260 | XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go |
261 | here. Most of these are built within the directories F<utils> and F<x2p>. | |
a9e68e41 | 262 | |
8f97a47a TM |
263 | [ List utility changes as a =head3 entry for each utility and =item |
264 | entries for each change | |
265 | Use L<XXX> with program names to get proper documentation linking. ] | |
a9e68e41 | 266 | |
8f97a47a | 267 | =head3 L<XXX> |
85318b69 | 268 | |
ee0887a9 | 269 | =over 4 |
80b6a949 | 270 | |
e2babdfb FR |
271 | =item * |
272 | ||
8f97a47a | 273 | XXX |
9ae8c3d9 | 274 | |
ee0887a9 | 275 | =back |
e2babdfb | 276 | |
8f97a47a | 277 | =head1 Configuration and Compilation |
e2babdfb | 278 | |
8f97a47a TM |
279 | XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools |
280 | go here. Any other changes to the Perl build process should be listed here. | |
281 | However, any platform-specific changes should be listed in the | |
282 | L</Platform Support> section, instead. | |
346e4e56 | 283 | |
8f97a47a | 284 | [ List changes as a =item entry ]. |
78846812 | 285 | |
8f97a47a | 286 | =over 4 |
e54f3f30 FC |
287 | |
288 | =item * | |
289 | ||
8f97a47a | 290 | XXX |
e54f3f30 | 291 | |
8f97a47a | 292 | =back |
a5763045 | 293 | |
8f97a47a | 294 | =head1 Testing |
5a9a79a4 | 295 | |
8f97a47a TM |
296 | XXX Any significant changes to the testing of a freshly built perl should be |
297 | listed here. Changes which create B<new> files in F<t/> go here as do any | |
298 | large changes to the testing harness (e.g. when parallel testing was added). | |
299 | Changes to existing files in F<t/> aren't worth summarising, although the bugs | |
300 | that they represent may be covered elsewhere. | |
5a9a79a4 | 301 | |
8f97a47a | 302 | [ List each test improvement as a =item entry ] |
a7e93501 | 303 | |
8f97a47a | 304 | =over 4 |
a7e93501 FC |
305 | |
306 | =item * | |
307 | ||
8f97a47a | 308 | XXX |
a7e93501 | 309 | |
8f97a47a | 310 | =back |
a7e93501 | 311 | |
8f97a47a | 312 | =head1 Platform Support |
a7e93501 | 313 | |
8f97a47a | 314 | XXX Any changes to platform support should be listed in the sections below. |
a7e93501 | 315 | |
8f97a47a TM |
316 | [ Within the sections, list each platform as a =item entry with specific |
317 | changes as paragraphs below it. ] | |
a7e93501 | 318 | |
8f97a47a | 319 | =head2 New Platforms |
d4a59e54 | 320 | |
8f97a47a TM |
321 | XXX List any platforms that this version of perl compiles on, that previous |
322 | versions did not. These will either be enabled by new files in the F<hints/> | |
323 | directories, or new subdirectories and F<README> files at the top level of the | |
324 | source tree. | |
d4a59e54 | 325 | |
8f97a47a | 326 | =over 4 |
dc08898c | 327 | |
8f97a47a | 328 | =item XXX-some-platform |
dc08898c | 329 | |
8f97a47a | 330 | XXX |
dc08898c | 331 | |
8f97a47a | 332 | =back |
6904a83f | 333 | |
8f97a47a | 334 | =head2 Discontinued Platforms |
6904a83f | 335 | |
8f97a47a | 336 | XXX List any platforms that this version of perl no longer compiles on. |
6904a83f | 337 | |
8f97a47a | 338 | =over 4 |
cffb3698 | 339 | |
8f97a47a | 340 | =item XXX-some-platform |
ab4c2c27 | 341 | |
8f97a47a | 342 | XXX |
ab4c2c27 | 343 | |
8f97a47a | 344 | =back |
be1cc451 | 345 | |
8f97a47a | 346 | =head2 Platform-Specific Notes |
be1cc451 | 347 | |
8f97a47a TM |
348 | XXX List any changes for specific platforms. This could include configuration |
349 | and compilation changes or changes in portability/compatibility. However, | |
350 | changes within modules for platforms should generally be listed in the | |
351 | L</Modules and Pragmata> section. | |
b20c4ee1 | 352 | |
8f97a47a | 353 | =over 4 |
b20c4ee1 | 354 | |
8f97a47a | 355 | =item XXX-some-platform |
afa74577 | 356 | |
8f97a47a | 357 | XXX |
afa74577 | 358 | |
8f97a47a | 359 | =back |
c8bbf675 | 360 | |
8f97a47a | 361 | =head1 Internal Changes |
c8bbf675 | 362 | |
8f97a47a TM |
363 | XXX Changes which affect the interface available to C<XS> code go here. |
364 | Other significant internal changes for future core maintainers should | |
365 | be noted as well. | |
07d5f7aa | 366 | |
8f97a47a | 367 | [ List each test improvement as a =item entry ] |
07d5f7aa | 368 | |
8f97a47a | 369 | =over 4 |
07d5f7aa | 370 | |
9ae8c3d9 FC |
371 | =item * |
372 | ||
b7bd32cc FC |
373 | C<lex_start> has been added to the API, but is considered experimental. |
374 | ||
375 | =item * | |
376 | ||
377 | A new C<parse_block> function has been added to the API | |
378 | L<[perl #78222]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78222>. | |
379 | ||
380 | =item * | |
381 | ||
c678e617 | 382 | A new, experimental API has been added for accessing the internal |
b7bd32cc FC |
383 | structure that Perl uses for C<%^H>. See the functions beginning with |
384 | C<cophh_> in L<perlapi>. | |
9ae8c3d9 | 385 | |
8f97a47a | 386 | =back |
825563b9 | 387 | |
8f97a47a | 388 | =head1 Selected Bug Fixes |
825563b9 | 389 | |
8f97a47a TM |
390 | XXX Important bug fixes in the core language are summarised here. |
391 | Bug fixes in files in F<ext/> and F<lib/> are best summarised in | |
392 | L</Modules and Pragmata>. | |
825563b9 | 393 | |
8f97a47a | 394 | [ List each fix as a =item entry ] |
825563b9 | 395 | |
8f97a47a | 396 | =over 4 |
825563b9 | 397 | |
020fe755 AB |
398 | =item * |
399 | ||
b7bd32cc FC |
400 | The C<parse_stmt> C function added in earlier in the 5.13.x series has been |
401 | fixed to work with statements ending with C<}> | |
402 | L<[perl #78222]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78222>. | |
403 | ||
404 | =item * | |
405 | ||
406 | The C<parse_fullstmt> C function added in 5.13.5 has been fixed to work | |
407 | when called while an expression is being parsed. | |
408 | ||
409 | =item * | |
410 | ||
411 | Characters in the Latin-1 non-ASCII range (0x80 to 0xFF) used not to match | |
412 | themselves if the string happened to be UTF8-encoded internally, the | |
413 | regular expression was not, and the character in the regular expression was | |
414 | inside a repeated group (e.g., | |
c678e617 | 415 | C<Encode::decode_utf8("\303\200") =~ /(\xc0)+/>) |
b7bd32cc FC |
416 | L<[perl #78464]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78464>. |
417 | ||
418 | =item * | |
419 | ||
420 | The C<(?d)> regular expression construct now overrides a previous C<(?u)> | |
421 | or C<use feature "unicode_string"> | |
422 | L<[perl #78508]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78508>. | |
423 | ||
424 | =item * | |
425 | ||
426 | A memory leak in C<do "file">, introduced in perl 5.13.6, has been fixed | |
427 | L<[perl #78488]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78488>. | |
020fe755 | 428 | |
8f97a47a | 429 | =back |
020fe755 | 430 | |
8f97a47a | 431 | =head1 Known Problems |
020fe755 | 432 | |
8f97a47a TM |
433 | XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any |
434 | tests that had to be C<TODO>ed for the release would be noted here, unless | |
435 | they were specific to a particular platform (see below). | |
62ff64ce | 436 | |
8f97a47a TM |
437 | This is a list of some significant unfixed bugs, which are regressions |
438 | from either 5.XXX.XXX or 5.XXX.XXX. | |
62ff64ce | 439 | |
8f97a47a | 440 | [ List each fix as a =item entry ] |
62ff64ce | 441 | |
8f97a47a | 442 | =over 4 |
62ff64ce FC |
443 | |
444 | =item * | |
445 | ||
8f97a47a | 446 | XXX |
62ff64ce | 447 | |
4c793fe3 FR |
448 | =back |
449 | ||
8f97a47a | 450 | =head1 Obituary |
405fd67e | 451 | |
8f97a47a TM |
452 | XXX If any significant core contributor has died, we've added a short obituary |
453 | here. | |
405fd67e | 454 | |
ee0887a9 | 455 | =head1 Acknowledgements |
0195fb5f | 456 | |
8f97a47a | 457 | XXX The list of people to thank goes here. |
4c793fe3 FR |
458 | |
459 | =head1 Reporting Bugs | |
460 | ||
461 | If you find what you think is a bug, you might check the articles | |
462 | recently posted to the comp.lang.perl.misc newsgroup and the perl | |
463 | bug database at http://rt.perl.org/perlbug/ . There may also be | |
464 | information at http://www.perl.org/ , the Perl Home Page. | |
465 | ||
466 | If you believe you have an unreported bug, please run the B<perlbug> | |
467 | program included with your release. Be sure to trim your bug down | |
468 | to a tiny but sufficient test case. Your bug report, along with the | |
469 | output of C<perl -V>, will be sent off to perlbug@perl.org to be | |
470 | analysed by the Perl porting team. | |
471 | ||
472 | If the bug you are reporting has security implications, which make it | |
473 | inappropriate to send to a publicly archived mailing list, then please send | |
ee0887a9 | 474 | it to perl5-security-report@perl.org. This points to a closed subscription |
4c793fe3 FR |
475 | unarchived mailing list, which includes all the core committers, who be able |
476 | to help assess the impact of issues, figure out a resolution, and help | |
477 | co-ordinate the release of patches to mitigate or fix the problem across all | |
ee0887a9 | 478 | platforms on which Perl is supported. Please only use this address for |
4c793fe3 FR |
479 | security issues in the Perl core, not for modules independently |
480 | distributed on CPAN. | |
481 | ||
482 | =head1 SEE ALSO | |
483 | ||
484 | The F<Changes> file for an explanation of how to view exhaustive details | |
485 | on what changed. | |
486 | ||
487 | The F<INSTALL> file for how to build Perl. | |
488 | ||
489 | The F<README> file for general stuff. | |
490 | ||
491 | The F<Artistic> and F<Copying> files for copyright information. | |
492 | ||
493 | =cut |