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