| 1 | =encoding utf8 |
| 2 | |
| 3 | =head1 NAME |
| 4 | |
| 5 | perl5141delta - what is new for perl v5.14.1 |
| 6 | |
| 7 | =head1 DESCRIPTION |
| 8 | |
| 9 | This document describes differences between the 5.14.0 release and |
| 10 | the 5.14.1 release. |
| 11 | |
| 12 | If you are upgrading from an earlier release such as 5.12.0, first read |
| 13 | L<perl5140delta>, which describes differences between 5.12.0 and |
| 14 | 5.14.0. |
| 15 | |
| 16 | =head1 Core Enhancements |
| 17 | |
| 18 | No changes since 5.14.0. |
| 19 | |
| 20 | =head1 Security |
| 21 | |
| 22 | No changes since 5.14.0. |
| 23 | |
| 24 | =head1 Incompatible Changes |
| 25 | |
| 26 | There are no changes intentionally incompatible with 5.14.0. If any |
| 27 | exist, they are bugs and reports are welcome. |
| 28 | |
| 29 | =head1 Deprecations |
| 30 | |
| 31 | There have been no deprecations since 5.14.0. |
| 32 | |
| 33 | =head1 Modules and Pragmata |
| 34 | |
| 35 | =head2 New Modules and Pragmata |
| 36 | |
| 37 | None |
| 38 | |
| 39 | =head2 Updated Modules and Pragmata |
| 40 | |
| 41 | =over 4 |
| 42 | |
| 43 | =item * |
| 44 | |
| 45 | L<B::Deparse> has been upgraded from version 1.03 to 1.04, to address two |
| 46 | regressions in Perl 5.14.0: |
| 47 | |
| 48 | Deparsing of the C<glob> operator and its diamond (C<< <> >>) form now |
| 49 | works again. [perl #90898] |
| 50 | |
| 51 | The presence of subroutines named C<::::> or C<::::::> no longer causes |
| 52 | B::Deparse to hang. |
| 53 | |
| 54 | =item * |
| 55 | |
| 56 | L<Pod::Perldoc> has been upgraded from version 3.15_03 to 3.15_04. |
| 57 | |
| 58 | It corrects the search paths on VMS. [perl #90640] |
| 59 | |
| 60 | =back |
| 61 | |
| 62 | =head2 Removed Modules and Pragmata |
| 63 | |
| 64 | None |
| 65 | |
| 66 | =head1 Documentation |
| 67 | |
| 68 | =head2 New Documentation |
| 69 | |
| 70 | None |
| 71 | |
| 72 | =head2 Changes to Existing Documentation |
| 73 | |
| 74 | =head3 L<perlfunc> |
| 75 | |
| 76 | =over |
| 77 | |
| 78 | =item * |
| 79 | |
| 80 | C<given>, C<when> and C<default> are now listed in L<perlfunc>. |
| 81 | |
| 82 | =item * |
| 83 | |
| 84 | Documentation for C<use> now includes a pointer to F<if.pm>. |
| 85 | |
| 86 | =back |
| 87 | |
| 88 | =head3 L<perllol> |
| 89 | |
| 90 | =over |
| 91 | |
| 92 | =item * |
| 93 | |
| 94 | L<perllol> has been expanded with examples using the new C<push $scalar> |
| 95 | syntax introduced in Perl 5.14.0. |
| 96 | |
| 97 | =back |
| 98 | |
| 99 | =head3 L<perlop> |
| 100 | |
| 101 | =over 4 |
| 102 | |
| 103 | =item * |
| 104 | |
| 105 | The explanation of bitwise operators has been expanded to explain how they |
| 106 | work on Unicode strings. |
| 107 | |
| 108 | =item * |
| 109 | |
| 110 | The section on the triple-dot or yada-yada operator has been moved up, as |
| 111 | it used to separate two closely related sections about the comma operator. |
| 112 | |
| 113 | =item * |
| 114 | |
| 115 | More examples for C<m//g> have been added. |
| 116 | |
| 117 | =item * |
| 118 | |
| 119 | The C<<< <<\FOO >>> here-doc syntax has been documented. |
| 120 | |
| 121 | =back |
| 122 | |
| 123 | =head3 L<perlrun> |
| 124 | |
| 125 | =over |
| 126 | |
| 127 | =item * |
| 128 | |
| 129 | L<perlrun> has undergone a significant clean-up. Most notably, the |
| 130 | B<-0x...> form of the B<-0> flag has been clarified, and the final section |
| 131 | on environment variables has been corrected and expanded. |
| 132 | |
| 133 | =back |
| 134 | |
| 135 | =head3 L<POSIX> |
| 136 | |
| 137 | =over |
| 138 | |
| 139 | =item * |
| 140 | |
| 141 | The invocation documentation for C<WIFEXITED>, C<WEXITSTATUS>, |
| 142 | C<WIFSIGNALED>, C<WTERMSIG>, C<WIFSTOPPED>, and C<WSTOPSIG> was corrected. |
| 143 | |
| 144 | =back |
| 145 | |
| 146 | |
| 147 | =head1 Diagnostics |
| 148 | |
| 149 | The following additions or changes have been made to diagnostic output, |
| 150 | including warnings and fatal error messages. For the complete list of |
| 151 | diagnostic messages, see L<perldiag>. |
| 152 | |
| 153 | =head2 New Diagnostics |
| 154 | |
| 155 | None |
| 156 | |
| 157 | =head2 Changes to Existing Diagnostics |
| 158 | |
| 159 | None |
| 160 | |
| 161 | =head1 Utility Changes |
| 162 | |
| 163 | None |
| 164 | |
| 165 | =head1 Configuration and Compilation |
| 166 | |
| 167 | =over 4 |
| 168 | |
| 169 | =item * |
| 170 | |
| 171 | F<regexp.h> has been modified for compatibility with GCC's C<-Werror> |
| 172 | option, as used by some projects that include perl's header files. |
| 173 | |
| 174 | =back |
| 175 | |
| 176 | =head1 Testing |
| 177 | |
| 178 | =over 4 |
| 179 | |
| 180 | =item * |
| 181 | |
| 182 | Some test failures in F<dist/Locale-Maketext/t/09_compile.t> that could |
| 183 | occur depending on the environment have been fixed. [perl #89896] |
| 184 | |
| 185 | =item * |
| 186 | |
| 187 | A watchdog timer for F<t/re/re.t> was lengthened to accommodate SH-4 systems |
| 188 | which were unable to complete the tests before the previous timer ran out. |
| 189 | |
| 190 | |
| 191 | =back |
| 192 | |
| 193 | =head1 Platform Support |
| 194 | |
| 195 | =head2 New Platforms |
| 196 | |
| 197 | None |
| 198 | |
| 199 | =head2 Discontinued Platforms |
| 200 | |
| 201 | None |
| 202 | |
| 203 | =head2 Platform-Specific Notes |
| 204 | |
| 205 | =head3 Solaris |
| 206 | |
| 207 | =over |
| 208 | |
| 209 | =item * |
| 210 | |
| 211 | Documentation listing the Solaris packages required to build Perl on |
| 212 | Solaris 9 and Solaris 10 has been corrected. |
| 213 | |
| 214 | =back |
| 215 | |
| 216 | =head3 Mac OS X |
| 217 | |
| 218 | =over |
| 219 | |
| 220 | =item * |
| 221 | |
| 222 | The F<lib/locale.t> test script has been updated to work on the upcoming |
| 223 | Lion release. |
| 224 | |
| 225 | =item * |
| 226 | |
| 227 | Mac OS X specific compilation instructions have been clarified. |
| 228 | |
| 229 | =back |
| 230 | |
| 231 | =head3 Ubuntu Linux |
| 232 | |
| 233 | =over |
| 234 | |
| 235 | =item * |
| 236 | |
| 237 | The L<ODBM_File> installation process has been updated with the new library |
| 238 | paths on Ubuntu natty. |
| 239 | |
| 240 | =back |
| 241 | |
| 242 | =head1 Internal Changes |
| 243 | |
| 244 | =over |
| 245 | |
| 246 | =item * |
| 247 | |
| 248 | The compiled representation of formats is now stored via the mg_ptr of |
| 249 | their PERL_MAGIC_fm. Previously it was stored in the string buffer, |
| 250 | beyond SvLEN(), the regular end of the string. SvCOMPILED() and |
| 251 | SvCOMPILED_{on,off}() now exist solely for compatibility for XS code. |
| 252 | The first is always 0, the other two now no-ops. |
| 253 | |
| 254 | =back |
| 255 | |
| 256 | =head1 Bug Fixes |
| 257 | |
| 258 | =over 4 |
| 259 | |
| 260 | =item * |
| 261 | |
| 262 | A bug has been fixed that would cause a "Use of freed value in iteration" |
| 263 | error if the next two hash elements that would be iterated over are |
| 264 | deleted. [perl #85026] |
| 265 | |
| 266 | =item * |
| 267 | |
| 268 | Passing the same constant subroutine to both C<index> and C<formline> no |
| 269 | longer causes one or the other to fail. [perl #89218] |
| 270 | |
| 271 | =item * |
| 272 | |
| 273 | 5.14.0 introduced some memory leaks in regular expression character |
| 274 | classes such as C<[\w\s]>, which have now been fixed. |
| 275 | |
| 276 | =item * |
| 277 | |
| 278 | An edge case in regular expression matching could potentially loop. |
| 279 | This happened only under C</i> in bracketed character classes that have |
| 280 | characters with multi-character folds, and the target string to match |
| 281 | against includes the first portion of the fold, followed by another |
| 282 | character that has a multi-character fold that begins with the remaining |
| 283 | portion of the fold, plus some more. |
| 284 | |
| 285 | "s\N{U+DF}" =~ /[\x{DF}foo]/i |
| 286 | |
| 287 | is one such case. C<\xDF> folds to C<"ss">. |
| 288 | |
| 289 | =item * |
| 290 | |
| 291 | Several Unicode case-folding bugs have been fixed. |
| 292 | |
| 293 | =item * |
| 294 | |
| 295 | The new (in 5.14.0) regular expression modifier C</a> when repeated like |
| 296 | C</aa> forbids the characters outside the ASCII range that match |
| 297 | characters inside that range from matching under C</i>. This did not |
| 298 | work under some circumstances, all involving alternation, such as: |
| 299 | |
| 300 | "\N{KELVIN SIGN}" =~ /k|foo/iaa; |
| 301 | |
| 302 | succeeded inappropriately. This is now fixed. |
| 303 | |
| 304 | =item * |
| 305 | |
| 306 | Fixed a case where it was possible that a freed buffer may have been read |
| 307 | from when parsing a here document. |
| 308 | |
| 309 | =back |
| 310 | |
| 311 | =head1 Acknowledgements |
| 312 | |
| 313 | Perl 5.14.1 represents approximately four weeks of development since |
| 314 | Perl 5.14.0 and contains approximately 3500 lines of changes |
| 315 | across 38 files from 17 authors. |
| 316 | |
| 317 | Perl continues to flourish into its third decade thanks to a vibrant |
| 318 | community of users and developers. The following people are known to |
| 319 | have contributed the improvements that became Perl 5.14.1: |
| 320 | |
| 321 | Bo Lindbergh, Claudio Ramirez, Craig A. Berry, David Leadbeater, Father |
| 322 | Chrysostomos, Jesse Vincent, Jim Cromie, Justin Case, Karl Williamson, |
| 323 | Leo Lapworth, Nicholas Clark, Nobuhiro Iwamatsu, smash, Tom Christiansen, |
| 324 | Ton Hospel, Vladimir Timofeev, and Zsbán Ambrus. |
| 325 | |
| 326 | |
| 327 | =head1 Reporting Bugs |
| 328 | |
| 329 | If you find what you think is a bug, you might check the articles |
| 330 | recently posted to the comp.lang.perl.misc newsgroup and the perl |
| 331 | bug database at http://rt.perl.org/perlbug/ . There may also be |
| 332 | information at http://www.perl.org/ , the Perl Home Page. |
| 333 | |
| 334 | If you believe you have an unreported bug, please run the L<perlbug> |
| 335 | program included with your release. Be sure to trim your bug down |
| 336 | to a tiny but sufficient test case. Your bug report, along with the |
| 337 | output of C<perl -V>, will be sent off to perlbug@perl.org to be |
| 338 | analysed by the Perl porting team. |
| 339 | |
| 340 | If the bug you are reporting has security implications, which make it |
| 341 | inappropriate to send to a publicly archived mailing list, then please send |
| 342 | it to perl5-security-report@perl.org. This points to a closed subscription |
| 343 | unarchived mailing list, which includes all the core committers, who be able |
| 344 | to help assess the impact of issues, figure out a resolution, and help |
| 345 | co-ordinate the release of patches to mitigate or fix the problem across all |
| 346 | platforms on which Perl is supported. Please only use this address for |
| 347 | security issues in the Perl core, not for modules independently |
| 348 | distributed on CPAN. |
| 349 | |
| 350 | =head1 SEE ALSO |
| 351 | |
| 352 | The F<Changes> file for an explanation of how to view exhaustive details |
| 353 | on what changed. |
| 354 | |
| 355 | The F<INSTALL> file for how to build Perl. |
| 356 | |
| 357 | The F<README> file for general stuff. |
| 358 | |
| 359 | The F<Artistic> and F<Copying> files for copyright information. |
| 360 | |
| 361 | =cut |