Commit | Line | Data |
---|---|---|
44691e6f AB |
1 | =encoding utf8 |
2 | ||
3 | =head1 NAME | |
4 | ||
61174fb5 Z |
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.17.1 | |
27f00e3d | 9 | |
f9001595 | 10 | =head1 DESCRIPTION |
2630d42b | 11 | |
61174fb5 Z |
12 | This document describes differences between the 5.17.0 release and |
13 | the 5.17.1 release. | |
7620cb10 | 14 | |
f9001595 | 15 | If you are upgrading from an earlier release such as 5.16.0, first read |
61174fb5 Z |
16 | L<perl5170delta>, which describes differences between 5.16.0 and |
17 | 5.17.0. | |
d7c042c9 | 18 | |
61174fb5 | 19 | =head1 Notice |
2e2b2571 | 20 | |
61174fb5 | 21 | XXX Any important notices here |
417a992d | 22 | |
61174fb5 | 23 | =head1 Core Enhancements |
417a992d | 24 | |
61174fb5 Z |
25 | XXX New core language features go here. Summarise user-visible core language |
26 | enhancements. Particularly prominent performance optimisations could go | |
27 | here, but most should go in the L</Performance Enhancements> section. | |
417a992d | 28 | |
61174fb5 | 29 | [ List each enhancement as a =head2 entry ] |
075b9d7d | 30 | |
028c8719 FC |
31 | =head2 More CORE:: subs |
32 | ||
33 | Several more built-in functions have been added as subroutines to the | |
34 | CORE:: namespace, namely, those non-overridable keywords that can be | |
35 | implemented without custom parsers: C<defined>, C<delete>, C<exists>, | |
36 | C<glob>, C<pos>, C<protoytpe>, C<scalar>, C<split>, C<study>, C<undef>, | |
37 | ||
38 | As some of these have prototypes, C<prototype('CORE::...')> has been | |
39 | changed not to make a distinction between overridable and non-overridable | |
40 | keywords. This is to make C<prototype('CORE::pos')> consistent with | |
41 | C<prototype(&CORE::pos)>. | |
42 | ||
61174fb5 | 43 | =head1 Security |
075b9d7d | 44 | |
61174fb5 Z |
45 | XXX Any security-related notices go here. In particular, any security |
46 | vulnerabilities closed should be noted here rather than in the | |
47 | L</Selected Bug Fixes> section. | |
cadced9f | 48 | |
61174fb5 | 49 | [ List each security issue as a =head2 entry ] |
30608892 | 50 | |
61174fb5 | 51 | =head1 Incompatible Changes |
30608892 | 52 | |
61174fb5 | 53 | XXX For a release on a stable branch, this section aspires to be: |
05c8f9ed | 54 | |
61174fb5 Z |
55 | There are no changes intentionally incompatible with 5.XXX.XXX |
56 | If any exist, they are bugs, and we request that you submit a | |
57 | report. See L</Reporting Bugs> below. | |
05c8f9ed | 58 | |
fe3193b5 KW |
59 | =head2 C<\N{BELL}> now refers to U+1F514 instead of U+0007 |
60 | ||
61 | Unicode 6.0 reused the name "BELL" for a different code point than it | |
62 | traditionally had meant. Since Perl v5.14, use of this name still | |
63 | referred to U+0007, but would raise a deprecated warning. Now, "BELL" | |
64 | refers to U+1F514, and the name for U+0007 is "ALERT". All the | |
65 | functions in L<charnames> have been correspondingly updated. | |
05c8f9ed | 66 | |
0da72d5e KW |
67 | =head2 Alphanumeric operators must now be separated from the closing |
68 | delimter of regular expressions | |
69 | ||
70 | You may no longer write something like: | |
71 | ||
72 | m/a/and 1 | |
73 | ||
74 | Instead you must write | |
75 | ||
76 | m/a/ and 1 | |
77 | ||
78 | with whitespace separating the operator from the closing delimiter of | |
79 | the regular expression. Not having whitespace has resulted in a | |
80 | deprecated warning since Perl v5.14.0. | |
81 | ||
61174fb5 | 82 | =head1 Deprecations |
ef7131e9 | 83 | |
61174fb5 Z |
84 | XXX Any deprecated features, syntax, modules etc. should be listed here. |
85 | In particular, deprecated modules should be listed here even if they are | |
86 | listed as an updated module in the L</Modules and Pragmata> section. | |
ef7131e9 | 87 | |
61174fb5 | 88 | [ List each deprecation as a =head2 entry ] |
ef7131e9 | 89 | |
61174fb5 | 90 | =head1 Performance Enhancements |
95ce428c | 91 | |
61174fb5 Z |
92 | XXX Changes which enhance performance without changing behaviour go here. There |
93 | may well be none in a stable release. | |
c11980ad | 94 | |
61174fb5 | 95 | [ List each enhancement as a =item entry ] |
05c8f9ed | 96 | |
f9001595 | 97 | =over 4 |
75ff5956 | 98 | |
2630d42b | 99 | =item * |
c11980ad | 100 | |
61174fb5 | 101 | XXX |
53de3ff0 | 102 | |
61174fb5 | 103 | =back |
ef7131e9 | 104 | |
61174fb5 | 105 | =head1 Modules and Pragmata |
ef7131e9 | 106 | |
61174fb5 Z |
107 | XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/> |
108 | go here. If Module::CoreList is updated, generate an initial draft of the | |
109 | following sections using F<Porting/corelist-perldelta.pl>, which prints stub | |
110 | entries to STDOUT. Results can be pasted in place of the '=head2' entries | |
111 | below. A paragraph summary for important changes should then be added by hand. | |
112 | In an ideal world, dual-life modules would have a F<Changes> file that could be | |
113 | cribbed. | |
ef7131e9 | 114 | |
61174fb5 | 115 | [ Within each section, list entries as a =item entry ] |
435b0bdb | 116 | |
61174fb5 | 117 | =head2 New Modules and Pragmata |
435b0bdb | 118 | |
61174fb5 | 119 | =over 4 |
be8dfbf7 | 120 | |
435b0bdb FC |
121 | =item * |
122 | ||
61174fb5 | 123 | XXX |
83fb037c | 124 | |
61174fb5 | 125 | =back |
83fb037c | 126 | |
61174fb5 | 127 | =head2 Updated Modules and Pragmata |
83fb037c | 128 | |
61174fb5 | 129 | =over 4 |
83fb037c FC |
130 | |
131 | =item * | |
132 | ||
c01b3876 SH |
133 | L<ExtUtils::CBuilder> has been upgraded from version 0.280206 to 0.280208. |
134 | ||
135 | Manifest files are now correctly embedded for those versions of VC++ which | |
136 | make use of them. | |
137 | ||
138 | =item * | |
139 | ||
5cefbec9 FC |
140 | L<B> has been upgraded from version 1.35 to 1.36. |
141 | ||
142 | C<B::COP::stashlen> has been replaced with C<B::COP::stashoff>. | |
143 | ||
fbdb83f3 FC |
144 | C<B::COP::stashpv> now supports UTF8 package names and embedded nulls. |
145 | ||
5cefbec9 FC |
146 | =item * |
147 | ||
4d219cc2 FC |
148 | L<ExtUtils::CBuilder> has been upgraded from version 0.280206 to 0.280208. |
149 | ||
150 | It no longer fails when trying to embed manifests on Windows | |
151 | [perl #111782, #111798]. | |
152 | ||
153 | =item * | |
154 | ||
ff3f295c NC |
155 | L<File::DosGlob> has been upgraded from version 1.07 to 1.08. |
156 | ||
157 | There are no visible changes, only minor internal refactorings. | |
158 | ||
159 | =item * | |
160 | ||
c506fc7e FC |
161 | L<File::Spec::Unix> has been upgraded from version 3.39_02 to 3.39_03. |
162 | ||
163 | C<abs2rel> could produce incorrect results when given two relative paths or | |
164 | the root directory twice [perl #111510]. | |
165 | ||
166 | =item * | |
167 | ||
d9661073 | 168 | L<IO> has been upgraded from version 1.25_06 to 1.25_07. |
1c633914 | 169 | |
d9661073 | 170 | C<sync()> can now be called on read-only file handles [perl #64772]. |
f558db2f | 171 | |
66aa79e2 KW |
172 | =item * |
173 | ||
99565752 NC |
174 | L<Pod::Html> has been upgraded from version 1.15_02 to 1.16. |
175 | ||
176 | The option C<--libpods> has been re-instated. It is deprecated, and its use | |
177 | does nothing other than issue a warning that it is no longer supported. | |
178 | ||
179 | =item * | |
180 | ||
d9661073 FC |
181 | L<Unicode::UCD> has been upgraded from version 0.43 to 0.44. |
182 | ||
66aa79e2 KW |
183 | This adds a function L<all_casefolds()|Unicode::UCD/all_casefolds()> |
184 | that returns all the casefolds. | |
185 | ||
3630f57e CBW |
186 | =item * |
187 | ||
188 | L<Scalar::Util> has been upgraded from version 1.23 to version 1.25. | |
189 | ||
61174fb5 | 190 | =back |
f558db2f | 191 | |
61174fb5 | 192 | =head2 Removed Modules and Pragmata |
e3329bf0 | 193 | |
61174fb5 | 194 | =over 4 |
e3329bf0 FC |
195 | |
196 | =item * | |
197 | ||
61174fb5 | 198 | XXX |
80b8b050 | 199 | |
61174fb5 | 200 | =back |
80b8b050 | 201 | |
61174fb5 | 202 | =head1 Documentation |
80b8b050 | 203 | |
61174fb5 Z |
204 | XXX Changes to files in F<pod/> go here. Consider grouping entries by |
205 | file and be sure to link to the appropriate page, e.g. L<perlfunc>. | |
18d0dfa8 | 206 | |
61174fb5 | 207 | =head2 New Documentation |
843331c7 | 208 | |
61174fb5 | 209 | XXX Changes which create B<new> files in F<pod/> go here. |
53de3ff0 | 210 | |
61174fb5 | 211 | =head3 L<XXX> |
30608892 | 212 | |
61174fb5 | 213 | XXX Description of the purpose of the new file here |
30608892 | 214 | |
61174fb5 | 215 | =head2 Changes to Existing Documentation |
30608892 | 216 | |
61174fb5 Z |
217 | XXX Changes which significantly change existing files in F<pod/> go here. |
218 | However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics> | |
219 | section. | |
c11980ad | 220 | |
c7166200 | 221 | =head3 L<perlfaq> |
ecd144ea | 222 | |
f9001595 | 223 | =over 4 |
05c8f9ed RS |
224 | |
225 | =item * | |
226 | ||
c7166200 | 227 | L<perlfaq> has been synchronised with version 5.0150040 from C<CPAN>. |
9dea6244 | 228 | |
204b72a4 | 229 | =back |
9dea6244 | 230 | |
61174fb5 | 231 | =head1 Diagnostics |
ef7131e9 | 232 | |
61174fb5 Z |
233 | The following additions or changes have been made to diagnostic output, |
234 | including warnings and fatal error messages. For the complete list of | |
235 | diagnostic messages, see L<perldiag>. | |
ef7131e9 | 236 | |
61174fb5 Z |
237 | XXX New or changed warnings emitted by the core's C<C> code go here. Also |
238 | include any changes in L<perldiag> that reconcile it to the C<C> code. | |
ef7131e9 | 239 | |
61174fb5 Z |
240 | [ Within each section, list entries as a =item entry that links to perldiag, |
241 | e.g. | |
ef7131e9 | 242 | |
61174fb5 | 243 | =item * |
ef7131e9 | 244 | |
61174fb5 Z |
245 | L<Invalid version object|perldiag/"Invalid version object"> |
246 | ] | |
80b8b050 | 247 | |
61174fb5 | 248 | =head2 New Diagnostics |
80b8b050 | 249 | |
61174fb5 | 250 | XXX Newly added diagnostic messages go here |
80b8b050 | 251 | |
61174fb5 | 252 | =head3 New Errors |
80b8b050 Z |
253 | |
254 | =over 4 | |
255 | ||
256 | =item * | |
257 | ||
61174fb5 | 258 | XXX L<message|perldiag/"message"> |
80b8b050 | 259 | |
52deee2e | 260 | =back |
5dd80d85 | 261 | |
f9001595 | 262 | =head3 New Warnings |
05c8f9ed | 263 | |
f9001595 | 264 | =over 4 |
05c8f9ed RS |
265 | |
266 | =item * | |
d5dc7001 | 267 | |
61174fb5 | 268 | XXX L<message|perldiag/"message"> |
30608892 | 269 | |
f9001595 | 270 | =back |
05c8f9ed | 271 | |
61174fb5 Z |
272 | =head2 Changes to Existing Diagnostics |
273 | ||
274 | XXX Changes (i.e. rewording) of diagnostic messages go here | |
05c8f9ed | 275 | |
f9001595 | 276 | =over 4 |
05c8f9ed RS |
277 | |
278 | =item * | |
279 | ||
61174fb5 | 280 | XXX Describe change here |
ef7131e9 | 281 | |
f9001595 | 282 | =back |
05c8f9ed | 283 | |
4a301309 FC |
284 | =head2 Removals of Diagnostics |
285 | ||
286 | =over 4 | |
287 | ||
a1d2df36 FC |
288 | =item * |
289 | ||
4a301309 FC |
290 | The "Runaway prototype" warning that occurs in bizarre cases has been |
291 | removed as being unhelpful and inconsistent. | |
292 | ||
8dffc0ab FC |
293 | =item * |
294 | ||
295 | The "Not a format reference" error has been removed, as the only case in | |
296 | which it could be triggered was a bug. | |
297 | ||
4a301309 FC |
298 | =back |
299 | ||
61174fb5 | 300 | =head1 Utility Changes |
05c8f9ed | 301 | |
61174fb5 Z |
302 | XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go |
303 | here. Most of these are built within the directories F<utils> and F<x2p>. | |
05c8f9ed | 304 | |
61174fb5 Z |
305 | [ List utility changes as a =head3 entry for each utility and =item |
306 | entries for each change | |
307 | Use L<XXX> with program names to get proper documentation linking. ] | |
05c8f9ed | 308 | |
61174fb5 | 309 | =head3 L<XXX> |
30608892 | 310 | |
61174fb5 | 311 | =over 4 |
30608892 | 312 | |
61174fb5 | 313 | =item * |
30608892 | 314 | |
61174fb5 | 315 | XXX |
30608892 | 316 | |
61174fb5 | 317 | =back |
30608892 | 318 | |
61174fb5 | 319 | =head1 Configuration and Compilation |
30608892 | 320 | |
61174fb5 Z |
321 | XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools |
322 | go here. Any other changes to the Perl build process should be listed here. | |
323 | However, any platform-specific changes should be listed in the | |
324 | L</Platform Support> section, instead. | |
05c8f9ed | 325 | |
61174fb5 | 326 | [ List changes as a =item entry ]. |
05c8f9ed | 327 | |
f9001595 | 328 | =over 4 |
05c8f9ed RS |
329 | |
330 | =item * | |
331 | ||
61174fb5 | 332 | XXX |
53de3ff0 | 333 | |
61174fb5 | 334 | =back |
a3367fba | 335 | |
61174fb5 | 336 | =head1 Testing |
a3367fba | 337 | |
61174fb5 Z |
338 | XXX Any significant changes to the testing of a freshly built perl should be |
339 | listed here. Changes which create B<new> files in F<t/> go here as do any | |
340 | large changes to the testing harness (e.g. when parallel testing was added). | |
341 | Changes to existing files in F<t/> aren't worth summarising, although the bugs | |
342 | that they represent may be covered elsewhere. | |
a3367fba | 343 | |
61174fb5 | 344 | [ List each test improvement as a =item entry ] |
a3367fba | 345 | |
61174fb5 | 346 | =over 4 |
05c8f9ed | 347 | |
30608892 Z |
348 | =item * |
349 | ||
61174fb5 | 350 | XXX |
30608892 | 351 | |
f9001595 | 352 | =back |
05c8f9ed | 353 | |
61174fb5 | 354 | =head1 Platform Support |
05c8f9ed | 355 | |
61174fb5 | 356 | XXX Any changes to platform support should be listed in the sections below. |
05c8f9ed | 357 | |
61174fb5 Z |
358 | [ Within the sections, list each platform as a =item entry with specific |
359 | changes as paragraphs below it. ] | |
05c8f9ed | 360 | |
61174fb5 | 361 | =head2 New Platforms |
e2e06450 | 362 | |
61174fb5 Z |
363 | XXX List any platforms that this version of perl compiles on, that previous |
364 | versions did not. These will either be enabled by new files in the F<hints/> | |
365 | directories, or new subdirectories and F<README> files at the top level of the | |
366 | source tree. | |
b9b99128 | 367 | |
61174fb5 | 368 | =over 4 |
b9b99128 | 369 | |
61174fb5 | 370 | =item XXX-some-platform |
47fb883d | 371 | |
61174fb5 | 372 | XXX |
47fb883d | 373 | |
61174fb5 | 374 | =back |
5f0f4bc0 | 375 | |
61174fb5 | 376 | =head2 Discontinued Platforms |
5f0f4bc0 | 377 | |
61174fb5 | 378 | XXX List any platforms that this version of perl no longer compiles on. |
ba0d99ee | 379 | |
61174fb5 | 380 | =over 4 |
ba0d99ee | 381 | |
61174fb5 | 382 | =item XXX-some-platform |
72035cb1 | 383 | |
61174fb5 | 384 | XXX |
72035cb1 | 385 | |
61174fb5 | 386 | =back |
ceb0881c | 387 | |
61174fb5 | 388 | =head2 Platform-Specific Notes |
ceb0881c | 389 | |
61174fb5 Z |
390 | XXX List any changes for specific platforms. This could include configuration |
391 | and compilation changes or changes in portability/compatibility. However, | |
392 | changes within modules for platforms should generally be listed in the | |
393 | L</Modules and Pragmata> section. | |
89cbc6b8 | 394 | |
61174fb5 | 395 | =over 4 |
89cbc6b8 | 396 | |
4aa4c0a5 | 397 | =item Win32 |
c6b15a5a | 398 | |
4aa4c0a5 TC |
399 | C<link> on Win32 now attempts to set C<$!> to more appropriate values |
400 | based on the Win32 API error code. [perl #112272] | |
c6b15a5a | 401 | |
61174fb5 | 402 | =back |
8e125188 | 403 | |
61174fb5 | 404 | =head1 Internal Changes |
8e125188 | 405 | |
61174fb5 Z |
406 | XXX Changes which affect the interface available to C<XS> code go here. |
407 | Other significant internal changes for future core maintainers should | |
408 | be noted as well. | |
8e125188 | 409 | |
61174fb5 | 410 | [ List each change as a =item entry ] |
c4643160 | 411 | |
61174fb5 | 412 | =over 4 |
c4643160 | 413 | |
422287bf FC |
414 | =item * |
415 | ||
b7e9bef4 FC |
416 | The C<study> function was made a no-op in 5.16. It was simply disabled via |
417 | a C<return> statement; the code was left in place. Now the code supporting | |
418 | what C<study> used to do has been removed. | |
53de3ff0 | 419 | |
f8ef51fd FC |
420 | =item * |
421 | ||
422 | Under threaded perls, there is no longer a separate PV allocated for every | |
423 | COP to store its package name (C<< cop->stashpv >>). Instead, there is an | |
424 | offset (C<< cop->stashoff >>) into the new C<PL_stashpad> array, which | |
425 | holds stash pointers. | |
426 | ||
61174fb5 | 427 | =back |
422287bf | 428 | |
61174fb5 | 429 | =head1 Selected Bug Fixes |
2de6ba8d | 430 | |
61174fb5 Z |
431 | XXX Important bug fixes in the core language are summarised here. |
432 | Bug fixes in files in F<ext/> and F<lib/> are best summarised in | |
433 | L</Modules and Pragmata>. | |
2de6ba8d | 434 | |
61174fb5 | 435 | [ List each fix as a =item entry ] |
52c4b146 | 436 | |
61174fb5 | 437 | =over 4 |
52c4b146 | 438 | |
9aa9a888 KW |
439 | =item * |
440 | ||
7ade940c KW |
441 | Perl now works as well as can be expected on all releases of Unicode so |
442 | far. In v5.16, it worked on Unicodes 6.0 and 6.1, but there were | |
443 | various bugs for earlier releases; the older the release the more | |
444 | problems. | |
9aa9a888 | 445 | |
701da2e9 FC |
446 | =item * |
447 | ||
448 | C<vec> no longer produces "uninitialized" warnings in lvalue context | |
449 | [perl #9423]. | |
450 | ||
d67d4c0e FC |
451 | =item * |
452 | ||
d9661073 | 453 | An optimisation involving fixed strings in regular expressions could cause |
d67d4c0e FC |
454 | a severe performance penalty in edge cases. This has been fixed |
455 | [perl #76546]. | |
456 | ||
b9dc63e8 FC |
457 | =item * |
458 | ||
459 | The "Can't find an opnumber" message that C<prototype> produces when passed | |
460 | a string like "CORE::nonexistent_keyword" is now passes UTF8 and embedded | |
461 | nulls through unchanged [perl #97478]. | |
462 | ||
b6d5888c FC |
463 | =item * |
464 | ||
c0df136d FC |
465 | C<prototype> now treats magical variables like C<$1> the same way as |
466 | non-magical variables when checking for the CORE:: prefix, instead of | |
467 | treating them as subroutine names. | |
468 | ||
469 | =item * | |
470 | ||
b6d5888c FC |
471 | Under threaded perls, a run-time code block in a regular expression could |
472 | corrupt the package name stored in the op tree, resulting in bad reads | |
473 | in C<caller>, and possibly crashes [perl #113060]. | |
474 | ||
d8816adc FC |
475 | =item * |
476 | ||
477 | Referencing a closure prototype (C<\&{$_[1]}> in an attribute handler for a | |
478 | closure) no longer results in a copy of the subroutine (or assertion | |
479 | failures on debugging builds). | |
480 | ||
9b9df0bb FC |
481 | =item * |
482 | ||
483 | C<eval '__PACKAGE__'> now returns the right answer on threaded builds if | |
484 | the current package has been assigned over (as in | |
485 | C<*ThisPackage:: = *ThatPackage::>) [perl #78742]. | |
486 | ||
b16ca463 FC |
487 | =item * |
488 | ||
489 | If a package is deleted by code that it calls, it is possible for C<caller> | |
490 | to see a stack frame belonging to that deleted package. C<caller> could | |
491 | crash if the stash's memory address was reused for a scalar and a | |
492 | substitution was performed on the same scalar [perl #113486]. | |
493 | ||
6fe02df8 FC |
494 | =item * |
495 | ||
496 | C<UNIVERSAL::can> no longer treats its first argument differently | |
497 | depending on whether it is a string or number internally. | |
498 | ||
2aab098d FC |
499 | =item * |
500 | ||
501 | C<open> with "<&" for the mode checks to see whether the third argument is | |
502 | a number, in determining whether to treat it as a file descriptor or a | |
503 | handle name. Magical variables like C<$1> were always failing the numeric | |
504 | check and being treated as handle names. | |
505 | ||
38d77b7f FC |
506 | =item * |
507 | ||
508 | C<warn>'s handling of magical variables (C<$1>, ties) has undergone several | |
509 | fixes. FETCH is only called once now on a tied argument or a tied C<$@> | |
510 | [perl #97480]. Tied variables returning objects that stringify as "" are | |
511 | no longer ignored. A tied C<$@> that happened to return a reference the | |
512 | I<previous> time is was used is no longer ignored. | |
513 | ||
e811dbaa FC |
514 | =item * |
515 | ||
8b9712e0 FC |
516 | C<warn ""> now treats C<$@> with a number in it the same way, regardless of |
517 | whether it happened via C<$@=3> or C<$@="3">. It used to ignore the | |
518 | former. Now it appends "\t...caught", as it has always done with | |
519 | C<$@="3">. | |
520 | ||
521 | =item * | |
522 | ||
e811dbaa FC |
523 | Numeric operators on magical variables (e.g., S<C<$1 + 1>>) used to use |
524 | floating point operations even where integer operations were more appropriate, resulting in loss of accuracy on 64-bit platforms | |
525 | [perl #109542]. | |
526 | ||
844115ec FC |
527 | =item * |
528 | ||
529 | Unary negation no longer treats a string as a number if the string happened | |
530 | to be used as a number some time. So, if $x contains the string "dogs", | |
531 | C<-$x> returns "-dogs" even if C<$y=0+$x> has happened at some point. | |
532 | ||
a7143705 FC |
533 | =item * |
534 | ||
535 | In Perl 5.14, C<-'-10'> was fixed to return "10", not "+10". But magical | |
536 | variables (C<$1>, ties) were not fixed till now [perl #57706]. | |
537 | ||
9c308096 FC |
538 | =item * |
539 | ||
540 | Unary negation now treats strings consistently, regardless of the internal | |
541 | UTF8 flag. | |
542 | ||
fc67deb3 KW |
543 | =item * |
544 | ||
545 | A regression introduced in Perl v5.16.0 involving | |
546 | C<tr/I<SEARCHLIST>/I<REPLACEMENTLIST>/> has been fixed. Only the first | |
547 | instance is supposed to be meaningful if a character appears more than | |
548 | once in C<I<SEARCHLIST>>. Under some circumstances, the final instance | |
549 | was overriding all earlier ones. [perl #113584] | |
550 | ||
61174fb5 | 551 | =back |
53de3ff0 | 552 | |
61174fb5 | 553 | =head1 Known Problems |
53de3ff0 | 554 | |
61174fb5 Z |
555 | XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any |
556 | tests that had to be C<TODO>ed for the release would be noted here, unless | |
557 | they were specific to a particular platform (see below). | |
53de3ff0 | 558 | |
61174fb5 Z |
559 | This is a list of some significant unfixed bugs, which are regressions |
560 | from either 5.XXX.XXX or 5.XXX.XXX. | |
53de3ff0 | 561 | |
61174fb5 | 562 | [ List each fix as a =item entry ] |
80b8b050 | 563 | |
61174fb5 | 564 | =over 4 |
80b8b050 | 565 | |
eb3d0a58 LT |
566 | =item * |
567 | ||
61174fb5 | 568 | XXX |
eb3d0a58 | 569 | |
2630d42b | 570 | =back |
e2e06450 | 571 | |
61174fb5 | 572 | =head1 Obituary |
c0154fe2 | 573 | |
61174fb5 Z |
574 | XXX If any significant core contributor has died, we've added a short obituary |
575 | here. | |
d5dc7001 | 576 | |
61174fb5 | 577 | =head1 Acknowledgements |
d5dc7001 | 578 | |
61174fb5 | 579 | XXX Generate this with: |
f9001595 | 580 | |
61174fb5 | 581 | perl Porting/acknowledgements.pl v5.17.0..HEAD |
29cf780c | 582 | |
44691e6f AB |
583 | =head1 Reporting Bugs |
584 | ||
585 | If you find what you think is a bug, you might check the articles | |
52deee2e | 586 | recently posted to the comp.lang.perl.misc newsgroup and the perl |
f9001595 RS |
587 | bug database at http://rt.perl.org/perlbug/ . There may also be |
588 | information at http://www.perl.org/ , the Perl Home Page. | |
44691e6f AB |
589 | |
590 | If you believe you have an unreported bug, please run the L<perlbug> | |
52deee2e DR |
591 | program included with your release. Be sure to trim your bug down |
592 | to a tiny but sufficient test case. Your bug report, along with the | |
593 | output of C<perl -V>, will be sent off to perlbug@perl.org to be | |
594 | analysed by the Perl porting team. | |
44691e6f AB |
595 | |
596 | If the bug you are reporting has security implications, which make it | |
f9001595 RS |
597 | inappropriate to send to a publicly archived mailing list, then please send |
598 | it to perl5-security-report@perl.org. This points to a closed subscription | |
599 | unarchived mailing list, which includes | |
600 | all the core committers, who will be able | |
601 | to help assess the impact of issues, figure out a resolution, and help | |
602 | co-ordinate the release of patches to mitigate or fix the problem across all | |
603 | platforms on which Perl is supported. Please only use this address for | |
604 | security issues in the Perl core, not for modules independently | |
605 | distributed on CPAN. | |
44691e6f AB |
606 | |
607 | =head1 SEE ALSO | |
608 | ||
52deee2e DR |
609 | The F<Changes> file for an explanation of how to view exhaustive details |
610 | on what changed. | |
44691e6f AB |
611 | |
612 | The F<INSTALL> file for how to build Perl. | |
613 | ||
614 | The F<README> file for general stuff. | |
615 | ||
616 | The F<Artistic> and F<Copying> files for copyright information. | |
617 | ||
618 | =cut |