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