1=encoding utf8
2
3=head1 NAME
4
5perl5141delta - what is new for perl v5.14.1
6
7=head1 DESCRIPTION
8
9This document describes differences between the 5.14.0 release and
10the 5.14.1 release.
11
12If you are upgrading from an earlier release such as 5.12.0, first read
13L<perl5140delta>, which describes differences between 5.12.0 and
145.14.0.
15
16=head1 Core Enhancements
17
18No changes since 5.14.0.
19
20=head1 Security
21
22No changes since 5.14.0.
23
24=head1 Incompatible Changes
25
26There are no changes intentionally incompatible with 5.14.0. If any
27exist, they are bugs and reports are welcome.
28
29=head1 Deprecations
30
31There have been no deprecations since 5.14.0.
32
33=head1 Modules and Pragmata
34
35=head2 New Modules and Pragmata
36
37None
38
39=head2 Updated Modules and Pragmata
40
41=over 4
42
43=item *
44
45L<B::Deparse> has been upgraded from version 1.03 to 1.04, to address two
46regressions in Perl 5.14.0:
47
48Deparsing of the C<glob> operator and its diamond (C<< <> >>) form now
49works again. [perl #90898]
50
51The presence of subroutines named C<::::> or C<::::::> no longer causes
52B::Deparse to hang.
53
54=item *
55
56L<Pod::Perldoc> has been upgraded from version 3.15_03 to 3.15_04.
57
58It corrects the search paths on VMS. [perl #90640]
59
60=back
61
62=head2 Removed Modules and Pragmata
63
64None
65
66=head1 Documentation
67
68=head2 New Documentation
69
70None
71
72=head2 Changes to Existing Documentation
73
74=head3 L<perlfunc>
75
76=over
77
78=item *
79
80C<given>, C<when> and C<default> are now listed in L<perlfunc>.
81
82=item *
83
84Documentation for C<use> now includes a pointer to F<if.pm>.
85
86=back
87
88=head3 L<perllol>
89
90=over
91
92=item *
93
94L<perllol> has been expanded with examples using the new C<push $scalar>
95syntax introduced in Perl 5.14.0.
96
97=back
98
99=head3 L<perlop>
100
101=over 4
102
103=item *
104
105The explanation of bitwise operators has been expanded to explain how they
106work on Unicode strings.
107
108=item *
109
110The section on the triple-dot or yada-yada operator has been moved up, as
111it used to separate two closely related sections about the comma operator.
112
113=item *
114
115More examples for C<m//g> have been added.
116
117=item *
118
119The C<<< <<\FOO >>> here-doc syntax has been documented.
120
121=back
122
123=head3 L<perlrun>
124
125=over
126
127=item *
128
129L<perlrun> has undergone a significant clean-up.  Most notably, the
130B<-0x...> form of the B<-0> flag has been clarified, and the final section
131on environment variables has been corrected and expanded.
132
133=back
134
135=head3 L<POSIX>
136
137=over
138
139=item *
140
141The invocation documentation for C<WIFEXITED>, C<WEXITSTATUS>,
142C<WIFSIGNALED>, C<WTERMSIG>, C<WIFSTOPPED>, and C<WSTOPSIG> was corrected.
143
144=back
145
146
147=head1 Diagnostics
148
149The following additions or changes have been made to diagnostic output,
150including warnings and fatal error messages.  For the complete list of
151diagnostic messages, see L<perldiag>.
152
153=head2 New Diagnostics
154
155None
156
157=head2 Changes to Existing Diagnostics
158
159None
160
161=head1 Utility Changes
162
163None
164
165=head1 Configuration and Compilation
166
167=over 4
168
169=item *
170
171F<regexp.h> has been modified for compatibility with GCC's C<-Werror>
172option, as used by some projects that include perl's header files.
173
174=back
175
176=head1 Testing
177
178=over 4
179
180=item *
181
182Some test failures in F<dist/Locale-Maketext/t/09_compile.t> that could
183occur depending on the environment have been fixed. [perl #89896]
184
185=item *
186
187A watchdog timer for F<t/re/re.t> was lengthened to accommodate SH-4 systems
188which were unable to complete the tests before the previous timer ran out.
189
190
191=back
192
193=head1 Platform Support
194
195=head2 New Platforms
196
197None
198
199=head2 Discontinued Platforms
200
201None
202
203=head2 Platform-Specific Notes
204
205=head3 Solaris
206
207=over
208
209=item *
210
211Documentation listing the Solaris packages required to build Perl on
212Solaris 9 and Solaris 10 has been corrected.
213
214=back
215
216=head3 Mac OS X
217
218=over
219
220=item *
221
222The F<lib/locale.t> test script has been updated to work on the upcoming
223Lion release.
224
225=item *
226
227Mac OS X specific compilation instructions have been clarified.
228
229=back
230
231=head3 Ubuntu Linux
232
233=over
234
235=item *
236
237The L<ODBM_File> installation process has been updated with the new library
238paths on Ubuntu natty.
239
240=back
241
242=head1 Internal Changes
243
244=over
245
246=item *
247
248The compiled representation of formats is now stored via the mg_ptr of
249their PERL_MAGIC_fm. Previously it was stored in the string buffer,
250beyond SvLEN(), the regular end of the string. SvCOMPILED() and
251SvCOMPILED_{on,off}() now exist solely for compatibility for XS code.
252The first is always 0, the other two now no-ops.
253
254=back
255
256=head1 Bug Fixes
257
258=over 4
259
260=item *
261
262A bug has been fixed that would cause a "Use of freed value in iteration"
263error if the next two hash elements that would be iterated over are
264deleted. [perl #85026]
265
266=item *
267
268Passing the same constant subroutine to both C<index> and C<formline> no
269longer causes one or the other to fail. [perl #89218]
270
271=item *
272
2735.14.0 introduced some memory leaks in regular expression character
274classes such as C<[\w\s]>, which have now been fixed.
275
276=item *
277
278An edge case in regular expression matching could potentially loop.
279This happened only under C</i> in bracketed character classes that have
280characters with multi-character folds, and the target string to match
281against includes the first portion of the fold, followed by another
282character that has a multi-character fold that begins with the remaining
283portion of the fold, plus some more.
284
285 "s\N{U+DF}" =~ /[\x{DF}foo]/i
286
287is one such case.  C<\xDF> folds to C<"ss">.
288
289=item *
290
291Several Unicode case-folding bugs have been fixed.
292
293=item *
294
295The new (in 5.14.0) regular expression modifier C</a> when repeated like
296C</aa> forbids the characters outside the ASCII range that match
297characters inside that range from matching under C</i>.  This did not
298work under some circumstances, all involving alternation, such as:
299
300 "\N{KELVIN SIGN}" =~ /k|foo/iaa;
301
302succeeded inappropriately.  This is now fixed.
303
304=item *
305
306Fixed a case where it was possible that a freed buffer may have been read
307from when parsing a here document.
308
309=back
310
311=head1 Acknowledgements
312
313Perl 5.14.1 represents approximately four weeks of development since
314Perl 5.14.0 and contains approximately 3500 lines of changes
315across 38 files from 17 authors.
316
317Perl continues to flourish into its third decade thanks to a vibrant
318community of users and developers.  The following people are known to
319have contributed the improvements that became Perl 5.14.1:
320
321Bo Lindbergh, Claudio Ramirez, Craig A. Berry, David Leadbeater, Father
322Chrysostomos, Jesse Vincent, Jim Cromie, Justin Case, Karl Williamson,
323Leo Lapworth, Nicholas Clark, Nobuhiro Iwamatsu, smash, Tom Christiansen,
324Ton Hospel, Vladimir Timofeev, and Zsbán Ambrus.
325
326
327=head1 Reporting Bugs
328
329If you find what you think is a bug, you might check the articles
330recently posted to the comp.lang.perl.misc newsgroup and the perl
331bug database at http://rt.perl.org/perlbug/ .  There may also be
332information at http://www.perl.org/ , the Perl Home Page.
333
334If you believe you have an unreported bug, please run the L<perlbug>
335program included with your release.  Be sure to trim your bug down
336to a tiny but sufficient test case.  Your bug report, along with the
337output of C<perl -V>, will be sent off to perlbug@perl.org to be
338analysed by the Perl porting team.
339
340If the bug you are reporting has security implications, which make it
341inappropriate to send to a publicly archived mailing list, then please send
342it to perl5-security-report@perl.org. This points to a closed subscription
343unarchived mailing list, which includes all the core committers, who be able
344to help assess the impact of issues, figure out a resolution, and help
345co-ordinate the release of patches to mitigate or fix the problem across all
346platforms on which Perl is supported. Please only use this address for
347security issues in the Perl core, not for modules independently
348distributed on CPAN.
349
350=head1 SEE ALSO
351
352The F<Changes> file for an explanation of how to view exhaustive details
353on what changed.
354
355The F<INSTALL> file for how to build Perl.
356
357The F<README> file for general stuff.
358
359The F<Artistic> and F<Copying> files for copyright information.
360
361=cut
362