This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Keep perl5115delta.pod up to date
[perl5.git] / pod / perl5115delta.pod
CommitLineData
3be84f1f
RS
1=head1 NAME
2
3be84f1f
RS
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
RS
14=head1 Core Enhancements
15
555dc087 16=head2 32-bit limit on substr arguments removed
3be84f1f 17
555dc087
SH
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
RS
21
22=head1 Modules and Pragmata
23
3be84f1f
RS
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
SH
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
RS
36
37=back
38
555dc087 39=head2 Updated Modules
3be84f1f
RS
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
SH
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
SH
58This resolves RT #72700, in which an exception thrown from a closure was
59getting lost.
3be84f1f 60
a4cc9611
SH
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
RS
71
72=back
73
555dc087 74=head1 Changes to Existing Documentation
3be84f1f 75
555dc087
SH
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
SH
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
SH
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
SH
92USE_PERL_ATOF is now reported in the compile-time options listed by the C<-V>
93switch.
3be84f1f
RS
94
95=head1 Selected Bug Fixes
96
3be84f1f
RS
97=over 4
98
99=item *
100
555dc087
SH
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
SH
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
SH
112Reading C<$!> no longer causes a SEGV for out of range C<errno> values. (Fixes
113RT #72850)
114
115=item *
116
555dc087
SH
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
SH
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
RS
124
125=item *
126
555dc087
SH
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
555dc087
SH
132Filehandles are now always blessed into C<IO::File>, which, together with
133some suitable manipulation of C<@IO::File::ISA>, fixes a breakage introduced
134in Perl 5.11.3 by a change that always blessed filehandles into C<IO::Handle>
135rather than checking for C<FileHandle> first.
3be84f1f 136
555dc087 137=item *
3be84f1f 138
ca127710
SH
139A change in the behaviour of C<warnings::enabled> and C<warnings::warnif> in
140Perl 5.10.0 that wasn't documented at the time is now documented in
141L<perl5100delta>. (Fixes RT #62522)
3be84f1f 142
555dc087 143=item *
3be84f1f 144
555dc087
SH
145RT #71504 is now fixed by simply skipping the tests that failed on OpenBSD
146with ithreads and perlio.
3be84f1f
RS
147
148=back
149
555dc087 150=head1 New or Changed Diagnostics
3be84f1f
RS
151
152=over 4
153
154=item *
155
555dc087
SH
156C<gmtime> and C<localtime> called with numbers smaller than they can reliably
157handle will now issue the warnings C<gmtime(%.0f) too small> and
158C<localtime(%.0f) too small>.
3be84f1f
RS
159
160=back
161
555dc087 162=head1 New Tests
3be84f1f
RS
163
164=over 4
165
555dc087 166=item F<t/op/filehandle.t>
3be84f1f 167
555dc087
SH
168Tests some suitably portable filetest operators to check that they work as
169expected, particularly in the light of some internal changes made in how
170filehandles are blessed.
3be84f1f 171
555dc087 172=item F<t/op/time_loop.t>
3be84f1f 173
555dc087
SH
174Tests that times greater than C<2**63>, which can now be handed to C<gmtime>
175and C<localtime>, do not cause an internal overflow or an excessively long
176loop.
3be84f1f 177
555dc087 178=back
3be84f1f 179
555dc087 180=head1 Known Problems
3be84f1f 181
555dc087
SH
182Perl 5.11.5 is a development release leading up to Perl 5.12.0.
183Some notable known problems found in 5.11.5 are listed as dependencies
184of RT #69710, the Perl 5 version 12 meta-ticket.
3be84f1f
RS
185
186=head1 Acknowledgements
187
555dc087
SH
188Perl 5.11.5 represents approximately one month of development since
189Perl 5.11.4 and contains XXX lines of changes across XXX files
190from XXX authors and committers:
191
3be84f1f
RS
192XXX The list of people to thank goes here.
193
555dc087
SH
194Many of the changes included in this version originated in the CPAN
195modules included in Perl's core. We're grateful to the entire CPAN
196community for helping Perl to flourish.
3be84f1f
RS
197
198=head1 Reporting Bugs
199
200If you find what you think is a bug, you might check the articles
201recently posted to the comp.lang.perl.misc newsgroup and the perl
202bug database at http://rt.perl.org/perlbug/ . There may also be
203information at http://www.perl.org/ , the Perl Home Page.
204
205If you believe you have an unreported bug, please run the B<perlbug>
206program included with your release. Be sure to trim your bug down
207to a tiny but sufficient test case. Your bug report, along with the
208output of C<perl -V>, will be sent off to perlbug@perl.org to be
555dc087 209analyzed by the Perl porting team.
3be84f1f
RS
210
211If the bug you are reporting has security implications, which make it
212inappropriate to send to a publicly archived mailing list, then please send
213it to perl5-security-report@perl.org. This points to a closed subscription
214unarchived mailing list, which includes all the core committers, who be able
215to help assess the impact of issues, figure out a resolution, and help
216co-ordinate the release of patches to mitigate or fix the problem across all
217platforms on which Perl is supported. Please only use this address for
218security issues in the Perl core, not for modules independently
219distributed on CPAN.
220
221=head1 SEE ALSO
222
223The F<Changes> file for an explanation of how to view exhaustive details
224on what changed.
225
226The F<INSTALL> file for how to build Perl.
227
228The F<README> file for general stuff.
229
230The F<Artistic> and F<Copying> files for copyright information.
231
232=cut