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