Commit | Line | Data |
---|---|---|
855e1b21 NC |
1 | =encoding utf8 |
2 | ||
3 | =head1 NAME | |
4 | ||
f6dcdeff | 5 | perl5133delta - what is new for perl v5.13.3 |
855e1b21 NC |
6 | |
7 | =head1 DESCRIPTION | |
8 | ||
9 | This document describes differences between the 5.13.3 release and | |
10 | the 5.13.2 release. | |
11 | ||
7ea08b87 DG |
12 | If you are upgrading from an earlier release such as 5.13.1, first read |
13 | L<perl5132delta>, which describes differences between 5.13.1 and | |
14 | 5.13.2. | |
855e1b21 | 15 | |
7ea08b87 DG |
16 | =head1 Core Enhancements |
17 | ||
09476ae3 | 18 | =head2 \o{...} for octals |
f0a2b745 | 19 | |
09476ae3 | 20 | There is a new escape sequence, C<"\o">, in double-quote-like contexts. |
eba1105e | 21 | It must be followed by braces enclosing an octal number of at least one |
09476ae3 DG |
22 | digit. It interpolates as the character with an ordinal value equal to |
23 | the octal number. This construct allows large octal ordinals beyond the | |
24 | current max of 0777 to be represented. It also allows you to specify a | |
25 | character in octal which can safely be concatenated with other regex | |
26 | snippets and which won't be confused with being a backreference to | |
27 | a regex capture group. See L<perlre/Capture groups>. | |
f0a2b745 | 28 | |
63098191 | 29 | =head2 C<\N{I<name>}> and C<charnames> enhancements |
16036bcd | 30 | |
eba1105e DG |
31 | C<\N{}> and C<charnames::vianame> now know about the abbreviated |
32 | character names listed by Unicode, such as NBSP, SHY, LRO, ZWJ, etc., as | |
33 | well as all the customary abbreviations for the C0 and C1 control | |
34 | characters (such as ACK, BEL, CAN, etc.), as well as a few new variants | |
35 | in common usage of some C1 full names. | |
16036bcd | 36 | |
eba1105e DG |
37 | In the past, it was ineffective to override one of Perl's abbreviations |
38 | with your own custom alias. Now it works. | |
16036bcd | 39 | |
09476ae3 | 40 | You can also create a custom alias directly to the ordinal of a |
eba1105e DG |
41 | character, known by C<\N{...}>, C<charnames::vianame()>, and |
42 | C<charnames::viacode()>. Previously, an alias had to be to an official | |
43 | Unicode character name. This made it impossible to create an alias for | |
44 | a code point that had no name, such as the ones reserved for private | |
45 | use. So this change allows you to make more effective use of private | |
46 | use characters. Only if there is no official name will | |
47 | C<charnames::viacode()> return your custom one. | |
232cbbee KW |
48 | |
49 | See L<charnames> for details on all these changes. | |
50 | ||
cdd0aa9c | 51 | =head2 Uppercase X/B allowed in hexadecimal/binary literals |
655d344e | 52 | |
2b32d74c AB |
53 | Literals may now use either upper case C<0X...> or C<0B...> prefixes, |
54 | in addition to the already supported C<0x...> and C<0b...> | |
0aefc26d | 55 | syntax. (RT#76296) (a674e8d, 333f87f) |
2b32d74c AB |
56 | |
57 | C, Ruby, Python and PHP already supported this syntax, and it makes | |
58 | Perl more internally consistent. A round-trip with C<eval sprintf | |
59 | "%#X", 0x10> now returns C<16> in addition to C<eval sprintf "%#x", | |
60 | 0x10>, which worked before. | |
efdecbbd | 61 | |
855e1b21 NC |
62 | =head1 Incompatible Changes |
63 | ||
fa1639c5 KW |
64 | =head2 \400 - \777 |
65 | ||
eba1105e | 66 | Use of C<\400> - C<\777> in regexes in certain circumstances has given |
09476ae3 DG |
67 | different, anomalous behavior than their use in all other |
68 | double-quote-like contexts. Since 5.10.1, a deprecated warning message | |
69 | has been raised when this happens. Now, all double-quote-like contexts | |
70 | have the same behavior, namely to be equivalent to C<\x{100}> - | |
71 | C<\x{1FF}>, with no deprecation warning. Use of these values in the | |
72 | command line option C<"-0"> retains the current meaning to slurp input | |
73 | files whole; previously, this was documented only for C<"-0777">. It is | |
74 | recommended, however, because of various ambiguities, to use the new | |
67c86580 | 75 | C<\o{...}> construct to represent characters in octal. |
09476ae3 | 76 | (fa1639c..f6993e9). |
fa1639c5 | 77 | |
7ea08b87 | 78 | =head1 Deprecations |
855e1b21 | 79 | |
09476ae3 | 80 | =head2 Omitting a space between a regular expression and subsequent word |
a0316a43 DG |
81 | |
82 | Omitting a space between a regex pattern or pattern modifiers and the | |
09476ae3 DG |
83 | following word is deprecated. Deprecation for regular expression |
84 | I<matches> was added in Perl 5.13.2. In this release, the deprecation | |
85 | is extended to regular expression I<substitutions>. For example, | |
a0316a43 | 86 | C<< s/foo/bar/sand $bar >> will still be parsed as |
09476ae3 | 87 | C<< s/foo/bar/s and $bar >> but will issue a warning. (aa78b66) |
a0316a43 DG |
88 | |
89 | =head2 Deprecation warning added for deprecated-in-core .pl libs | |
90 | ||
91 | This is a mandatory warning, not obeying -X or lexical warning bits. | |
92 | The warning is modelled on that supplied by deprecate.pm for | |
93 | deprecated-in-core .pm libraries. It points to the specific CPAN | |
94 | distribution that contains the .pl libraries. The CPAN version, of | |
95 | course, does not generate the warning. (0111154) | |
96 | ||
7ea08b87 DG |
97 | =head1 Performance Enhancements |
98 | ||
137127de FR |
99 | There are several small optimizations to reduce CPU cache misses in various very |
100 | commonly used modules like C<warnings> and C<Carp> as well in accessing | |
101 | file-handles for reading. | |
7ea08b87 | 102 | |
855e1b21 NC |
103 | =head1 Modules and Pragmata |
104 | ||
7ea08b87 | 105 | =head2 Updated Modules and Pragmata |
855e1b21 NC |
106 | |
107 | =over 4 | |
108 | ||
d4f63867 | 109 | =item C<autodie> |
7ea08b87 | 110 | |
d4f63867 | 111 | Upgraded from version 2.06_01 to 2.10. |
e8cfd41a | 112 | |
d4f63867 | 113 | =item C<charnames> |
e8cfd41a | 114 | |
d4f63867 | 115 | Upgraded from version 1.08 to 1.10. |
655d344e | 116 | |
d4f63867 | 117 | C<viacode()> is now significantly faster. (f3227b7) |
655d344e | 118 | |
d4f63867 | 119 | =item C<lib> |
a0316a43 | 120 | |
d4f63867 | 121 | Upgraded from version 0.62 to 0.63. |
a0316a43 | 122 | |
d4f63867 | 123 | =item C<threads> |
e8cfd41a | 124 | |
d4f63867 | 125 | Upgraded from version 1.77_02 to 1.77_03. |
e8cfd41a | 126 | |
d4f63867 | 127 | =item C<threads::shared> |
ca68faa2 | 128 | |
d4f63867 | 129 | Upgraded from version 1.33_01 to 1.33_02. |
ca68faa2 | 130 | |
d4f63867 DG |
131 | =item C<warnings> |
132 | ||
133 | Upgraded from version 1.09 to 1.10. | |
134 | ||
135 | Calling C<use warnings> without arguments is now significantly more efficient. | |
136 | (8452af9) | |
137 | ||
138 | =item C<Archive::Extract> | |
139 | ||
140 | Upgraded from version 0.38 to 0.42. | |
ca68faa2 | 141 | |
d4f63867 DG |
142 | Updates since 0.38 include: a safe print method that guards |
143 | Archive::Extract from changes to $\; a fix to the tests when run in core | |
144 | perl; support for TZ files; and a modification for the lzma logic to favour | |
145 | IO::Uncompress::Unlzma (d7f8799) | |
146 | ||
147 | =item C<Archive::Tar> | |
148 | ||
149 | Upgraded from version 1.54 to 1.64. | |
a0316a43 | 150 | |
827ada3b | 151 | Important changes since 1.54 include: compatibility with busybox |
d4f63867 DG |
152 | implementations of tar; a fix so that C<write()> and C<create_archive()> |
153 | close only handles they opened; and a bug was fixed regarding the exit code | |
154 | of extract_archive. (afabe0e) | |
827ada3b | 155 | |
d4f63867 | 156 | =item C<Attribute::Handlers> |
827ada3b | 157 | |
d4f63867 | 158 | Upgraded from version 0.87 to 0.88. |
e8cfd41a | 159 | |
d4f63867 | 160 | =item C<Compress::Raw::Bzip2> |
e8cfd41a | 161 | |
d4f63867 | 162 | Upgraded from version 2.024 to 2.027. |
655d344e | 163 | |
d4f63867 | 164 | =item C<Compress::Raw::Zlib> |
655d344e | 165 | |
d4f63867 | 166 | Upgraded from version 2.024 to 2.027_01. |
655d344e | 167 | |
d4f63867 | 168 | =item C<Compress::Zlib> |
655d344e | 169 | |
d4f63867 | 170 | Upgraded from version 2.024 to 2.027. |
a0316a43 | 171 | |
d4f63867 | 172 | =item C<CPANPLUS> |
a0316a43 | 173 | |
d4f63867 | 174 | Upgraded from version 0.90 to 0.9007. |
a0316a43 | 175 | |
d4f63867 DG |
176 | Fixed the shell test to skip if test is not being run under a terminal; |
177 | resolved the issue where a prereq on Config would not be recognised as a | |
178 | core module. (d4e225a) | |
a0316a43 | 179 | |
d4f63867 | 180 | =item C<Digest::MD5> |
a0316a43 | 181 | |
d4f63867 | 182 | Upgraded from version 2.39 to 2.40. |
2c1a561b | 183 | |
d4f63867 DG |
184 | =item C<Digest::SHA> |
185 | ||
186 | Upgraded from version 5.47 to 5.48. | |
187 | ||
188 | =item C<Exporter> | |
189 | ||
190 | Upgraded from version 5.64_02 to 5.64_03. | |
2c1a561b | 191 | |
a0316a43 DG |
192 | Exporter no longer overrides C<$SIG{__WARN__}> (RT #74472) (9b86bb5) |
193 | ||
d4f63867 | 194 | =item C<ExtUtils::CBuilder> |
a0316a43 | 195 | |
d4f63867 | 196 | Upgraded from version 0.27 to 0.2703. |
e8cfd41a | 197 | |
d4f63867 | 198 | =item C<ExtUtils::Manifest> |
e8cfd41a | 199 | |
d4f63867 | 200 | Upgraded from version 1.57 to 1.58. |
e8cfd41a | 201 | |
d4f63867 | 202 | =item C<ExtUtils::ParseXS> |
e8cfd41a | 203 | |
d4f63867 | 204 | Upgraded from version 2.2205 to 2.2206. |
a0316a43 | 205 | |
d4f63867 | 206 | =item C<File::Copy> |
a0316a43 | 207 | |
d4f63867 | 208 | Upgraded from version 2.19 to 2.20. |
a0316a43 | 209 | |
d4f63867 DG |
210 | Skips suid tests on a nosuid partition. These tests were being skipped on |
211 | OpenBSD, but nosuid partitions can exist on other systems too. Now it just | |
212 | checks if it can create a suid directory, if not the tests are skipped. | |
213 | Perl builds without errors in a nosuid /tmp with this patch. (cae9400) | |
abaa6e0e | 214 | |
d4f63867 | 215 | =item C<I18N::LangTags> |
abaa6e0e | 216 | |
d4f63867 | 217 | Upgraded from version 0.35 to 0.35_01. |
a0316a43 | 218 | |
d4f63867 | 219 | =item C<IPC::Cmd> |
655d344e | 220 | |
d4f63867 | 221 | Upgraded from version 0.58 to 0.60. |
655d344e | 222 | |
d4f63867 | 223 | =item C<IPC::SysV> |
a0316a43 | 224 | |
d4f63867 | 225 | Upgraded from version 2.01 to 2.03. |
a0316a43 | 226 | |
d4f63867 | 227 | =item C<Locale::Maketext> |
2d635dbf | 228 | |
d4f63867 | 229 | Upgraded from version 1.14 to 1.15. |
a0316a43 DG |
230 | |
231 | Locale::Maketext guts have been merged back into the main module (87d86da) | |
232 | and adds external cache support (ace47d6) | |
233 | ||
d4f63867 | 234 | =item C<Module::Build> |
2d635dbf | 235 | |
d4f63867 | 236 | Upgraded from version 0.3603 to 0.3607. |
655d344e | 237 | |
d4f63867 | 238 | =item C<Module::CoreList> |
655d344e | 239 | |
d4f63867 | 240 | Upgraded from version 2.34 to 2.36. |
ee10537b | 241 | |
d4f63867 | 242 | =item C<Module::Load> |
ee10537b | 243 | |
d4f63867 | 244 | Upgraded from version 0.16 to 0.18. |
e417c914 | 245 | |
d4f63867 | 246 | =item C<Term::ANSIColor> |
e417c914 | 247 | |
d4f63867 DG |
248 | Upgraded from version 2.02 to 3.00. |
249 | ||
250 | =item C<Test::Harness> | |
251 | ||
252 | Upgraded from version 3.17 to 3.21. | |
dd5f6923 | 253 | |
fd63f474 | 254 | The core update from Test-Harness 3.17 to 3.21 fixed some things, but |
d4f63867 DG |
255 | also L<introduced a known problem|/"Known Problems"> with argument |
256 | passing to non-Perl tests. | |
fd63f474 | 257 | |
d4f63867 | 258 | =item C<Time::HiRes> |
dd5f6923 | 259 | |
d4f63867 | 260 | Upgraded from version 1.9719 to 1.9721. |
e8cfd41a | 261 | |
d4f63867 | 262 | =item C<Time::Piece> |
e8cfd41a | 263 | |
d4f63867 | 264 | Upgraded from version 1.15_01 to 1.20_01. |
e8cfd41a | 265 | |
d4f63867 | 266 | =item C<Unicode::Collate> |
e8cfd41a | 267 | |
d4f63867 | 268 | Upgraded from version 0.52_01 to 0.53. |
e8cfd41a | 269 | |
d4f63867 | 270 | Includes Unicode Collation Algorithm 18 (74b94a7) |
e8cfd41a | 271 | |
d4f63867 DG |
272 | =item C<Unicode::Normalize> |
273 | ||
274 | Upgraded from version 1.03 to 1.06. | |
7ea08b87 DG |
275 | |
276 | =back | |
277 | ||
7ea08b87 DG |
278 | =head1 Documentation |
279 | ||
7ea08b87 | 280 | =head2 New Documentation |
855e1b21 | 281 | |
a0316a43 | 282 | =head3 L<perl5121delta> |
855e1b21 | 283 | |
655d344e | 284 | The Perl 5.12.1 perldelta file was added from the Perl maintenance branch |
855e1b21 | 285 | |
7ea08b87 | 286 | =head2 Changes to Existing Documentation |
855e1b21 | 287 | |
a0316a43 | 288 | =head3 General changes |
655d344e | 289 | |
a0316a43 | 290 | =over |
855e1b21 | 291 | |
655d344e | 292 | =item * |
855e1b21 | 293 | |
09476ae3 | 294 | Octal character escapes in documentation now prefer a three-digit octal |
67c86580 | 295 | escape or the new C<\o{...}> escape as they have more consistent behavior |
cdd0aa9c | 296 | in different contexts than other forms. (ce7b6f0) (d8b950d) (e1f120a) |
a0316a43 DG |
297 | |
298 | =item * | |
299 | ||
300 | Documentation now standardizes on the term 'capture group' over 'buffer' | |
cdd0aa9c | 301 | in regular expression documentation (c27a5cf) |
655d344e DG |
302 | |
303 | =back | |
304 | ||
305 | =head3 L<perlfunc> | |
306 | ||
307 | =over | |
308 | ||
309 | =item * | |
310 | ||
311 | Added cautionary note about "no VERSION" (e0de7c2) | |
312 | ||
313 | =item * | |
314 | ||
09476ae3 | 315 | Added additional notes regarding srand when forking (d460397) |
7ea08b87 DG |
316 | |
317 | =back | |
318 | ||
a0316a43 DG |
319 | =head3 L<perlop> |
320 | ||
321 | =over 4 | |
322 | ||
323 | =item * | |
324 | ||
767b1673 | 325 | Improved documentation of unusual character escapes (4068718, 9644846) |
a0316a43 | 326 | |
cdd0aa9c DG |
327 | =item * |
328 | ||
09476ae3 DG |
329 | Clarified how hexadecimal escapes are interpreted, with particular |
330 | attention to the treatment of invalid characters (9644846) | |
cdd0aa9c | 331 | |
a0316a43 DG |
332 | =back |
333 | ||
334 | =head3 L<perlrun> | |
335 | ||
336 | =over | |
337 | ||
338 | =item * | |
339 | ||
09476ae3 | 340 | Clarified the behavior of the C<-0NNN> switch for C<-0400> or higher (7ba31cb) |
a0316a43 DG |
341 | |
342 | =back | |
343 | ||
344 | =head3 L<perlpolicy> | |
345 | ||
346 | =over | |
347 | ||
348 | =item * | |
349 | ||
350 | Added the policy on compatibility and deprecation along with definitions of | |
351 | terms like "deprecation" (70e4a83) | |
352 | ||
353 | =back | |
354 | ||
cdd0aa9c DG |
355 | =head3 L<perlre> |
356 | ||
357 | =over | |
358 | ||
359 | =item * | |
360 | ||
09476ae3 | 361 | Added examples of the perils of not using \g{} when there are more |
cdd0aa9c DG |
362 | than nine back-references (9d86067) |
363 | ||
364 | =back | |
365 | ||
a0316a43 DG |
366 | =head3 L<perltie> |
367 | ||
368 | =over | |
369 | ||
370 | =item * | |
371 | ||
09476ae3 | 372 | Updated some examples for modern Perl style (67d00dd) |
a0316a43 DG |
373 | |
374 | =back | |
375 | ||
7ea08b87 DG |
376 | =head1 Utility Changes |
377 | ||
a0316a43 | 378 | =head3 L<perldb> |
7ea08b87 | 379 | |
a0316a43 | 380 | =over |
7ea08b87 | 381 | |
976a3bea JJ |
382 | =item * |
383 | ||
384 | The remote terminal works after forking and spawns new sessions - one | |
09476ae3 | 385 | for each forked process (11653f7) |
976a3bea | 386 | |
09476ae3 | 387 | =item * |
855e1b21 | 388 | |
a0316a43 | 389 | Uses the less pager path from Config instead of searching for it (bf320d6) |
855e1b21 | 390 | |
7ea08b87 DG |
391 | =back |
392 | ||
393 | =head1 Configuration and Compilation | |
394 | ||
855e1b21 NC |
395 | =over 4 |
396 | ||
7ea08b87 | 397 | =item * |
855e1b21 | 398 | |
09476ae3 DG |
399 | Adjusted 'make test.valgrind' to account for cpan/dist/ext separation |
400 | (e07ce2e) | |
855e1b21 NC |
401 | |
402 | =back | |
403 | ||
7ea08b87 | 404 | =head1 Testing |
855e1b21 | 405 | |
855e1b21 NC |
406 | =over 4 |
407 | ||
408 | =item * | |
409 | ||
655d344e DG |
410 | F<t/harness> clears PERL5LIB, PERLLIB, PERL5OPT as t/TEST does (a2d3de1) |
411 | ||
412 | =item * | |
413 | ||
414 | Many common testing routines were refactored into t/lib/common.pl | |
415 | ||
416 | =item * | |
417 | ||
418 | Several test files have been modernized to use Test::More | |
855e1b21 NC |
419 | |
420 | =back | |
421 | ||
7ea08b87 DG |
422 | =head1 Platform Support |
423 | ||
7ea08b87 | 424 | =head2 Discontinued Platforms |
855e1b21 | 425 | |
855e1b21 NC |
426 | =over 4 |
427 | ||
e8cfd41a | 428 | =item MacOS Classic |
855e1b21 | 429 | |
e8cfd41a DG |
430 | Support for MacOS Classic within ExtUtils::MakeMaker was removed from Perl in |
431 | December 2004. Vestigial MacOS Classic specific code has now been removed | |
09476ae3 | 432 | from other core modules as well (8f8c2a4..c457df0) |
855e1b21 NC |
433 | |
434 | =back | |
435 | ||
7ea08b87 | 436 | =head2 Platform-Specific Notes |
855e1b21 | 437 | |
855e1b21 NC |
438 | =over 4 |
439 | ||
a0316a43 | 440 | =item Win32 |
855e1b21 | 441 | |
a0316a43 | 442 | t/io/openpid.t now uses the alarm() watchdog strategy for more |
09476ae3 | 443 | robustness (5732108) |
855e1b21 NC |
444 | |
445 | =back | |
446 | ||
7ea08b87 | 447 | =head1 Internal Changes |
855e1b21 | 448 | |
855e1b21 NC |
449 | =over 4 |
450 | ||
451 | =item * | |
452 | ||
ce1e4fda DG |
453 | Under some circumstances, the C<CvGV()> field of a CV is now reference |
454 | counted. To ensure consistent behaviour, direct assignment to it, for | |
455 | example C<CvGV(cv) = gv> is now a compile-time error. A new macro, | |
456 | C<CvGV_set(cv,gv)> has been introduced to perform this operation safely. | |
457 | Note that modification of this field is not part of of the public API, | |
4cd32ffe AB |
458 | regardless of this new macro. This change caused some |
459 | L<issues|/"Known Problems"> in modules that used the private C<GvGV()> | |
460 | field. | |
ce1e4fda DG |
461 | |
462 | =item * | |
463 | ||
6ea72ee3 BM |
464 | It is now possible for XS code to hook into Perl's lexical scope |
465 | mechanism at compile time, using the new C<Perl_blockhook_register> | |
466 | function. See L<perlguts/"Compile-time scope hooks">. | |
855e1b21 | 467 | |
a0316a43 | 468 | =item * |
855e1b21 | 469 | |
09476ae3 DG |
470 | Added C<Perl_croak_no_modify()> to implement |
471 | C<Perl_croak("%s", PL_no_modify)> (6ad8f25) | |
efdecbbd | 472 | |
655d344e DG |
473 | =item * |
474 | ||
09476ae3 | 475 | Added prototypes for C<tie()> and C<untie()> to allow overloading (RT#75902) |
a0316a43 DG |
476 | (1db4d19) |
477 | ||
09476ae3 | 478 | =item * |
a0316a43 DG |
479 | |
480 | Adds C<my_[l]stat_flags()> to replace C<my_[l]stat()>. C<my_stat()> and | |
481 | C<my_lstat()> call get magic on the stack arg, so create C<_flags()> | |
482 | variants that allow us to control this. (0d7d409) | |
655d344e | 483 | |
efdecbbd NC |
484 | =back |
485 | ||
7ea08b87 | 486 | =head1 Selected Bug Fixes |
855e1b21 | 487 | |
855e1b21 NC |
488 | =over 4 |
489 | ||
490 | =item * | |
491 | ||
ce1e4fda DG |
492 | Some work has been done on the internal pointers that link between symbol |
493 | tables (stashes), typeglobs and subroutines. This has the effect that | |
494 | various edge cases related to deleting stashes or stash entries (e.g. | |
495 | <%FOO:: = ()>), and complex typeglob or code reference aliasing, will no | |
496 | longer crash the interpreter. | |
497 | ||
498 | =item * | |
499 | ||
976a3bea | 500 | Fixed readline() when interrupted by signals so it no longer returns |
09476ae3 | 501 | the "same thing" as before or random memory |
976a3bea JJ |
502 | |
503 | =item * | |
504 | ||
e8cfd41a | 505 | Fixed a regression of kill() when a match variable is used for the |
09476ae3 | 506 | process ID to kill (RT#75812) (8af710e) |
e8cfd41a DG |
507 | |
508 | =item * | |
509 | ||
510 | Fixed several subtle bugs in sort() when @_ is accessed within a subroutine | |
09476ae3 | 511 | used for sorting (RT#72334) (8f443ca) |
e8cfd41a | 512 | |
655d344e DG |
513 | =item * |
514 | ||
515 | Catch yyparse() exceptions in C<< (?{...}) >> (RT#2353) (634d691) | |
516 | ||
517 | =item * | |
518 | ||
519 | Avoid UTF-8 cache panics with offsets beyond a string (RT #75898) (3e2d381) | |
520 | ||
521 | =item * | |
522 | ||
523 | Fixed POSIX::strftime memory leak (RT#73520) (c4bc4aa) | |
524 | ||
525 | =item * | |
526 | ||
09476ae3 | 527 | Doesn't set strict with C<no VERSION> if C<VERSION> is greater than 5.12 |
655d344e DG |
528 | (da8fb5d) |
529 | ||
a0316a43 DG |
530 | =item * |
531 | ||
532 | Avoids multiple FETCH/stringify on filetest ops (40c852d) | |
533 | ||
534 | =item * | |
535 | ||
536 | Fixed issue with string C<eval> not detecting taint of overloaded/tied | |
537 | arguments (RT #75716) (895b760) | |
538 | ||
539 | =item * | |
540 | ||
541 | Fix potential crashes of string C<eval> when evaluating a object with | |
542 | overloaded stringification by creating a stringified copy when necessary | |
543 | (3e5c018) | |
544 | ||
545 | =item * | |
546 | ||
547 | Fixed bug where overloaded stringification could remove tainting | |
548 | (RT #75716) (a02ec77) | |
549 | ||
550 | =item * | |
551 | ||
552 | Plugs more memory leaks in vms.c. (9e2bec0) | |
553 | ||
554 | =item * | |
555 | ||
556 | Fix pthread include error for Time::Piece (e9f284c) | |
855e1b21 NC |
557 | |
558 | =back | |
559 | ||
7ea08b87 | 560 | =head1 Known Problems |
855e1b21 | 561 | |
7ea08b87 DG |
562 | =over 4 |
563 | ||
564 | =item * | |
565 | ||
eba1105e | 566 | Bug fixes involving CvGV reference counting break Sub::Name. A |
09476ae3 | 567 | patch has been sent upstream to the maintainer |
cdd0aa9c DG |
568 | |
569 | =item * | |
570 | ||
976a3bea | 571 | readline() returns an empty string instead of undef when it is |
09476ae3 | 572 | interrupted by a signal |
7ea08b87 | 573 | |
fd63f474 AB |
574 | =item * |
575 | ||
576 | Test-Harness was updated from 3.17 to 3.21 for this release. A rewrite | |
09476ae3 | 577 | in how it handles non-Perl tests (in 3.17_01) broke argument passing to |
3f9b37f9 | 578 | non-Perl tests with L<prove> (RT #59186), and required that non-Perl |
09476ae3 DG |
579 | tests be run as C<prove ./test.sh> instead of C<prove test.sh> These |
580 | issues are being solved upstream, but didn't make it into this release. | |
581 | They're expected to be fixed in time for perl v5.13.4. (RT #59457) | |
fd63f474 | 582 | |
d4f63867 DG |
583 | =item * |
584 | ||
585 | C<version> now prevents object methods from being called as class methods | |
586 | (d808b68) | |
587 | ||
7ea08b87 | 588 | =back |
855e1b21 | 589 | |
e8cfd41a DG |
590 | =head1 Errata |
591 | ||
592 | =over 4 | |
593 | ||
594 | =item * | |
595 | ||
596 | Retroactively added the Acknowledgements list to L<perl5132delta>, | |
597 | which was excluded in the original release (d1e2db0) | |
598 | ||
599 | =back | |
600 | ||
855e1b21 NC |
601 | =head1 Acknowledgements |
602 | ||
9a33a23c DG |
603 | Perl 5.13.3 represents approximately one month of development since Perl |
604 | 5.13.2, and contains 12,184 lines of changes across 575 files from 104 | |
605 | authors and committers. | |
606 | ||
607 | Thank you to the following for contributing to this release: | |
608 | ||
609 | Abhijit Menon-Sen, Abigail, Alex Davies, Alex Vandiver, Alexandr | |
610 | Ciornii, Andreas J. Koenig, Andrew Rodland, Andy Dougherty, Aristotle | |
611 | Pagaltzis, Arkturuz, Ben Morrow, Bo Borgerson, Bo Lindbergh, Brad | |
612 | Gilbert, Bram, Brian Phillips, Chas. Owens, Chip Salzenberg, Chris | |
613 | Williams, Craig A. Berry, Curtis Jewell, Dan Dascalescu, Daniel | |
614 | Frederick Crisman, Dave Rolsky, David Caldwell, David E. Wheeler, David | |
615 | Golden, David Leadbeater, David Mitchell, Dennis Kaarsemaker, Eric | |
616 | Brine, Father Chrysostomos, Florian Ragwitz, Frank Wiegand, Gene | |
617 | Sullivan, George Greer, Gerard Goossen, Gisle Aas, Goro Fuji, Graham | |
618 | Barr, H.Merijn Brand, Harmen, Hugo van der Sanden, James E Keenan, James | |
619 | Mastros, Jan Dubois, Jerry D. Hedden, Jesse Vincent, Jim Cromie, John | |
620 | Peacock, Jos Boumans, Josh ben Jore, Karl Williamson, Kevin Ryde, Leon | |
621 | Brocard, Lubomir Rintel, Maik Hentsche, Marcus Holland-Moritz, Matt | |
622 | Johnson, Matt S Trout, Max Maischein, Michael Breen, Michael G Schwern, | |
623 | Moritz Lenz, Nga Tang Chan, Nicholas Clark, Nick Cleaton, Nick Johnston, | |
624 | Niko Tyni, Offer Kaye, Paul Marquess, Philip Hazel, Philippe Bruhat, | |
625 | Rafael Garcia-Suarez, Rainer Tammer, Reini Urban, Ricardo Signes, | |
626 | Richard Soderberg, Robin Barker, Ruslan Zakirov, Salvador Fandino, | |
627 | Salvador Ortiz Garcia, Shlomi Fish, Sinan Unur, Sisyphus, Slaven Rezic, | |
628 | Steffen Mueller, Stepan Kasal, Steve Hay, Steve Peters, Sullivan Beck, | |
629 | Tim Bunce, Todd Rinaldo, Tom Christiansen, Tom Hukins, Tony Cook, | |
630 | Vincent Pit, Yuval Kogman, Yves Orton, Zefram, brian d foy, chromatic, | |
631 | kmx, Ævar Arnfjörð Bjarmason | |
855e1b21 | 632 | |
855e1b21 NC |
633 | =head1 Reporting Bugs |
634 | ||
635 | If you find what you think is a bug, you might check the articles | |
636 | recently posted to the comp.lang.perl.misc newsgroup and the perl | |
637 | bug database at http://rt.perl.org/perlbug/ . There may also be | |
638 | information at http://www.perl.org/ , the Perl Home Page. | |
639 | ||
640 | If you believe you have an unreported bug, please run the B<perlbug> | |
641 | program included with your release. Be sure to trim your bug down | |
642 | to a tiny but sufficient test case. Your bug report, along with the | |
643 | output of C<perl -V>, will be sent off to perlbug@perl.org to be | |
644 | analysed by the Perl porting team. | |
645 | ||
646 | If the bug you are reporting has security implications, which make it | |
647 | inappropriate to send to a publicly archived mailing list, then please send | |
648 | it to perl5-security-report@perl.org. This points to a closed subscription | |
649 | unarchived mailing list, which includes all the core committers, who be able | |
650 | to help assess the impact of issues, figure out a resolution, and help | |
651 | co-ordinate the release of patches to mitigate or fix the problem across all | |
652 | platforms on which Perl is supported. Please only use this address for | |
653 | security issues in the Perl core, not for modules independently | |
654 | distributed on CPAN. | |
655 | ||
656 | =head1 SEE ALSO | |
657 | ||
658 | The F<Changes> file for an explanation of how to view exhaustive details | |
659 | on what changed. | |
660 | ||
661 | The F<INSTALL> file for how to build Perl. | |
662 | ||
663 | The F<README> file for general stuff. | |
664 | ||
665 | The F<Artistic> and F<Copying> files for copyright information. | |
666 | ||
667 | =cut |