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 | |
555dc087 |
45 | Upgraded from version 1.94_53 to 1.94_55. |
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 | |
555dc087 |
61 | =item C<podlators> |
3be84f1f |
62 | |
555dc087 |
63 | Upgraded from version 2.2.2 to 2.3.0. |
3be84f1f |
64 | |
65 | =back |
66 | |
555dc087 |
67 | =head1 Changes to Existing Documentation |
3be84f1f |
68 | |
555dc087 |
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. |
3be84f1f |
73 | |
555dc087 |
74 | =head1 Installation and Configuration Improvements |
3be84f1f |
75 | |
555dc087 |
76 | =head2 Configuration improvements |
3be84f1f |
77 | |
555dc087 |
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. |
3be84f1f |
80 | |
555dc087 |
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. |
3be84f1f |
84 | |
555dc087 |
85 | USE_PERL_ATOF is now reported in the compile-time options listed by the C<-V> |
86 | switch. |
3be84f1f |
87 | |
88 | =head1 Selected Bug Fixes |
89 | |
3be84f1f |
90 | =over 4 |
91 | |
92 | =item * |
93 | |
555dc087 |
94 | Arbitrary whitespace is now allowed between C<NAME> and C<VERSION> in |
95 | C<package NAME VERSION;> statements. (Fixes RT #72432) |
3be84f1f |
96 | |
555dc087 |
97 | =item * |
3be84f1f |
98 | |
555dc087 |
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) |
3be84f1f |
102 | |
555dc087 |
103 | =item * |
3be84f1f |
104 | |
ca127710 |
105 | Reading C<$!> no longer causes a SEGV for out of range C<errno> values. (Fixes |
106 | RT #72850) |
107 | |
108 | =item * |
109 | |
555dc087 |
110 | A possible SEGV in C</\N{...}/> has been fixed. This was a regression since |
111 | Perl 5.10. |
3be84f1f |
112 | |
555dc087 |
113 | =item * |
3be84f1f |
114 | |
555dc087 |
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. |
3be84f1f |
117 | |
118 | =item * |
119 | |
555dc087 |
120 | A type conversion bug in C<gmtime64> that caused it to break around C<2**48> |
121 | has been fixed. |
3be84f1f |
122 | |
555dc087 |
123 | =item * |
3be84f1f |
124 | |
555dc087 |
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. |
3be84f1f |
129 | |
555dc087 |
130 | =item * |
3be84f1f |
131 | |
ca127710 |
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) |
3be84f1f |
135 | |
555dc087 |
136 | =item * |
3be84f1f |
137 | |
555dc087 |
138 | RT #71504 is now fixed by simply skipping the tests that failed on OpenBSD |
139 | with 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 |
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>. |
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 |
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. |
3be84f1f |
164 | |
555dc087 |
165 | =item F<t/op/time_loop.t> |
3be84f1f |
166 | |
555dc087 |
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. |
3be84f1f |
170 | |
555dc087 |
171 | =back |
3be84f1f |
172 | |
555dc087 |
173 | =head1 Known Problems |
3be84f1f |
174 | |
555dc087 |
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. |
3be84f1f |
178 | |
179 | =head1 Acknowledgements |
180 | |
555dc087 |
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 | |
3be84f1f |
185 | XXX The list of people to thank goes here. |
186 | |
555dc087 |
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. |
3be84f1f |
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 |
555dc087 |
202 | analyzed by the Perl porting team. |
3be84f1f |
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 |