This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
PerlIO::Via: check arg is non-NULL before using it.
[perl5.git] / pod / perl5182delta.pod
1 =encoding utf8
2
3 =head1 NAME
4
5 perl5182delta - what is new for perl v5.18.2
6
7 =head1 DESCRIPTION
8
9 This document describes differences between the 5.18.1 release and the 5.18.2
10 release.
11
12 If you are upgrading from an earlier release such as 5.18.0, first read
13 L<perl5181delta>, which describes differences between 5.18.0 and 5.18.1.
14
15 =head1 Modules and Pragmata
16
17 =head2 Updated Modules and Pragmata
18
19 =over 4
20
21 =item *
22
23 L<B> has been upgraded from version 1.42_01 to 1.42_02.
24
25 The fix for [perl #118525] introduced a regression in the behaviour of
26 C<B::CV::GV>, changing the return value from a C<B::SPECIAL> object on
27 a C<NULL> C<CvGV> to C<undef>.  C<B::CV::GV> again returns a
28 C<B::SPECIAL> object in this case.  [perl #119413]
29
30 =item *
31
32 L<B::Concise> has been upgraded from version 0.95 to 0.95_01.
33
34 This fixes a bug in dumping unexpected SPECIALs.
35
36 =item *
37
38 L<English> has been upgraded from version 1.06 to 1.06_01.  This fixes an
39 error about the performance of C<$`>, C<$&>, and C<$'>.
40
41 =item *
42
43 L<File::Glob> has been upgraded from version 1.20 to 1.20_01.
44
45 =back
46
47 =head1 Documentation
48
49 =head2 Changes to Existing Documentation
50
51 =over 4
52
53 =item *
54
55 L<perlrepository> has been restored with a pointer to more useful pages.
56
57 =item *
58
59 L<perlhack> has been updated with the latest changes from blead.
60
61 =back
62
63 =head1 Selected Bug Fixes
64
65 =over 4
66
67 =item *
68
69 Perl 5.18.1 introduced a regression along with a bugfix for lexical subs.
70 Some B::SPECIAL results from B::CV::GV became undefs instead.  This broke
71 Devel::Cover among other libraries.  This has been fixed.  [perl #119351]
72
73 =item *
74
75 Perl 5.18.0 introduced a regression whereby C<[:^ascii:]>, if used in the same
76 character class as other qualifiers, would fail to match characters in the
77 Latin-1 block.  This has been fixed.  [perl #120799]
78
79 =item *
80
81 Perl 5.18.0 introduced a regression when using ->SUPER::method with AUTOLOAD
82 by looking up AUTOLOAD from the current package, rather than the current
83 package’s superclass.  This has been fixed. [perl #120694]
84
85 =item *
86
87 Perl 5.18.0 introduced a regression whereby C<-bareword> was no longer
88 permitted under the C<strict> and C<integer> pragmata when used together.  This
89 has been fixed.  [perl #120288]
90
91 =item *
92
93 Previously PerlIOBase_dup didn't check if pushing the new layer succeeded
94 before (optionally) setting the utf8 flag. This could cause
95 segfaults-by-nullpointer.  This has been fixed.
96
97 =item *
98
99 A buffer overflow with very long identifiers has been fixed.
100
101 =item *
102
103 A regression from 5.16 in the handling of padranges led to assertion failures
104 if a keyword plugin declined to handle the second ‘my’, but only after creating
105 a padop.
106
107 This affected, at least, Devel::CallParser under threaded builds.
108
109 This has been fixed.
110
111 =item *
112
113 The construct C<< $r=qr/.../; /$r/p >> is now handled properly, an issue which
114 had been worsened by changes 5.18.0. [perl #118213]
115
116 =back
117
118 =head1 Acknowledgements
119
120 Perl 5.18.2 represents approximately 3 months of development since Perl
121 5.18.1 and contains approximately 980 lines of changes across 39 files from 4
122 authors.
123
124 Perl continues to flourish into its third decade thanks to a vibrant
125 community of users and developers. The following people are known to have
126 contributed the improvements that became Perl 5.18.2:
127
128 Craig A. Berry, David Mitchell, Ricardo Signes, Tony Cook.
129
130 The list above is almost certainly incomplete as it is automatically
131 generated from version control history. In particular, it does not include
132 the names of the (very much appreciated) contributors who reported issues to
133 the Perl bug tracker.
134
135 Many of the changes included in this version originated in the CPAN modules
136 included in Perl's core. We're grateful to the entire CPAN community for
137 helping Perl to flourish.
138
139 For a more complete list of all of Perl's historical contributors, please see
140 the F<AUTHORS> file in the Perl source distribution.
141
142 =head1 Reporting Bugs
143
144 If you find what you think is a bug, you might check the articles recently
145 posted to the comp.lang.perl.misc newsgroup and the perl bug database at
146 http://rt.perl.org/perlbug/ .  There may also be information at
147 http://www.perl.org/ , the Perl Home Page.
148
149 If you believe you have an unreported bug, please run the L<perlbug> program
150 included with your release.  Be sure to trim your bug down to a tiny but
151 sufficient test case.  Your bug report, along with the output of C<perl -V>,
152 will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
153
154 If the bug you are reporting has security implications, which make it
155 inappropriate to send to a publicly archived mailing list, then please send it
156 to perl5-security-report@perl.org.  This points to a closed subscription
157 unarchived mailing list, which includes all the core committers, who will be
158 able to help assess the impact of issues, figure out a resolution, and help
159 co-ordinate the release of patches to mitigate or fix the problem across all
160 platforms on which Perl is supported.  Please only use this address for
161 security issues in the Perl core, not for modules independently distributed on
162 CPAN.
163
164 =head1 SEE ALSO
165
166 The F<Changes> file for an explanation of how to view exhaustive details on
167 what changed.
168
169 The F<INSTALL> file for how to build Perl.
170
171 The F<README> file for general stuff.
172
173 The F<Artistic> and F<Copying> files for copyright information.
174
175 =cut