This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
(perl #133706) remove exploit code from Storable
[perl5.git] / pod / perl5161delta.pod
1 =encoding utf8
2
3 =head1 NAME
4
5 perl5161delta - what is new for perl v5.16.1
6
7 =head1 DESCRIPTION
8
9 This document describes differences between the 5.16.0 release and
10 the 5.16.1 release.
11
12 If you are upgrading from an earlier release such as 5.14.0, first read
13 L<perl5160delta>, which describes differences between 5.14.0 and
14 5.16.0.
15
16 =head1 Security
17
18 =head2 an off-by-two error in Scalar-List-Util has been fixed
19
20 The bugfix was in Scalar-List-Util 1.23_04, and perl 5.16.1 includes
21 Scalar-List-Util 1.25.
22
23 =head1 Incompatible Changes
24
25 There are no changes intentionally incompatible with 5.16.0 If any
26 exist, they are bugs, and we request that you submit a report.  See
27 L</Reporting Bugs> below.
28
29 =head1 Modules and Pragmata
30
31 =head2 Updated Modules and Pragmata
32
33 =over 4
34
35 =item *
36
37 L<Scalar::Util> and L<List::Util> have been upgraded from version 1.23 to
38 version 1.25.
39
40 =item *
41
42 L<B::Deparse> has been updated from version 1.14 to 1.14_01.  An
43 "uninitialized" warning emitted by B::Deparse has been squashed
44 [perl #113464].
45
46 =back
47
48 =head1 Configuration and Compilation
49
50 =over
51
52 =item *
53
54 Building perl with some Windows compilers used to fail due to a problem
55 with miniperl's C<glob> operator (which uses the C<perlglob> program)
56 deleting the PATH environment variable [perl #113798].
57
58 =back
59
60 =head1 Platform Support
61
62 =head2 Platform-Specific Notes
63
64 =over 4
65
66 =item VMS
67
68 All C header files from the top-level directory of the distribution are now
69 installed on VMS, providing consistency with a long-standing practice on other
70 platforms. Previously only a subset were installed, which broke non-core extension
71 builds for extensions that depended on the missing include files.
72
73 =back
74
75 =head1 Selected Bug Fixes
76
77 =over 4
78
79 =item *
80
81 A regression introduced in Perl v5.16.0 involving
82 C<tr/I<SEARCHLIST>/I<REPLACEMENTLIST>/> has been fixed.  Only the first
83 instance is supposed to be meaningful if a character appears more than
84 once in C<I<SEARCHLIST>>.  Under some circumstances, the final instance
85 was overriding all earlier ones.  [perl #113584]
86
87 =item *
88
89 C<B::COP::stashlen> has been added.   This provides access to an internal
90 field added in perl 5.16 under threaded builds.  It was broken at the last
91 minute before 5.16 was released [perl #113034].
92
93 =item *
94
95 The L<re> pragma will no longer clobber C<$_>. [perl #113750]
96
97 =item *
98
99 Unicode 6.1 published an incorrect alias for one of the
100 Canonical_Combining_Class property's values (which range between 0 and
101 254).  The alias C<CCC133> should have been C<CCC132>.  Perl now
102 overrides the data file furnished by Unicode to give the correct value.
103
104 =item *
105
106 Duplicating scalar filehandles works again.  [perl #113764]
107
108 =item *
109
110 Under threaded perls, a runtime code block in a regular expression could
111 corrupt the package name stored in the op tree, resulting in bad reads
112 in C<caller>, and possibly crashes [perl #113060].
113
114 =item *
115
116 For efficiency's sake, many operators and built-in functions return the
117 same scalar each time.  Lvalue subroutines and subroutines in the CORE::
118 namespace were allowing this implementation detail to leak through.
119 C<print &CORE::uc("a"), &CORE::uc("b")> used to print "BB".  The same thing
120 would happen with an lvalue subroutine returning the return value of C<uc>.
121 Now the value is copied in such cases [perl #113044].
122
123 =item *
124
125 C<__SUB__> now works in special blocks (C<BEGIN>, C<END>, etc.).
126
127 =item *
128
129 Formats that reference lexical variables from outside no longer result
130 in crashes.
131
132 =back
133
134 =head1 Known Problems
135
136 There are no new known problems, but consult L<perl5160delta/Known
137 Problems> to see those identified in the 5.16.0 release.
138
139 =head1 Acknowledgements
140
141 Perl 5.16.1 represents approximately 2 months of development since Perl
142 5.16.0 and contains approximately 14,000 lines of changes across 96
143 files from 8 authors.
144
145 Perl continues to flourish into its third decade thanks to a vibrant
146 community of users and developers. The following people are known to
147 have contributed the improvements that became Perl 5.16.1:
148
149 Chris 'BinGOs' Williams, Craig A. Berry, Father Chrysostomos, Karl
150 Williamson, Paul Johnson, Reini Urban, Ricardo Signes, Tony Cook.
151
152 The list above is almost certainly incomplete as it is automatically
153 generated from version control history. In particular, it does not
154 include the names of the (very much appreciated) contributors who
155 reported issues to the Perl bug tracker.
156
157 Many of the changes included in this version originated in the CPAN
158 modules included in Perl's core. We're grateful to the entire CPAN
159 community for helping Perl to flourish.
160
161 For a more complete list of all of Perl's historical contributors,
162 please see the F<AUTHORS> file in the Perl source distribution.
163
164 =head1 Reporting Bugs
165
166 If you find what you think is a bug, you might check the articles
167 recently posted to the comp.lang.perl.misc newsgroup and the perl
168 bug database at http://rt.perl.org/perlbug/ .  There may also be
169 information at http://www.perl.org/ , the Perl Home Page.
170
171 If you believe you have an unreported bug, please run the L<perlbug>
172 program included with your release.  Be sure to trim your bug down
173 to a tiny but sufficient test case.  Your bug report, along with the
174 output of C<perl -V>, will be sent off to perlbug@perl.org to be
175 analysed by the Perl porting team.
176
177 If the bug you are reporting has security implications, which make it
178 inappropriate to send to a publicly archived mailing list, then please
179 send it to perl5-security-report@perl.org. This points to a closed
180 subscription unarchived mailing list, which includes all the core
181 committers, who will be able to help assess the impact of issues, figure
182 out a resolution, and help co-ordinate the release of patches to
183 mitigate or fix the problem across all platforms on which Perl is
184 supported. Please only use this address for security issues in the Perl
185 core, not for modules independently distributed on CPAN.
186
187 =head1 SEE ALSO
188
189 The F<Changes> file for an explanation of how to view exhaustive details
190 on what changed.
191
192 The F<INSTALL> file for how to build Perl.
193
194 The F<README> file for general stuff.
195
196 The F<Artistic> and F<Copying> files for copyright information.
197
198 =cut