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