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