Upgrade CPAN from 1.94_55 to 1.94_56
[p5sagit/p5-mst-13.2.git] / pod / perl5115delta.pod
CommitLineData
3be84f1f 1=head1 NAME
2
3be84f1f 3perldelta - what is new for perl v5.11.5
4
5=head1 DESCRIPTION
6
7This document describes differences between the 5.11.4 release and
8the 5.11.5 release.
9
10If you are upgrading from an earlier release such as 5.11.3, first read
11L<perl5114delta>, which describes differences between 5.11.3 and
125.11.4.
13
3be84f1f 14=head1 Core Enhancements
15
555dc087 16=head2 32-bit limit on substr arguments removed
3be84f1f 17
555dc087 18The 32-bit limit on C<substr> arguments has now been removed. The full range
19of the system's signed and unsigned integers is now available for the C<pos>
20and C<len> arguments.
3be84f1f 21
22=head1 Modules and Pragmata
23
3be84f1f 24=head2 Pragmata Changes
25
555dc087 26=over 4
3be84f1f 27
555dc087 28=item C<version>
3be84f1f 29
555dc087 30Upgraded from version 0.81 to 0.82.
3be84f1f 31
555dc087 32The C<is_lax> and C<is_strict> functions can now be optionally exported to the
33caller's namespace and are also now documented.
3be84f1f 34
555dc087 35Undefined version objects are now uninitialized with zero rather than C<undef>.
3be84f1f 36
37=back
38
555dc087 39=head2 Updated Modules
3be84f1f 40
41=over 4
42
555dc087 43=item C<CPAN>
3be84f1f 44
555dc087 45Upgraded from version 1.94_53 to 1.94_55.
3be84f1f 46
555dc087 47This module is also now built in a less specialized way, which resolves a
48problem that caused C<make> after C<make clean> to fail, fixing RT #72218.
3be84f1f 49
555dc087 50=item C<CPANPLUS::Dist::Build>
3be84f1f 51
555dc087 52Upgraded from version 0.44 to 0.46.
3be84f1f 53
555dc087 54=item C<Safe>
3be84f1f 55
555dc087 56Upgraded from version 2.21 to 2.22.
3be84f1f 57
555dc087 58This resolves RT #72700, in which an exception thrown from a closure was
59getting lost.
3be84f1f 60
555dc087 61=item C<podlators>
3be84f1f 62
555dc087 63Upgraded from version 2.2.2 to 2.3.0.
3be84f1f 64
65=back
66
555dc087 67=head1 Changes to Existing Documentation
3be84f1f 68
555dc087 69The syntax C<unless (EXPR) BLOCK else BLOCK> is now documented as valid, as
70is the syntax C<unless (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK>,
71although actually using the latter may not be the best idea for the
72readability of your source code.
3be84f1f 73
555dc087 74=head1 Installation and Configuration Improvements
3be84f1f 75
555dc087 76=head2 Configuration improvements
3be84f1f 77
555dc087 78Support for SystemTap's C<dtrace> compatibility layer has been added and an
79issue with linking C<miniperl> has been fixed in the process.
3be84f1f 80
555dc087 81C<less -R> is now used instead of C<less> for C<groff>'s new usage of ANSI
82escape codes by setting C<$Config{less}> (and thereby C<$Config{pager}>,
83which fixes RT #72156.
3be84f1f 84
555dc087 85USE_PERL_ATOF is now reported in the compile-time options listed by the C<-V>
86switch.
3be84f1f 87
88=head1 Selected Bug Fixes
89
3be84f1f 90=over 4
91
92=item *
93
555dc087 94Arbitrary whitespace is now allowed between C<NAME> and C<VERSION> in
95C<package NAME VERSION;> statements. (Fixes RT #72432)
3be84f1f 96
555dc087 97=item *
3be84f1f 98
555dc087 99A panic caused by trying to load C<charnames> when the parser is already in
100error (e.g. by a missing C<my> under C<use strict;>) is now averted. This
101was a regression since Perl 5.10.0. (Fixes RT #72590)
3be84f1f 102
555dc087 103=item *
3be84f1f 104
ca127710 105Reading C<$!> no longer causes a SEGV for out of range C<errno> values. (Fixes
106RT #72850)
107
108=item *
109
555dc087 110A possible SEGV in C</\N{...}/> has been fixed. This was a regression since
111Perl 5.10.
3be84f1f 112
555dc087 113=item *
3be84f1f 114
555dc087 115A possible SEGV when freeing a scalar that was upgraded to an C<SVt_REGEXP>
116type from a simple(r) scalar has been fixed.
3be84f1f 117
118=item *
119
555dc087 120A type conversion bug in C<gmtime64> that caused it to break around C<2**48>
121has been fixed.
3be84f1f 122
555dc087 123=item *
3be84f1f 124
555dc087 125Filehandles are now always blessed into C<IO::File>, which, together with
126some suitable manipulation of C<@IO::File::ISA>, fixes a breakage introduced
127in Perl 5.11.3 by a change that always blessed filehandles into C<IO::Handle>
128rather than checking for C<FileHandle> first.
3be84f1f 129
555dc087 130=item *
3be84f1f 131
ca127710 132A change in the behaviour of C<warnings::enabled> and C<warnings::warnif> in
133Perl 5.10.0 that wasn't documented at the time is now documented in
134L<perl5100delta>. (Fixes RT #62522)
3be84f1f 135
555dc087 136=item *
3be84f1f 137
555dc087 138RT #71504 is now fixed by simply skipping the tests that failed on OpenBSD
139with ithreads and perlio.
3be84f1f 140
141=back
142
555dc087 143=head1 New or Changed Diagnostics
3be84f1f 144
145=over 4
146
147=item *
148
555dc087 149C<gmtime> and C<localtime> called with numbers smaller than they can reliably
150handle will now issue the warnings C<gmtime(%.0f) too small> and
151C<localtime(%.0f) too small>.
3be84f1f 152
153=back
154
555dc087 155=head1 New Tests
3be84f1f 156
157=over 4
158
555dc087 159=item F<t/op/filehandle.t>
3be84f1f 160
555dc087 161Tests some suitably portable filetest operators to check that they work as
162expected, particularly in the light of some internal changes made in how
163filehandles are blessed.
3be84f1f 164
555dc087 165=item F<t/op/time_loop.t>
3be84f1f 166
555dc087 167Tests that times greater than C<2**63>, which can now be handed to C<gmtime>
168and C<localtime>, do not cause an internal overflow or an excessively long
169loop.
3be84f1f 170
555dc087 171=back
3be84f1f 172
555dc087 173=head1 Known Problems
3be84f1f 174
555dc087 175Perl 5.11.5 is a development release leading up to Perl 5.12.0.
176Some notable known problems found in 5.11.5 are listed as dependencies
177of RT #69710, the Perl 5 version 12 meta-ticket.
3be84f1f 178
179=head1 Acknowledgements
180
555dc087 181Perl 5.11.5 represents approximately one month of development since
182Perl 5.11.4 and contains XXX lines of changes across XXX files
183from XXX authors and committers:
184
3be84f1f 185XXX The list of people to thank goes here.
186
555dc087 187Many of the changes included in this version originated in the CPAN
188modules included in Perl's core. We're grateful to the entire CPAN
189community for helping Perl to flourish.
3be84f1f 190
191=head1 Reporting Bugs
192
193If you find what you think is a bug, you might check the articles
194recently posted to the comp.lang.perl.misc newsgroup and the perl
195bug database at http://rt.perl.org/perlbug/ . There may also be
196information at http://www.perl.org/ , the Perl Home Page.
197
198If you believe you have an unreported bug, please run the B<perlbug>
199program included with your release. Be sure to trim your bug down
200to a tiny but sufficient test case. Your bug report, along with the
201output of C<perl -V>, will be sent off to perlbug@perl.org to be
555dc087 202analyzed by the Perl porting team.
3be84f1f 203
204If the bug you are reporting has security implications, which make it
205inappropriate to send to a publicly archived mailing list, then please send
206it to perl5-security-report@perl.org. This points to a closed subscription
207unarchived mailing list, which includes all the core committers, who be able
208to help assess the impact of issues, figure out a resolution, and help
209co-ordinate the release of patches to mitigate or fix the problem across all
210platforms on which Perl is supported. Please only use this address for
211security issues in the Perl core, not for modules independently
212distributed on CPAN.
213
214=head1 SEE ALSO
215
216The F<Changes> file for an explanation of how to view exhaustive details
217on what changed.
218
219The F<INSTALL> file for how to build Perl.
220
221The F<README> file for general stuff.
222
223The F<Artistic> and F<Copying> files for copyright information.
224
225=cut