5 perl5142delta - what is new for perl v5.14.2
9 This document describes differences between the 5.14.1 release and
12 If you are upgrading from an earlier release such as 5.14.0, first read
13 L<perl5141delta>, which describes differences between 5.14.0 and
16 =head1 Core Enhancements
18 No changes since 5.14.0.
22 =head2 C<File::Glob::bsd_glob()> memory error with GLOB_ALTDIRFUNC (CVE-2011-2728).
24 Calling C<File::Glob::bsd_glob> with the unsupported flag GLOB_ALTDIRFUNC would
25 cause an access violation / segfault. A Perl program that accepts a flags value from
26 an external source could expose itself to denial of service or arbitrary code
27 execution attacks. There are no known exploits in the wild. The problem has been
28 corrected by explicitly disabling all unsupported flags and setting unused function
29 pointers to null. Bug reported by Clément Lecigne.
31 =head2 C<Encode> decode_xs n-byte heap-overflow (CVE-2011-2939)
33 A bug in C<Encode> could, on certain inputs, cause the heap to overflow.
34 This problem has been corrected. Bug reported by Robert Zacek.
36 =head1 Incompatible Changes
38 There are no changes intentionally incompatible with 5.14.0. If any
39 exist, they are bugs and reports are welcome.
43 There have been no deprecations since 5.14.0.
45 =head1 Modules and Pragmata
47 =head2 New Modules and Pragmata
51 =head2 Updated Modules and Pragmata
57 L<CPAN> has been upgraded from version 1.9600 to version 1.9600_01.
59 L<CPAN::Distribution> has been upgraded from version 1.9602 to 1.9602_01.
61 Backported bugfixes from CPAN version 1.9800. Ensures proper
62 detection of C<configure_requires> prerequisites from CPAN Meta files
63 in the case where C<dynamic_config> is true. [rt.cpan.org #68835]
65 Also ensures that C<configure_requires> is only checked in META files,
66 not MYMETA files, so protect against MYMETA generation that drops
67 C<configure_requires>.
71 L<Encode> has been upgraded from version 2.42 to 2.42_01.
77 L<File::Glob> has been upgraded from version 1.12 to version 1.13.
83 L<PerlIO::scalar> has been upgraded from version 0.11 to 0.11_01.
85 It fixes a problem with C<< open my $fh, ">", \$scalar >> not working if
86 C<$scalar> is a copy-on-write scalar.
90 =head2 Removed Modules and Pragmata
94 =head1 Platform Support
100 =head2 Discontinued Platforms
104 =head2 Platform-Specific Notes
108 =item HP-UX PA-RISC/64 now supports gcc-4.x
110 A fix to correct the socketsize now makes the test suite pass on HP-UX
111 PA-RISC for 64bitall builds.
113 =item Building on OS X 10.7 Lion and Xcode 4 works again
115 The build system has been updated to work with the build tools under Mac OS X
126 In @INC filters (subroutines returned by subroutines in @INC), $_ used to
127 misbehave: If returned from a subroutine, it would not be copied, but the
128 variable itself would be returned; and freeing $_ (e.g., with C<undef *_>)
129 would cause perl to crash. This has been fixed [perl #91880].
133 Perl 5.10.0 introduced some faulty logic that made "U*" in the middle of
134 a pack template equivalent to "U0" if the input string was empty. This has
135 been fixed [perl #90160].
139 C<caller> no longer leaks memory when called from the DB package if
140 C<@DB::args> was assigned to after the first call to C<caller>. L<Carp>
141 was triggering this bug [perl #97010].
145 C<utf8::decode> had a nasty bug that would modify copy-on-write scalars'
146 string buffers in place (i.e., skipping the copy). This could result in
147 hashes having two elements with the same key [perl #91834].
151 Localising a tied variable used to make it read-only if it contained a
152 copy-on-write string.
156 Elements of restricted hashes (see the L<fields> pragma) containing
157 copy-on-write values couldn't be deleted, nor could such hashes be cleared
162 Locking a hash element that is a glob copy no longer causes subsequent
163 assignment to it to corrupt the glob.
167 A panic involving the combination of the regular expression modifiers
168 C</aa> introduced in 5.14.0 and the C<\b> escape sequence has been
173 =head1 Known Problems
175 This is a list of some significant unfixed bugs, which are regressions
182 C<PERL_GLOBAL_STRUCT> is broken.
184 Since perl 5.14.0, building with C<-DPERL_GLOBAL_STRUCT> hasn't been
185 possible. This means that perl currently doesn't work on any platforms that
186 require it to be built this way, including Symbian.
188 While C<PERL_GLOBAL_STRUCT> now works again on recent development versions of
189 perl, it actually working on Symbian again hasn't been verified.
191 We'd be very interested in hearing from anyone working with Perl on Symbian.
195 =head1 Acknowledgements
197 Perl 5.14.2 represents approximately three months of development since
198 Perl 5.14.1 and contains approximately 1200 lines of changes
199 across 61 files from 9 authors.
201 Perl continues to flourish into its third decade thanks to a vibrant
202 community of users and developers. The following people are known to
203 have contributed the improvements that became Perl 5.14.2:
205 Craig A. Berry, David Golden, Father Chrysostomos, Florian Ragwitz, H.Merijn
206 Brand, Karl Williamson, Nicholas Clark, Pau Amma and Ricardo Signes.
208 =head1 Reporting Bugs
210 If you find what you think is a bug, you might check the articles
211 recently posted to the comp.lang.perl.misc newsgroup and the perl
212 bug database at http://rt.perl.org/perlbug/ . There may also be
213 information at http://www.perl.org/ , the Perl Home Page.
215 If you believe you have an unreported bug, please run the L<perlbug>
216 program included with your release. Be sure to trim your bug down
217 to a tiny but sufficient test case. Your bug report, along with the
218 output of C<perl -V>, will be sent off to perlbug@perl.org to be
219 analysed by the Perl porting team.
221 If the bug you are reporting has security implications, which make it
222 inappropriate to send to a publicly archived mailing list, then please send
223 it to perl5-security-report@perl.org. This points to a closed subscription
224 unarchived mailing list, which includes all the core committers, who be able
225 to help assess the impact of issues, figure out a resolution, and help
226 co-ordinate the release of patches to mitigate or fix the problem across all
227 platforms on which Perl is supported. Please only use this address for
228 security issues in the Perl core, not for modules independently
233 The F<Changes> file for an explanation of how to view exhaustive details
236 The F<INSTALL> file for how to build Perl.
238 The F<README> file for general stuff.
240 The F<Artistic> and F<Copying> files for copyright information.