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