PATCH: deprecation warnings for unreasonable charnames
[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
a4cc9611 45Upgraded from version 1.94_53 to 1.94_56.
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
a4cc9611 61=item C<Socket>
62
63Upgraded from version 1.85 to 1.86.
64
65This makes the new Socket implementation of C<inet_pton> consistent with the
66existing Socket6 implementation of C<inet_pton>, fixing RT #72884.
67
555dc087 68=item C<podlators>
3be84f1f 69
4d522957 70Upgraded from version 2.2.2 to 2.3.1.
3be84f1f 71
72=back
73
555dc087 74=head1 Changes to Existing Documentation
3be84f1f 75
555dc087 76The syntax C<unless (EXPR) BLOCK else BLOCK> is now documented as valid, as
77is the syntax C<unless (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK>,
78although actually using the latter may not be the best idea for the
79readability of your source code.
3be84f1f 80
555dc087 81=head1 Installation and Configuration Improvements
3be84f1f 82
555dc087 83=head2 Configuration improvements
3be84f1f 84
555dc087 85Support for SystemTap's C<dtrace> compatibility layer has been added and an
86issue with linking C<miniperl> has been fixed in the process.
3be84f1f 87
555dc087 88C<less -R> is now used instead of C<less> for C<groff>'s new usage of ANSI
89escape codes by setting C<$Config{less}> (and thereby C<$Config{pager}>,
90which fixes RT #72156.
3be84f1f 91
555dc087 92USE_PERL_ATOF is now reported in the compile-time options listed by the C<-V>
93switch.
3be84f1f 94
95=head1 Selected Bug Fixes
96
3be84f1f 97=over 4
98
99=item *
100
555dc087 101Arbitrary whitespace is now allowed between C<NAME> and C<VERSION> in
102C<package NAME VERSION;> statements. (Fixes RT #72432)
3be84f1f 103
555dc087 104=item *
3be84f1f 105
555dc087 106A panic caused by trying to load C<charnames> when the parser is already in
107error (e.g. by a missing C<my> under C<use strict;>) is now averted. This
108was a regression since Perl 5.10.0. (Fixes RT #72590)
3be84f1f 109
555dc087 110=item *
3be84f1f 111
ca127710 112Reading C<$!> no longer causes a SEGV for out of range C<errno> values. (Fixes
113RT #72850)
114
115=item *
116
555dc087 117A possible SEGV in C</\N{...}/> has been fixed. This was a regression since
118Perl 5.10.
3be84f1f 119
555dc087 120=item *
3be84f1f 121
555dc087 122A possible SEGV when freeing a scalar that was upgraded to an C<SVt_REGEXP>
123type from a simple(r) scalar has been fixed.
3be84f1f 124
125=item *
126
555dc087 127A type conversion bug in C<gmtime64> that caused it to break around C<2**48>
128has been fixed.
3be84f1f 129
555dc087 130=item *
3be84f1f 131
e6a8543a 132Interpolating a regex that makes use of the C<charnames> pragma will no longer
133cause a run-time error. (Fixes RT #56444)
134
135=item *
136
137Array references assigned to C<*Foo::ISA> now have the necessary magic added
138to them to catch any further updates to the new C<@ISA>. (Fixes RT #72866)
139
140=item *
141
555dc087 142Filehandles are now always blessed into C<IO::File>, which, together with
143some suitable manipulation of C<@IO::File::ISA>, fixes a breakage introduced
144in Perl 5.11.3 by a change that always blessed filehandles into C<IO::Handle>
145rather than checking for C<FileHandle> first.
3be84f1f 146
555dc087 147=item *
3be84f1f 148
ca127710 149A change in the behaviour of C<warnings::enabled> and C<warnings::warnif> in
150Perl 5.10.0 that wasn't documented at the time is now documented in
151L<perl5100delta>. (Fixes RT #62522)
3be84f1f 152
555dc087 153=item *
3be84f1f 154
555dc087 155RT #71504 is now fixed by simply skipping the tests that failed on OpenBSD
156with ithreads and perlio.
3be84f1f 157
158=back
159
555dc087 160=head1 New or Changed Diagnostics
3be84f1f 161
162=over 4
163
164=item *
165
555dc087 166C<gmtime> and C<localtime> called with numbers smaller than they can reliably
167handle will now issue the warnings C<gmtime(%.0f) too small> and
168C<localtime(%.0f) too small>.
3be84f1f 169
170=back
171
555dc087 172=head1 New Tests
3be84f1f 173
174=over 4
175
555dc087 176=item F<t/op/filehandle.t>
3be84f1f 177
555dc087 178Tests some suitably portable filetest operators to check that they work as
179expected, particularly in the light of some internal changes made in how
180filehandles are blessed.
3be84f1f 181
555dc087 182=item F<t/op/time_loop.t>
3be84f1f 183
555dc087 184Tests that times greater than C<2**63>, which can now be handed to C<gmtime>
185and C<localtime>, do not cause an internal overflow or an excessively long
186loop.
3be84f1f 187
555dc087 188=back
3be84f1f 189
555dc087 190=head1 Known Problems
3be84f1f 191
555dc087 192Perl 5.11.5 is a development release leading up to Perl 5.12.0.
193Some notable known problems found in 5.11.5 are listed as dependencies
194of RT #69710, the Perl 5 version 12 meta-ticket.
3be84f1f 195
196=head1 Acknowledgements
197
555dc087 198Perl 5.11.5 represents approximately one month of development since
199Perl 5.11.4 and contains XXX lines of changes across XXX files
200from XXX authors and committers:
201
3be84f1f 202XXX The list of people to thank goes here.
203
555dc087 204Many of the changes included in this version originated in the CPAN
205modules included in Perl's core. We're grateful to the entire CPAN
206community for helping Perl to flourish.
3be84f1f 207
208=head1 Reporting Bugs
209
210If you find what you think is a bug, you might check the articles
211recently posted to the comp.lang.perl.misc newsgroup and the perl
212bug database at http://rt.perl.org/perlbug/ . There may also be
213information at http://www.perl.org/ , the Perl Home Page.
214
215If you believe you have an unreported bug, please run the B<perlbug>
216program included with your release. Be sure to trim your bug down
217to a tiny but sufficient test case. Your bug report, along with the
218output of C<perl -V>, will be sent off to perlbug@perl.org to be
555dc087 219analyzed by the Perl porting team.
3be84f1f 220
221If the bug you are reporting has security implications, which make it
222inappropriate to send to a publicly archived mailing list, then please send
223it to perl5-security-report@perl.org. This points to a closed subscription
224unarchived mailing list, which includes all the core committers, who be able
225to help assess the impact of issues, figure out a resolution, and help
226co-ordinate the release of patches to mitigate or fix the problem across all
227platforms on which Perl is supported. Please only use this address for
228security issues in the Perl core, not for modules independently
229distributed on CPAN.
230
231=head1 SEE ALSO
232
233The F<Changes> file for an explanation of how to view exhaustive details
234on what changed.
235
236The F<INSTALL> file for how to build Perl.
237
238The F<README> file for general stuff.
239
240The F<Artistic> and F<Copying> files for copyright information.
241
242=cut