Commit | Line | Data |
---|---|---|
10288c7a JV |
1 | =encoding utf8 |
2 | ||
3 | =head1 NAME | |
4 | ||
c5c5460d | 5 | perl5141delta - what is new for perl v5.14.1 |
10288c7a JV |
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 |