Commit | Line | Data |
---|---|---|
44691e6f AB |
1 | =encoding utf8 |
2 | ||
3 | =head1 NAME | |
4 | ||
2cfe9b50 | 5 | perldelta - what is new for perl v5.23.0 |
eabfc7bc | 6 | |
2cfe9b50 | 7 | =head1 DESCRIPTION |
eabfc7bc | 8 | |
2cfe9b50 RS |
9 | This document describes differences between the 5.22.0 release and the 5.23.0 |
10 | release. | |
eabfc7bc | 11 | |
2cfe9b50 | 12 | =head1 Core Enhancements |
eabfc7bc | 13 | |
ac71d2a0 UC |
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 | ||
2cfe9b50 | 19 | =head1 Incompatible Changes |
eabfc7bc | 20 | |
33c28ab2 DM |
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. | |
eabfc7bc | 28 | |
73d6481e | 29 | =head2 C<chdir('')> no longer chdirs home |
eabfc7bc | 30 | |
73d6481e RS |
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. | |
eabfc7bc | 33 | |
73d6481e | 34 | =head1 Modules and Pragmata |
eabfc7bc | 35 | |
73d6481e | 36 | =head2 Updated Modules and Pragmata |
eabfc7bc | 37 | |
73d6481e | 38 | =over 4 |
eabfc7bc | 39 | |
73d6481e | 40 | =item * |
eabfc7bc | 41 | |
73d6481e | 42 | The libnet distribution has been upgraded from version 3.05 to 3.06. |
eabfc7bc | 43 | |
73d6481e | 44 | =item * |
eabfc7bc | 45 | |
73d6481e | 46 | The Scalar-List-Utils distribution has been upgraded from version 1.41 to 1.42. |
eabfc7bc RS |
47 | |
48 | =item * | |
49 | ||
73d6481e | 50 | L<autodie> has been upgraded from version 2.26 to 2.27. |
eabfc7bc | 51 | |
73d6481e | 52 | =item * |
eabfc7bc | 53 | |
73d6481e | 54 | L<CPAN::Meta> has been upgraded from version 2.150001 to 2.150005. |
eabfc7bc | 55 | |
73d6481e | 56 | =item * |
eabfc7bc | 57 | |
73d6481e | 58 | L<CPAN::Meta::Requirements> has been upgraded from version 2.132 to 2.133. |
eabfc7bc | 59 | |
73d6481e | 60 | =item * |
eabfc7bc | 61 | |
73d6481e | 62 | L<CPAN::Meta::YAML> has been upgraded from version 0.012 to 0.016. |
eabfc7bc RS |
63 | |
64 | =item * | |
65 | ||
73d6481e | 66 | L<Encode> has been upgraded from version 2.72 to 2.73. |
eabfc7bc | 67 | |
73d6481e | 68 | =item * |
eabfc7bc | 69 | |
73d6481e | 70 | L<encoding> has been upgraded from version 2.14 to 2.15. |
374c951f SH |
71 | |
72 | =item * | |
73 | ||
73d6481e | 74 | L<ExtUtils::CBuilder> has been upgraded from version 0.280221 to 0.280223. |
e586de20 SH |
75 | |
76 | =item * | |
77 | ||
73d6481e | 78 | L<feature> has been upgraded from version 1.40 to 1.41. |
fd0a842f SH |
79 | |
80 | =item * | |
81 | ||
82 | L<Getopt::Long> has been upgraded from version 2.45 to 2.46. | |
99527ef1 SH |
83 | |
84 | =item * | |
85 | ||
86 | L<HTTP::Tiny> has been upgraded from version 0.054 to 0.056. | |
a4f8ff46 SH |
87 | |
88 | =item * | |
89 | ||
73d6481e RS |
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. | |
eabfc7bc RS |
95 | |
96 | =item * | |
97 | ||
b7b593d8 TC |
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] | |
eabfc7bc | 113 | |
ef5cf9f5 TC |
114 | =item * |
115 | ||
73d6481e | 116 | L<Module::CoreList> has been upgraded from version 5.20150520 to 5.20150620. |
72b8c7a2 SH |
117 | |
118 | =item * | |
119 | ||
73d6481e | 120 | L<Module::Metadata> has been upgraded from version 1.000026 to 1.000027. |
bdb6acef SH |
121 | |
122 | =item * | |
123 | ||
73d6481e | 124 | L<parent> has been upgraded from version 0.232 to 0.234. |
ef5cf9f5 | 125 | |
3d58dd24 SH |
126 | =item * |
127 | ||
73d6481e | 128 | L<Parse::CPAN::Meta> has been upgraded from version 1.4414 to 1.4417. |
4b951711 TC |
129 | |
130 | =item * | |
131 | ||
73d6481e | 132 | L<perl5db.pl> has been upgraded from version 1.49 to 1.49_01. |
eabfc7bc | 133 | |
73d6481e RS |
134 | User actions are no longer evaluated after the script under the |
135 | debugger finishes. [perl #71678] | |
eabfc7bc RS |
136 | |
137 | =item * | |
138 | ||
73d6481e | 139 | L<Pod::Simple> has been upgraded from version 3.29 to 3.30. |
eabfc7bc RS |
140 | |
141 | =item * | |
142 | ||
73d6481e | 143 | L<Pod::Usage> has been upgraded from version 1.64 to 1.67. |
eabfc7bc RS |
144 | |
145 | =item * | |
146 | ||
73d6481e | 147 | L<POSIX> has been upgraded from version 1.53 to 1.54. |
eabfc7bc | 148 | |
73d6481e RS |
149 | The NaN payload API has been implemented (getpayload, setpayload, |
150 | setpayloadsig, issignaling). | |
eabfc7bc RS |
151 | |
152 | =item * | |
153 | ||
73d6481e | 154 | L<Scalar::Util> has been upgraded from version 1.41 to 1.42_01. |
eabfc7bc RS |
155 | |
156 | =item * | |
157 | ||
73d6481e | 158 | L<Socket> has been upgraded from version 2.018 to 2.019. |
eabfc7bc RS |
159 | |
160 | =item * | |
161 | ||
73d6481e | 162 | L<threads> has been upgraded from version 2.01 to 2.02. |
eabfc7bc RS |
163 | |
164 | =item * | |
165 | ||
73d6481e | 166 | L<Time::Piece> has been upgraded from version 1.29 to 1.30. |
eabfc7bc RS |
167 | |
168 | =item * | |
169 | ||
73d6481e | 170 | L<UNIVERSAL> has been upgraded from version 1.12 to 1.13. |
eabfc7bc | 171 | |
73d6481e RS |
172 | Don't import from L<UNIVERSAL> in its documentation, it no longer |
173 | exports anything. [perl #125410] | |
eabfc7bc | 174 | |
2cfe9b50 | 175 | =back |
33ca8d3c | 176 | |
73d6481e | 177 | =head1 Platform Support |
eabfc7bc | 178 | |
2cfe9b50 | 179 | =head2 Platform-Specific Notes |
eabfc7bc | 180 | |
2cfe9b50 | 181 | =over 4 |
eabfc7bc | 182 | |
269713a1 | 183 | =item Win32 |
eabfc7bc | 184 | |
269713a1 DD |
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 | ||
463e63a4 TC |
192 | =item * |
193 | ||
194 | You can now build perl with GNU Make and GCC. [perl #123440] | |
195 | ||
9c0328ac TC |
196 | =item * |
197 | ||
198 | C<truncate($filename, $size)> now works for files over 4GB in size. | |
199 | [perl #125347] | |
200 | ||
269713a1 | 201 | =back |
eabfc7bc | 202 | |
2cfe9b50 | 203 | =back |
eabfc7bc | 204 | |
2cfe9b50 | 205 | =head1 Selected Bug Fixes |
eabfc7bc | 206 | |
2cfe9b50 | 207 | =over 4 |
eabfc7bc RS |
208 | |
209 | =item * | |
210 | ||
21b14bca TC |
211 | Duplicating a closed file handle for write no longer creates a |
212 | filename of the form F<GLOB(0xXXXXXXXX)>. [perl #125115] | |
eabfc7bc | 213 | |
302ef3d4 TC |
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 | ||
73d6481e | 220 | =item * |
eabfc7bc | 221 | |
73d6481e RS |
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] | |
eabfc7bc | 225 | |
73d6481e | 226 | =item * |
eabfc7bc | 227 | |
73d6481e | 228 | The PadlistNAMES macro is an lvalue again. |
eabfc7bc RS |
229 | |
230 | =item * | |
231 | ||
73d6481e | 232 | Zero -DPERL_TRACE_OPS memory for sub-threads. |
eabfc7bc | 233 | |
73d6481e RS |
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. | |
eabfc7bc | 238 | |
73d6481e | 239 | =back |
eabfc7bc | 240 | |
73d6481e | 241 | =head1 Acknowledgements |
eabfc7bc | 242 | |
73d6481e RS |
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. | |
eabfc7bc | 246 | |
73d6481e RS |
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. | |
2a7a05b4 | 249 | |
73d6481e RS |
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 | |
7c499b7f | 252 | improvements that became Perl 5.23.0: |
30aa8e3f | 253 | |
73d6481e RS |
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. | |
30aa8e3f | 260 | |
73d6481e RS |
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. | |
2a7a05b4 | 265 | |
73d6481e RS |
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. | |
2cfe9b50 | 269 | |
73d6481e RS |
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. | |
f5b73711 | 272 | |
44691e6f AB |
273 | =head1 Reporting Bugs |
274 | ||
e08634c5 SH |
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 | |
2cfe9b50 RS |
277 | https://rt.perl.org/ . There may also be information at |
278 | http://www.perl.org/ , the Perl Home Page. | |
44691e6f | 279 | |
e08634c5 SH |
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. | |
44691e6f AB |
284 | |
285 | If the bug you are reporting has security implications, which make it | |
e08634c5 SH |
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 | |
f9001595 | 290 | co-ordinate the release of patches to mitigate or fix the problem across all |
e08634c5 SH |
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. | |
44691e6f AB |
294 | |
295 | =head1 SEE ALSO | |
296 | ||
e08634c5 SH |
297 | The F<Changes> file for an explanation of how to view exhaustive details on |
298 | what changed. | |
44691e6f AB |
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 |