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