| 1 | =encoding utf8 |
| 2 | |
| 3 | =head1 NAME |
| 4 | |
| 5 | perl5230delta - what is new for perl v5.23.0 |
| 6 | |
| 7 | =head1 DESCRIPTION |
| 8 | |
| 9 | This document describes differences between the 5.22.0 release and the 5.23.0 |
| 10 | release. |
| 11 | |
| 12 | =head1 Core Enhancements |
| 13 | |
| 14 | =head2 Unicode 8.0 is now supported |
| 15 | |
| 16 | For details on what is in this release, see |
| 17 | L<http://www.unicode.org/versions/Unicode8.0.0/>. |
| 18 | |
| 19 | =head1 Incompatible Changes |
| 20 | |
| 21 | =head2 The C</\C/> character class has been removed. |
| 22 | |
| 23 | This regular expression character class was deprecated in v5.20.0 and has |
| 24 | produced a deprecation warning since v5.22.0. It is now a compile-time |
| 25 | error. If you need to examine the individual bytes that make up a |
| 26 | UTF8-encoded character, then use C<utf8::encode()> on the string (or a |
| 27 | copy) first. |
| 28 | |
| 29 | =head2 C<chdir('')> no longer chdirs home |
| 30 | |
| 31 | Using C<chdir('')> or C<chdir(undef)> to chdir home has been deprecated since |
| 32 | perl v5.8, and will now fail. Use C<chdir()> instead. |
| 33 | |
| 34 | =head1 Modules and Pragmata |
| 35 | |
| 36 | =head2 Updated Modules and Pragmata |
| 37 | |
| 38 | =over 4 |
| 39 | |
| 40 | =item * |
| 41 | |
| 42 | The libnet distribution has been upgraded from version 3.05 to 3.06. |
| 43 | |
| 44 | =item * |
| 45 | |
| 46 | The Scalar-List-Utils distribution has been upgraded from version 1.41 to 1.42. |
| 47 | |
| 48 | =item * |
| 49 | |
| 50 | L<autodie> has been upgraded from version 2.26 to 2.27. |
| 51 | |
| 52 | =item * |
| 53 | |
| 54 | L<CPAN::Meta> has been upgraded from version 2.150001 to 2.150005. |
| 55 | |
| 56 | =item * |
| 57 | |
| 58 | L<CPAN::Meta::Requirements> has been upgraded from version 2.132 to 2.133. |
| 59 | |
| 60 | =item * |
| 61 | |
| 62 | L<CPAN::Meta::YAML> has been upgraded from version 0.012 to 0.016. |
| 63 | |
| 64 | =item * |
| 65 | |
| 66 | L<Encode> has been upgraded from version 2.72 to 2.73. |
| 67 | |
| 68 | =item * |
| 69 | |
| 70 | L<encoding> has been upgraded from version 2.14 to 2.15. |
| 71 | |
| 72 | =item * |
| 73 | |
| 74 | L<ExtUtils::CBuilder> has been upgraded from version 0.280221 to 0.280223. |
| 75 | |
| 76 | =item * |
| 77 | |
| 78 | L<feature> has been upgraded from version 1.40 to 1.41. |
| 79 | |
| 80 | =item * |
| 81 | |
| 82 | L<Getopt::Long> has been upgraded from version 2.45 to 2.46. |
| 83 | |
| 84 | =item * |
| 85 | |
| 86 | L<HTTP::Tiny> has been upgraded from version 0.054 to 0.056. |
| 87 | |
| 88 | =item * |
| 89 | |
| 90 | L<List::Util> has been upgraded from version 1.41 to 1.42_01. |
| 91 | |
| 92 | =item * |
| 93 | |
| 94 | L<Locale::Codes> has been upgraded from version 3.34 to 3.35. |
| 95 | |
| 96 | =item * |
| 97 | |
| 98 | L<Math::BigInt> has been upgraded from version 1.9997 to 1.999701. |
| 99 | |
| 100 | Correct the behaviour of bdiv() and bmod() in list context. [perl #124300] |
| 101 | |
| 102 | Correct C<< Math::BigInt->new() >> for non-integer input. [perl #124325] |
| 103 | |
| 104 | Speed up Math::BigFloat -> blog(). [perl #124382] |
| 105 | |
| 106 | Fix bug in Math::BigFloat's bceil() and bint() methods. [perl #124412] |
| 107 | |
| 108 | =item * |
| 109 | |
| 110 | L<Math::BigRat> has been upgraded from version 0.2608 to 0.260801. |
| 111 | |
| 112 | Correct the behaviour of bdiv() and bmod() in list context. [perl #124303] |
| 113 | |
| 114 | =item * |
| 115 | |
| 116 | L<Module::CoreList> has been upgraded from version 5.20150520 to 5.20150620. |
| 117 | |
| 118 | =item * |
| 119 | |
| 120 | L<Module::Metadata> has been upgraded from version 1.000026 to 1.000027. |
| 121 | |
| 122 | =item * |
| 123 | |
| 124 | L<parent> has been upgraded from version 0.232 to 0.234. |
| 125 | |
| 126 | =item * |
| 127 | |
| 128 | L<Parse::CPAN::Meta> has been upgraded from version 1.4414 to 1.4417. |
| 129 | |
| 130 | =item * |
| 131 | |
| 132 | L<perl5db.pl> has been upgraded from version 1.49 to 1.49_01. |
| 133 | |
| 134 | User actions are no longer evaluated after the script under the |
| 135 | debugger finishes. [perl #71678] |
| 136 | |
| 137 | =item * |
| 138 | |
| 139 | L<Pod::Simple> has been upgraded from version 3.29 to 3.30. |
| 140 | |
| 141 | =item * |
| 142 | |
| 143 | L<Pod::Usage> has been upgraded from version 1.64 to 1.67. |
| 144 | |
| 145 | =item * |
| 146 | |
| 147 | L<POSIX> has been upgraded from version 1.53 to 1.54. |
| 148 | |
| 149 | The NaN payload API has been implemented (getpayload, setpayload, |
| 150 | setpayloadsig, issignaling). |
| 151 | |
| 152 | =item * |
| 153 | |
| 154 | L<Scalar::Util> has been upgraded from version 1.41 to 1.42_01. |
| 155 | |
| 156 | =item * |
| 157 | |
| 158 | L<Socket> has been upgraded from version 2.018 to 2.019. |
| 159 | |
| 160 | =item * |
| 161 | |
| 162 | L<threads> has been upgraded from version 2.01 to 2.02. |
| 163 | |
| 164 | =item * |
| 165 | |
| 166 | L<Time::Piece> has been upgraded from version 1.29 to 1.30. |
| 167 | |
| 168 | =item * |
| 169 | |
| 170 | L<UNIVERSAL> has been upgraded from version 1.12 to 1.13. |
| 171 | |
| 172 | Don't import from L<UNIVERSAL> in its documentation, it no longer |
| 173 | exports anything. [perl #125410] |
| 174 | |
| 175 | =back |
| 176 | |
| 177 | =head1 Platform Support |
| 178 | |
| 179 | =head2 Platform-Specific Notes |
| 180 | |
| 181 | =over 4 |
| 182 | |
| 183 | =item Win32 |
| 184 | |
| 185 | =over |
| 186 | |
| 187 | =item * |
| 188 | |
| 189 | Visual C++ 2013 builds will now execute on XP and higher. Previously they would |
| 190 | only execute on Vista and higher. |
| 191 | |
| 192 | =item * |
| 193 | |
| 194 | You can now build perl with GNU Make and GCC. [perl #123440] |
| 195 | |
| 196 | =item * |
| 197 | |
| 198 | C<truncate($filename, $size)> now works for files over 4GB in size. |
| 199 | [perl #125347] |
| 200 | |
| 201 | =back |
| 202 | |
| 203 | =back |
| 204 | |
| 205 | =head1 Selected Bug Fixes |
| 206 | |
| 207 | =over 4 |
| 208 | |
| 209 | =item * |
| 210 | |
| 211 | Duplicating a closed file handle for write no longer creates a |
| 212 | filename of the form F<GLOB(0xXXXXXXXX)>. [perl #125115] |
| 213 | |
| 214 | =item * |
| 215 | |
| 216 | Warning fatality is now ignored when rewinding the stack. This |
| 217 | prevents infinite recursion when the now fatal error also causes |
| 218 | rewinding of the stack. [perl #123398] |
| 219 | |
| 220 | =item * |
| 221 | |
| 222 | In perl v5.22.0, the logic changed when parsing a numeric parameter to the -C |
| 223 | option, such that the successfully parsed number was not saved as the option |
| 224 | value if it parsed to the end of the argument. [perl #125381] |
| 225 | |
| 226 | =item * |
| 227 | |
| 228 | The PadlistNAMES macro is an lvalue again. |
| 229 | |
| 230 | =item * |
| 231 | |
| 232 | Zero -DPERL_TRACE_OPS memory for sub-threads. |
| 233 | |
| 234 | perl_clone_using() was missing Zero init of PL_op_exec_cnt[]. This |
| 235 | caused sub-threads in threaded -DPERL_TRACE_OPS builds to spew exceedingly |
| 236 | large op-counts at destruct. These counts would print %x as "ABABABAB", |
| 237 | clearly a mem-poison value. |
| 238 | |
| 239 | =back |
| 240 | |
| 241 | =head1 Acknowledgements |
| 242 | |
| 243 | Perl 5.23.0 represents approximately 3 weeks of development since Perl 5.22.0 |
| 244 | and contains approximately 86,000 lines of changes across 480 files from 29 |
| 245 | authors. |
| 246 | |
| 247 | Excluding auto-generated files, documentation and release tools, there were |
| 248 | approximately 55,000 lines of changes to 270 .pm, .t, .c and .h files. |
| 249 | |
| 250 | Perl continues to flourish into its third decade thanks to a vibrant community |
| 251 | of users and developers. The following people are known to have contributed the |
| 252 | improvements that became Perl 5.23.0: |
| 253 | |
| 254 | Chase Whitener, Chris 'BinGOs' Williams, Craig A. Berry, Dagfinn Ilmari |
| 255 | Mannsåker, Daniel Dragan, David Golden, David Mitchell, Hugo van der Sanden, |
| 256 | Jan Dubois, Jarkko Hietaniemi, Jerry D. Hedden, Jim Cromie, Karen Etheridge, |
| 257 | Karl Williamson, kmx, Lukas Mai, Martijn Lievaart, Matthew Horsfall, Niko Tyni, |
| 258 | Peter John Acklam, Rafael Garcia-Suarez, Reini Urban, Ricardo Signes, Shlomi |
| 259 | Fish, Steve Hay, Thomas Sibley, Tony Cook, Unicode Consortium, Zefram. |
| 260 | |
| 261 | The list above is almost certainly incomplete as it is automatically generated |
| 262 | from version control history. In particular, it does not include the names of |
| 263 | the (very much appreciated) contributors who reported issues to the Perl bug |
| 264 | tracker. |
| 265 | |
| 266 | Many of the changes included in this version originated in the CPAN modules |
| 267 | included in Perl's core. We're grateful to the entire CPAN community for |
| 268 | helping Perl to flourish. |
| 269 | |
| 270 | For a more complete list of all of Perl's historical contributors, please see |
| 271 | the F<AUTHORS> file in the Perl source distribution. |
| 272 | |
| 273 | =head1 Reporting Bugs |
| 274 | |
| 275 | If you find what you think is a bug, you might check the articles recently |
| 276 | posted to the comp.lang.perl.misc newsgroup and the perl bug database at |
| 277 | https://rt.perl.org/ . There may also be information at |
| 278 | http://www.perl.org/ , the Perl Home Page. |
| 279 | |
| 280 | If you believe you have an unreported bug, please run the L<perlbug> program |
| 281 | included with your release. Be sure to trim your bug down to a tiny but |
| 282 | sufficient test case. Your bug report, along with the output of C<perl -V>, |
| 283 | will be sent off to perlbug@perl.org to be analysed by the Perl porting team. |
| 284 | |
| 285 | If the bug you are reporting has security implications, which make it |
| 286 | inappropriate to send to a publicly archived mailing list, then please send it |
| 287 | to perl5-security-report@perl.org. This points to a closed subscription |
| 288 | unarchived mailing list, which includes all the core committers, who will be |
| 289 | able to help assess the impact of issues, figure out a resolution, and help |
| 290 | co-ordinate the release of patches to mitigate or fix the problem across all |
| 291 | platforms on which Perl is supported. Please only use this address for |
| 292 | security issues in the Perl core, not for modules independently distributed on |
| 293 | CPAN. |
| 294 | |
| 295 | =head1 SEE ALSO |
| 296 | |
| 297 | The F<Changes> file for an explanation of how to view exhaustive details on |
| 298 | what changed. |
| 299 | |
| 300 | The F<INSTALL> file for how to build Perl. |
| 301 | |
| 302 | The F<README> file for general stuff. |
| 303 | |
| 304 | The F<Artistic> and F<Copying> files for copyright information. |
| 305 | |
| 306 | =cut |