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