Commit | Line | Data |
---|---|---|
3a5c9134 CBW |
1 | =encoding utf8 |
2 | ||
3 | =head1 NAME | |
4 | ||
9f7a72d0 Z |
5 | [ this is a template for a new perldelta file. Any text flagged as |
6 | XXX needs to be processed before release. ] | |
3a5c9134 | 7 | |
9f7a72d0 | 8 | perldelta - what is new for perl v5.13.9 |
15e6cdd9 | 9 | |
9f7a72d0 | 10 | =head1 DESCRIPTION |
f6166f76 | 11 | |
9f7a72d0 Z |
12 | This document describes differences between the 5.13.8 release and |
13 | the 5.13.9 release. | |
0d157ee2 | 14 | |
9f7a72d0 Z |
15 | If you are upgrading from an earlier release such as 5.13.7, first read |
16 | L<perl5138delta>, which describes differences between 5.13.7 and | |
17 | 5.13.8. | |
0d157ee2 | 18 | |
9f7a72d0 | 19 | =head1 Notice |
0d157ee2 | 20 | |
9f7a72d0 | 21 | XXX Any important notices here |
0d157ee2 | 22 | |
9f7a72d0 | 23 | =head1 Core Enhancements |
0d157ee2 | 24 | |
9f7a72d0 Z |
25 | XXX New core language features go here. Summarise user-visible core language |
26 | enhancements. Particularly prominent performance optimisations could go | |
27 | here, but most should go in the L</Performance Enhancements> section. | |
0d157ee2 | 28 | |
086325d8 KW |
29 | [ List each enhancement as a =head2 entry ] |
30 | ||
cfaf538b KW |
31 | =head2 New regular expression modifier C</a> |
32 | ||
33 | The C</a> regular expression modifier restricts C<\s> to match precisely | |
34 | the five characters C<[ \f\n\r\t]>, C<\d> to match precisely the 10 | |
35 | characters C<[0-9]>, C<\w> to match precisely the 63 characters | |
36 | C<[A-Za-z0-9_]>, and the Posix (C<[[:posix:]]>) character classes to | |
37 | match only the appropriate ASCII characters. The complements, of | |
38 | course, match everything but; and C<\b> and C<\B> are correspondingly | |
39 | affected. Otherwise, C</a> behaves like the C</u> modifier, in that | |
40 | case-insensitive matching uses Unicode semantics; for example, "k" will | |
41 | match the Unicode C<\N{KELVIN SIGN}> under C</i> matching, and code | |
42 | points in the Latin1 range, above ASCII will have Unicode semantics when | |
43 | it comes to case-insensitive matching. Like its cousins (C</u>, C</l>, | |
44 | and C</d>), and in spite of the terminology, C</a> in 5.14 will not | |
45 | actually be able to be used as a suffix at the end of a regular | |
46 | expression (this restriction is planned to be lifted in 5.16). It must | |
47 | occur either as an infix modifier, such as C<(?a:...)> or (C<(?a)...>, | |
48 | or it can be turned on within the lexical scope of C<use re '/a'>. | |
49 | Turning on C</a> turns off the other "character set" modifiers. | |
50 | ||
086325d8 KW |
51 | =head2 Any unsigned value can be encoded as a character |
52 | ||
6d4f9cf2 | 53 | With this release, Perl is adopting a model that any unsigned value can |
086325d8 KW |
54 | be treated as a code point and encoded internally (as utf8) without |
55 | warnings -- not just the code points that are legal in Unicode. | |
56 | However, unless utf8 warnings have been | |
6d4f9cf2 KW |
57 | explicitly lexically turned off, outputting or performing a |
58 | Unicode-defined operation (such as upper-casing) on such a code point | |
59 | will generate a warning. Attempting to input these using strict rules | |
60 | (such as with the C<:encoding('UTF-8')> layer) will continue to fail. | |
61 | Prior to this release the handling was very inconsistent, and incorrect | |
62 | in places. Also, the Unicode non-characters, some of which previously were | |
63 | erroneously considered illegal in places by Perl, contrary to the Unicode | |
64 | standard, are now always legal internally. But inputting or outputting | |
65 | them will work the same as for the non-legal Unicode code points, as the | |
66 | Unicode standard says they are illegal for "open interchange". | |
67 | ||
15555e2d FC |
68 | =head2 Regular expression debugging output improvement |
69 | ||
70 | Regular expression debugging output (turned on by C<use re 'debug';>) now | |
71 | uses hexadecimal when escaping non-ASCII characters, instead of octal. | |
0d157ee2 | 72 | |
9f7a72d0 | 73 | =head1 Security |
0d157ee2 | 74 | |
9f7a72d0 Z |
75 | XXX Any security-related notices go here. In particular, any security |
76 | vulnerabilities closed should be noted here rather than in the | |
77 | L</Selected Bug Fixes> section. | |
bd8e866d | 78 | |
9f7a72d0 | 79 | [ List each security issue as a =head2 entry ] |
bd8e866d | 80 | |
3a5c9134 CBW |
81 | =head1 Incompatible Changes |
82 | ||
9f7a72d0 | 83 | XXX For a release on a stable branch, this section aspires to be: |
3a5c9134 | 84 | |
9f7a72d0 Z |
85 | There are no changes intentionally incompatible with 5.XXX.XXX. If any |
86 | exist, they are bugs and reports are welcome. | |
3a5c9134 | 87 | |
9f7a72d0 | 88 | [ List each incompatible change as a =head2 entry ] |
d66e82e8 | 89 | |
d4560299 FC |
90 | =head2 All objects are destroyed |
91 | ||
92 | It used to be possible to prevent a destructor from being called during | |
93 | global destruction by artificially increasing the reference count of an | |
94 | object. | |
95 | ||
96 | Now such objects I<will> will be destroyed, as a result of a bug fix | |
97 | L<[perl #81230]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=81230>. | |
98 | ||
99 | This has the potential to break some XS modules. (In fact, it break some. | |
100 | See L</Known Problems>, below.) | |
101 | ||
3a5c9134 CBW |
102 | =head1 Deprecations |
103 | ||
9f7a72d0 Z |
104 | XXX Any deprecated features, syntax, modules etc. should be listed here. |
105 | In particular, deprecated modules should be listed here even if they are | |
106 | listed as an updated module in the L</Modules and Pragmata> section. | |
5609d5f9 | 107 | |
9f7a72d0 | 108 | [ List each deprecation as a =head2 entry ] |
5609d5f9 | 109 | |
9f7a72d0 | 110 | =head1 Performance Enhancements |
5609d5f9 | 111 | |
9f7a72d0 Z |
112 | XXX Changes which enhance performance without changing behaviour go here. There |
113 | may well be none in a stable release. | |
5609d5f9 | 114 | |
9f7a72d0 | 115 | [ List each enhancement as a =item entry ] |
3a5c9134 CBW |
116 | |
117 | =over 4 | |
118 | ||
119 | =item * | |
120 | ||
9f7a72d0 | 121 | XXX |
e1165778 | 122 | |
9f7a72d0 | 123 | =back |
121e1895 | 124 | |
9f7a72d0 | 125 | =head1 Modules and Pragmata |
2638c0ff | 126 | |
9f7a72d0 Z |
127 | XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/> |
128 | go here. If Module::CoreList is updated, generate an initial draft of the | |
129 | following sections using F<Porting/corelist-perldelta.pl>, which prints stub | |
130 | entries to STDOUT. Results can be pasted in place of the '=head2' entries | |
131 | below. A paragraph summary for important changes should then be added by hand. | |
132 | In an ideal world, dual-life modules would have a F<Changes> file that could be | |
133 | cribbed. | |
2638c0ff | 134 | |
9f7a72d0 | 135 | [ Within each section, list entries as a =item entry ] |
17096837 | 136 | |
9f7a72d0 | 137 | =head2 New Modules and Pragmata |
2638c0ff | 138 | |
9f7a72d0 | 139 | =over 4 |
17096837 | 140 | |
e1165778 Z |
141 | =item * |
142 | ||
0b5d8c02 | 143 | L<CPAN::Meta::YAML> 0.003 has been added as a dual-life module. It supports a |
e8a07a12 DG |
144 | subset of YAML sufficient for reading and writing META.yml and MYMETA.yml files |
145 | included with CPAN distributions or generated by the module installation | |
146 | toolchain. It should not be used for any other general YAML parsing or | |
147 | generation task. | |
17096837 | 148 | |
935c8d19 DG |
149 | =item * |
150 | ||
435aa301 | 151 | L<HTTP::Tiny> 0.009 has been added as a dual-life module. It is a very |
a3ab329f DG |
152 | small, simple HTTP/1.1 client designed for simple GET requests and file |
153 | mirroring. It has has been added to enable CPAN.pm and CPANPLUS to | |
154 | "bootstrap" HTTP access to CPAN using pure Perl without relying on external | |
155 | binaries like F<curl> or F<wget>. | |
156 | ||
157 | =item * | |
158 | ||
6def3600 FC |
159 | L<JSON::PP> 2.27103 has been added as a dual-life module, for the sake of |
160 | reading F<META.json> files in CPAN distributions. | |
161 | ||
162 | =item * | |
163 | ||
6cf6332a | 164 | L<Module::Metadata> 1.000003 has been added as a dual-life module. It gathers |
e8b333e6 DG |
165 | package and POD information from Perl module files. It is a standalone module |
166 | based on Module::Build::ModuleInfo for use by other module installation | |
167 | toolchain components. Module::Build::ModuleInfo has been deprecated in | |
168 | favor of this module instead. | |
169 | ||
170 | =item * | |
171 | ||
935c8d19 DG |
172 | L<Perl::OSType> 1.002 has been added as a dual-life module. It maps Perl |
173 | operating system names (e.g. 'dragonfly' or 'MSWin32') to more generic types | |
174 | with standardized names (e.g. "Unix" or "Windows"). It has been refactored | |
175 | out of Module::Build and ExtUtils::CBuilder and consolidates such mappings into | |
176 | a single location for easier maintenance. | |
177 | ||
9f7a72d0 | 178 | =back |
e1165778 | 179 | |
9f7a72d0 | 180 | =head2 Updated Modules and Pragmata |
f295f417 | 181 | |
9f7a72d0 | 182 | =over 4 |
17096837 | 183 | |
f295f417 FC |
184 | =item * |
185 | ||
6447e912 CBW |
186 | C<Archive::Extract> has been upgraded from version 0.46 to 0.48 |
187 | ||
188 | =item * | |
189 | ||
89ae55b4 CBW |
190 | C<Archive::Tar> has been upgraded from version 1.74 to 1.76 |
191 | ||
192 | =item * | |
193 | ||
2a1594f6 CBW |
194 | C<CGI> has been upgraded from version 3.50 to 3.51 |
195 | ||
79e1bedb FC |
196 | Further improvements have been made to guard against newline injections |
197 | in headers. | |
198 | ||
2a1594f6 | 199 | =item * |
5ebf8416 CBW |
200 | |
201 | C<Compress::Raw::Bzip2> has been upgraded from version 2.031 to 2.033 | |
202 | ||
203 | =item * | |
e2f1db54 CBW |
204 | |
205 | C<Compress::Raw::Zlib> has been upgraded from version 2.030 to 2.033 | |
206 | ||
207 | =item * | |
2a1594f6 | 208 | |
a52237f3 DG |
209 | C<CPAN> has been upgraded from version 1.94_62 to 1.94_63 |
210 | ||
211 | =item * | |
212 | ||
f1aaabf8 CBW |
213 | C<CPANPLUS> has been upgraded from version 0.9010 to 0.9011 |
214 | ||
215 | =item * | |
216 | ||
ae0f8eee CBW |
217 | C<CPANPLUS::Dist::Build> has been upgraded from version 0.50 to 0.52 |
218 | ||
219 | =item * | |
220 | ||
221 | C<DB_File> has been upgraded from version 1.820 to 1.821 | |
deb99cce CBW |
222 | |
223 | =item * | |
224 | ||
6d4f9cf2 KW |
225 | C<Encode> has been upgraded from version 2.40 to 2.42. |
226 | Now, all 66 Unicode non-characters are treated the same way U+FFFF has | |
227 | always been treated; if it was disallowed, all 66 are disallowed; if it | |
228 | warned, all 66 warn. | |
50afc8f8 CBW |
229 | |
230 | =item * | |
231 | ||
eee47ba6 | 232 | C<File::Fetch> has been upgraded from version 0.28 to 0.32 |
f37ee46a CBW |
233 | |
234 | =item * | |
235 | ||
cd0c0e65 CBW |
236 | C<IO::Compress> has been upgraded from version 2.030 to 2.033 |
237 | ||
238 | =item * | |
239 | ||
f37ee46a CBW |
240 | C<IPC::Cmd> has been upgraded from version 0.66 to 0.68 |
241 | ||
ac066c2a CBW |
242 | =item * |
243 | ||
b5ce1198 CBW |
244 | C<Log::Message> has been upgraded from version 0.02 to 0.04 |
245 | ||
246 | =item * | |
247 | ||
c0395286 CBW |
248 | C<Log::Message::Simple> has been upgraded from version 0.06 to 0.08 |
249 | ||
250 | =item * | |
251 | ||
ae0f8eee | 252 | C<Module::Load::Conditional> has been upgraded from version 0.38 to 0.40 |
4fc94532 CBW |
253 | |
254 | =item * | |
255 | ||
ae0f8eee | 256 | C<Object::Accessor> has been upgraded from version 0.36 to 0.38 |
0019012a CBW |
257 | |
258 | =item * | |
259 | ||
ae0f8eee | 260 | C<Params::Check> has been upgraded from version 0.26 to 0.28 |
8cb3aa53 CBW |
261 | |
262 | =item * | |
263 | ||
9c88a88b CBW |
264 | C<Pod::LaTeX> has been upgraded from version 0.58 to 0.59 |
265 | ||
266 | =item * | |
267 | ||
6df88f97 | 268 | C<Term::UI> has been upgraded from version 0.20 to 0.24 |
8e1e0801 CBW |
269 | |
270 | =item * | |
271 | ||
4df1dffa FC |
272 | C<Thread::Queue> has been upgraded from version 2.11 to 2.12. |
273 | ||
274 | =item * | |
275 | ||
276 | C<Thread::Semaphore> has been upgraded from version 2.11 to 2.12. | |
277 | ||
278 | =item * | |
279 | ||
f5d41534 CBW |
280 | C<threads> has been upgraded from version 1.81_03 to 1.82 |
281 | ||
282 | =item * | |
283 | ||
284 | C<threads::shared> has been upgraded from version 1.35 to 1.36 | |
285 | ||
286 | =item * | |
287 | ||
23046b7e | 288 | C<Time::Local> has been upgraded from version 1.1901_01 to 1.2000. |
17096837 | 289 | |
788ba0f4 CBW |
290 | =item * |
291 | ||
292 | C<Unicode::Normalize> has been upgraded from version 1.07 to 1.10 | |
293 | ||
98d645a7 FC |
294 | =item * |
295 | ||
296 | C<version> has been upgraded from 0.86 to 0.88. | |
297 | ||
7abec982 FC |
298 | =item * |
299 | ||
300 | C<Win32> has been upgraded from version 0.41 to 0.44. | |
301 | ||
9f7a72d0 | 302 | =back |
e1165778 | 303 | |
9f7a72d0 | 304 | =head2 Removed Modules and Pragmata |
b373eab8 | 305 | |
9f7a72d0 | 306 | =over 4 |
b373eab8 FC |
307 | |
308 | =item * | |
309 | ||
9f7a72d0 | 310 | XXX |
b6ae81ab | 311 | |
9f7a72d0 | 312 | =back |
ca88a729 | 313 | |
9f7a72d0 | 314 | =head1 Documentation |
17096837 | 315 | |
9f7a72d0 Z |
316 | XXX Changes to files in F<pod/> go here. Consider grouping entries by |
317 | file and be sure to link to the appropriate page, e.g. L<perlfunc>. | |
b6ae81ab | 318 | |
9f7a72d0 | 319 | =head2 New Documentation |
e1165778 | 320 | |
9f7a72d0 | 321 | XXX Changes which create B<new> files in F<pod/> go here. |
17096837 | 322 | |
9f7a72d0 | 323 | =head3 L<XXX> |
e1165778 | 324 | |
9f7a72d0 | 325 | XXX Description of the purpose of the new file here |
e1165778 | 326 | |
9f7a72d0 | 327 | =head2 Changes to Existing Documentation |
17096837 | 328 | |
9f7a72d0 Z |
329 | XXX Changes which significantly change existing files in F<pod/> go here. |
330 | However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics> | |
331 | section. | |
e1165778 | 332 | |
0d7fe741 | 333 | =head3 L<perlfunc> |
d4238815 | 334 | |
9f7a72d0 | 335 | =over 4 |
17096837 | 336 | |
d4238815 FC |
337 | =item * |
338 | ||
0d7fe741 | 339 | It has now been documented that C<ord> returns 0 for an empty string. |
e1165778 | 340 | |
9f7a72d0 | 341 | =back |
17096837 | 342 | |
9f7a72d0 | 343 | =head1 Diagnostics |
17096837 | 344 | |
9f7a72d0 Z |
345 | The following additions or changes have been made to diagnostic output, |
346 | including warnings and fatal error messages. For the complete list of | |
347 | diagnostic messages, see L<perldiag>. | |
e1165778 | 348 | |
9f7a72d0 Z |
349 | XXX New or changed warnings emitted by the core's C<C> code go here. Also |
350 | include any changes in L<perldiag> that reconcile it to the C<C> code. | |
68adb2b0 | 351 | |
9f7a72d0 | 352 | [ Within each section, list entries as a =item entry ] |
17096837 | 353 | |
9f7a72d0 | 354 | =head2 New Diagnostics |
3a5c9134 | 355 | |
9f7a72d0 | 356 | XXX Newly added diagnostic messages go here |
17096837 | 357 | |
9f7a72d0 | 358 | =over 4 |
17096837 | 359 | |
c2e0289e FC |
360 | =item * |
361 | ||
26b3f088 FC |
362 | Performing an operation requiring Unicode semantics (such as case-folding) |
363 | on a Unicode surrogate or a non-Unicode character now triggers a warning: | |
364 | 'Operation "%s" returns its argument for ...'. | |
17096837 | 365 | |
9f7a72d0 | 366 | =back |
e6f1cc4d | 367 | |
9f7a72d0 | 368 | =head2 Changes to Existing Diagnostics |
e1165778 | 369 | |
9f7a72d0 | 370 | XXX Changes (i.e. rewording) of diagnostic messages go here |
17096837 | 371 | |
9f7a72d0 | 372 | =over 4 |
17096837 | 373 | |
e1165778 Z |
374 | =item * |
375 | ||
e329d483 FC |
376 | Previously, if none of the C<gethostbyaddr>, C<gethostbyname> and |
377 | C<gethostent> functions were implemented on a given platform, they would | |
378 | all die with the message 'Unsupported socket function "gethostent" called', | |
379 | with analogous messages for C<getnet*> and C<getserv*>. This has been | |
380 | corrected. | |
17096837 | 381 | |
3a5c9134 CBW |
382 | =back |
383 | ||
9f7a72d0 | 384 | =head1 Utility Changes |
e1165778 | 385 | |
9f7a72d0 Z |
386 | XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go |
387 | here. Most of these are built within the directories F<utils> and F<x2p>. | |
e1165778 | 388 | |
9f7a72d0 Z |
389 | [ List utility changes as a =head3 entry for each utility and =item |
390 | entries for each change | |
391 | Use L<XXX> with program names to get proper documentation linking. ] | |
e1165778 | 392 | |
fcc3a61f | 393 | =head3 L<perlbug> |
e1165778 | 394 | |
9f7a72d0 | 395 | =over 4 |
e1165778 Z |
396 | |
397 | =item * | |
398 | ||
fcc3a61f FC |
399 | C<perlbug> did not previously generate a From: header, potentially |
400 | resulting in dropped mail. Now it does include that header. | |
e1165778 | 401 | |
9f7a72d0 | 402 | =back |
e1165778 | 403 | |
9f7a72d0 | 404 | =head1 Configuration and Compilation |
e1165778 | 405 | |
9f7a72d0 Z |
406 | XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools |
407 | go here. Any other changes to the Perl build process should be listed here. | |
408 | However, any platform-specific changes should be listed in the | |
409 | L</Platform Support> section, instead. | |
e1165778 | 410 | |
9f7a72d0 | 411 | [ List changes as a =item entry ]. |
e1165778 | 412 | |
9f7a72d0 | 413 | =over 4 |
3a5c9134 CBW |
414 | |
415 | =item * | |
416 | ||
9f7a72d0 | 417 | XXX |
3a5c9134 CBW |
418 | |
419 | =back | |
420 | ||
9f7a72d0 | 421 | =head1 Testing |
3a5c9134 | 422 | |
9f7a72d0 Z |
423 | XXX Any significant changes to the testing of a freshly built perl should be |
424 | listed here. Changes which create B<new> files in F<t/> go here as do any | |
425 | large changes to the testing harness (e.g. when parallel testing was added). | |
426 | Changes to existing files in F<t/> aren't worth summarising, although the bugs | |
427 | that they represent may be covered elsewhere. | |
3a5c9134 | 428 | |
9f7a72d0 | 429 | [ List each test improvement as a =item entry ] |
3a5c9134 | 430 | |
3a5c9134 CBW |
431 | =over 4 |
432 | ||
433 | =item * | |
434 | ||
4d1face8 FC |
435 | A new test script, C<t/porting/filenames.t>, makes sure that filenames and |
436 | paths are reasonably portable. | |
3a5c9134 CBW |
437 | |
438 | =back | |
439 | ||
9f7a72d0 | 440 | =head1 Platform Support |
3a5c9134 | 441 | |
9f7a72d0 | 442 | XXX Any changes to platform support should be listed in the sections below. |
3a5c9134 | 443 | |
9f7a72d0 Z |
444 | [ Within the sections, list each platform as a =item entry with specific |
445 | changes as paragraphs below it. ] | |
3a5c9134 | 446 | |
9f7a72d0 | 447 | =head2 New Platforms |
3a5c9134 | 448 | |
9f7a72d0 Z |
449 | XXX List any platforms that this version of perl compiles on, that previous |
450 | versions did not. These will either be enabled by new files in the F<hints/> | |
451 | directories, or new subdirectories and F<README> files at the top level of the | |
452 | source tree. | |
3a5c9134 | 453 | |
3a5c9134 CBW |
454 | =over 4 |
455 | ||
9f7a72d0 | 456 | =item XXX-some-platform |
3a5c9134 | 457 | |
9f7a72d0 | 458 | XXX |
51bed910 | 459 | |
3a5c9134 CBW |
460 | =back |
461 | ||
9f7a72d0 Z |
462 | =head2 Discontinued Platforms |
463 | ||
464 | XXX List any platforms that this version of perl no longer compiles on. | |
3a5c9134 | 465 | |
3a5c9134 CBW |
466 | =over 4 |
467 | ||
7c53e0a1 | 468 | =item Apollo DomainOS |
3a5c9134 | 469 | |
7c53e0a1 FC |
470 | The last vestiges of support for this platform have been excised from the |
471 | Perl distribution. It was officially discontinued in version 5.12.0. It had | |
472 | not worked for years before that. | |
3a5c9134 CBW |
473 | |
474 | =back | |
475 | ||
3a5c9134 CBW |
476 | =head2 Platform-Specific Notes |
477 | ||
9f7a72d0 Z |
478 | XXX List any changes for specific platforms. This could include configuration |
479 | and compilation changes or changes in portability/compatibility. However, | |
480 | changes within modules for platforms should generally be listed in the | |
481 | L</Modules and Pragmata> section. | |
3a5c9134 | 482 | |
9f7a72d0 | 483 | =over 4 |
3a5c9134 | 484 | |
1c90c725 | 485 | =item Solaris |
fb3a2d89 | 486 | |
1c90c725 FC |
487 | DTrace is now supported on Solaris. There used to be build failures, but |
488 | these have been fixed | |
489 | L<[perl #73630]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=73630>. | |
fb3a2d89 | 490 | |
3a5c9134 CBW |
491 | =back |
492 | ||
493 | =head1 Internal Changes | |
494 | ||
9f7a72d0 Z |
495 | XXX Changes which affect the interface available to C<XS> code go here. |
496 | Other significant internal changes for future core maintainers should | |
497 | be noted as well. | |
3a5c9134 | 498 | |
9f7a72d0 | 499 | [ List each test improvement as a =item entry ] |
3a5c9134 | 500 | |
9f7a72d0 | 501 | =over 4 |
3a5c9134 | 502 | |
c61b6d0f FC |
503 | =item * |
504 | ||
0a0e3cc5 NC |
505 | The opcode bodies for C<chop> and C<chomp> and for C<schop> and C<schomp> have |
506 | been merged. The implementation functions C<Perl_do_chop()> and | |
507 | C<Perl_do_chomp()>, never part of the public API, have been merged and moved to | |
508 | a static function in F<pp.c>. This shrinks the perl binary slightly, and should | |
509 | not affect any code outside the core (unless it is relying on the order of side | |
510 | effects when C<chomp> is passed a I<list> of values). | |
c61b6d0f | 511 | |
6d4f9cf2 KW |
512 | =item * |
513 | ||
514 | Some of the flags parameters to the uvuni_to_utf8_flags() and | |
515 | utf8n_to_uvuni() have changed. This is a result of Perl now allowing | |
516 | internal storage and manipulation of code points that are problematic | |
517 | in some situations. Hence, the default actions for these functions has | |
518 | been complemented to allow these code points. The new flags are | |
519 | documented in L<perlapi>. Code that requires the problematic code | |
520 | points to be rejected needs to change to use these flags. Some flag | |
521 | names are retained for backward source compatibility, though they do | |
522 | nothing, as they are now the default. However the flags | |
523 | C<UNICODE_ALLOW_FDD0>, C<UNICODE_ALLOW_FFFF>, C<UNICODE_ILLEGAL>, and | |
524 | C<UNICODE_IS_ILLEGAL> have been removed, as they stem from a | |
525 | fundamentally broken model of how the Unicode non-character code points | |
526 | should be handled, which is now described in | |
527 | L<perlunicode/Non-character code points>. See also L</Selected Bug Fixes>. | |
528 | ||
a62b1201 KW |
529 | =item * |
530 | ||
531 | Certain shared flags in the C<pmop.op_pmflags> and C<regexp.extflags> | |
532 | structures have been removed. These are: C<Rxf_Pmf_LOCALE>, | |
533 | C<Rxf_Pmf_UNICODE>, and C<PMf_LOCALE>. Instead there are encodes and | |
534 | three static in-line functions for accessing the information: | |
535 | C<get_regex_charset()>, C<set_regex_charset()>, and C<get_regex_charset_name()>, | |
536 | which are defined in the places where the orginal flags were. | |
537 | ||
b030240b FC |
538 | =item * |
539 | ||
540 | A new option has been added to C<pv_escape> to dump all characters above | |
541 | ASCII in hexadecimal. Before, one could get all characters as hexadecimal | |
542 | or the Latin1 non-ASCII as octal | |
543 | ||
3a5c9134 CBW |
544 | =back |
545 | ||
546 | =head1 Selected Bug Fixes | |
547 | ||
9f7a72d0 Z |
548 | XXX Important bug fixes in the core language are summarised here. |
549 | Bug fixes in files in F<ext/> and F<lib/> are best summarised in | |
550 | L</Modules and Pragmata>. | |
b373eab8 | 551 | |
9f7a72d0 | 552 | [ List each fix as a =item entry ] |
b373eab8 | 553 | |
9f7a72d0 | 554 | =over 4 |
4c9d53d5 | 555 | |
0c7420e7 FC |
556 | =item * |
557 | ||
6d4f9cf2 KW |
558 | The handling of Unicode non-characters has changed. |
559 | Previously they were mostly considered illegal, except that only one of | |
560 | the 66 of them was known about in places. The Unicode standard | |
561 | considers them legal, but forbids the "open interchange" of them. | |
562 | This is part of the change to allow the internal use of any code point | |
563 | (see L</Core Enhancements>). Together, these changes resolve | |
564 | L<# 38722|https://rt.perl.org/rt3/Ticket/Display.html?id=38722>, | |
565 | L<# 51918|http://rt.perl.org/rt3/Ticket/Display.html?id=51918>, | |
566 | L<# 51936|http://rt.perl.org/rt3/Ticket/Display.html?id=51936>, | |
567 | L<# 63446|http://rt.perl.org/rt3/Ticket/Display.html?id=63446> | |
0c7420e7 | 568 | |
f3fe4ed7 FC |
569 | =item * |
570 | ||
571 | Sometimes magic (ties, tainted, etc.) attached to variables could cause an | |
572 | object to last longer than it should, or cause a crash if a tied variable | |
573 | were freed from within a tie method. These have been fixed | |
574 | L<[perl #81230]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=81230>. | |
575 | ||
712ef7ca FC |
576 | =item * |
577 | ||
578 | Most I/O functions were not warning for unopened handles unless the | |
579 | 'closed' and 'unopened' warnings categories were both enabled. Now only | |
580 | C<use warnings 'unopened'> is necessary to trigger these warnings (as was | |
581 | always meant to be the case. | |
582 | ||
ecede56a FC |
583 | =item * |
584 | ||
585 | C<< <expr> >> always respects overloading now if the expression is | |
586 | overloaded. | |
587 | ||
588 | Due to the way that '<> as glob' was parsed differently from | |
589 | '<> as filehandle' from 5.6 onwards, something like C<< <$foo[0]> >> did | |
590 | not handle overloading, even if C<$foo[0]> was an overloaded object. This | |
591 | was contrary to the documentation for overload, and meant that C<< <> >> | |
592 | could not be used as a general overloaded iterator operator. | |
593 | ||
d4560299 FC |
594 | =item * |
595 | ||
596 | Destructors on objects were not called during global destruction on objects | |
597 | that were not referenced by any scalars. This could happen if an array | |
598 | element were blessed (e.g., C<bless \$a[0]>) or if a closure referenced a | |
599 | blessed variable (C<bless \my @a; sub foo { @a }>). | |
600 | ||
601 | Now there is an extra pass during global destruction to fire destructors on | |
602 | any objects that might be left after the usual passes that check for | |
603 | objects referenced by scalars | |
604 | L<[perl #36347]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=36347>. | |
605 | ||
7db1267d KW |
606 | =item * |
607 | ||
608 | A long standing bug has now been fully fixed (partial fixes came in | |
609 | earlier releases), in which some Latin-1 non-ASCII characters on | |
610 | ASCII-platforms would match both a character class and its complement, | |
611 | such as U+00E2 being both in C<\w> and C<\W>, depending on the | |
612 | UTF-8-ness of the regular expression pattern and target string. | |
613 | Fixing this did expose some bugs in various modules and tests that | |
614 | relied on the previous behavior of C<[[:alpha:]]> not ever matching | |
615 | U+00FF, "LATIN SMALL LETTER Y WITH DIAERESIS", even when it should, in | |
616 | Unicode mode; now it does match when appropriate. | |
617 | L<[perl #60156]|http://rt.perl.org/rt3/Ticket/Display.html?id=60156>. | |
618 | ||
9f7a72d0 | 619 | =back |
460c4bfb | 620 | |
9f7a72d0 | 621 | =head1 Known Problems |
460c4bfb | 622 | |
9f7a72d0 Z |
623 | XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any |
624 | tests that had to be C<TODO>ed for the release would be noted here, unless | |
625 | they were specific to a particular platform (see below). | |
26de4ac8 | 626 | |
9f7a72d0 Z |
627 | This is a list of some significant unfixed bugs, which are regressions |
628 | from either 5.XXX.XXX or 5.XXX.XXX. | |
26de4ac8 | 629 | |
9f7a72d0 | 630 | [ List each fix as a =item entry ] |
ab7fb400 | 631 | |
9f7a72d0 | 632 | =over 4 |
ab7fb400 | 633 | |
836d5805 Z |
634 | =item * |
635 | ||
d4560299 FC |
636 | The fix for [perl #81230] causes test failures for C<Tk> version 804.029. |
637 | This is still being investigated. | |
836d5805 | 638 | |
3a5c9134 CBW |
639 | =back |
640 | ||
9f7a72d0 | 641 | =head1 Obituary |
3a5c9134 | 642 | |
9f7a72d0 Z |
643 | XXX If any significant core contributor has died, we've added a short obituary |
644 | here. | |
b0c3724f | 645 | |
9f7a72d0 | 646 | =head1 Acknowledgements |
b0c3724f | 647 | |
9f7a72d0 | 648 | XXX The list of people to thank goes here. |
3a5c9134 CBW |
649 | |
650 | =head1 Reporting Bugs | |
651 | ||
652 | If you find what you think is a bug, you might check the articles | |
653 | recently posted to the comp.lang.perl.misc newsgroup and the perl | |
654 | bug database at http://rt.perl.org/perlbug/ . There may also be | |
655 | information at http://www.perl.org/ , the Perl Home Page. | |
656 | ||
657 | If you believe you have an unreported bug, please run the L<perlbug> | |
658 | program included with your release. Be sure to trim your bug down | |
659 | to a tiny but sufficient test case. Your bug report, along with the | |
660 | output of C<perl -V>, will be sent off to perlbug@perl.org to be | |
661 | analysed by the Perl porting team. | |
662 | ||
663 | If the bug you are reporting has security implications, which make it | |
664 | inappropriate to send to a publicly archived mailing list, then please send | |
665 | it to perl5-security-report@perl.org. This points to a closed subscription | |
666 | unarchived mailing list, which includes all the core committers, who be able | |
667 | to help assess the impact of issues, figure out a resolution, and help | |
668 | co-ordinate the release of patches to mitigate or fix the problem across all | |
669 | platforms on which Perl is supported. Please only use this address for | |
670 | security issues in the Perl core, not for modules independently | |
671 | distributed on CPAN. | |
672 | ||
673 | =head1 SEE ALSO | |
674 | ||
675 | The F<Changes> file for an explanation of how to view exhaustive details | |
676 | on what changed. | |
677 | ||
678 | The F<INSTALL> file for how to build Perl. | |
679 | ||
680 | The F<README> file for general stuff. | |
681 | ||
682 | The F<Artistic> and F<Copying> files for copyright information. | |
683 | ||
684 | =cut | |
e0b8b6f1 JV |
685 | |
686 | =for later | |
687 | ||
688 | Below, you'll find a cut-down version of the git log from 5.13.8 to 1b9043bb. | |
689 | Jesse went through and took a first pass at cutting out non-changelog items. He may have been over-(or under-)zealous. | |
690 | ||
691 | It hasn't yet been deduped with the entries that _are_ in the perldelta. | |
692 | ||
693 | ||
694 | Major spell-checking pass throughout the core | |
695 | ||
696 | Remove references to compat3.sym and interp.sym, deleted over 10 years ago. | |
697 | ||
698 | Remove Mac OS classic code from numerous places throughout the core | |
699 | ||
e0b8b6f1 JV |
700 | commit 7fe50b8b8a4dc38fc341e3b403545aaca937f50e |
701 | Author: Leon Timmermans <fawaka@gmail.com> | |
702 | Date: Tue Jan 18 16:40:07 2011 +0100 | |
703 | ||
704 | Also unblock signal handlers throwing an exception | |
705 | ||
706 | Also handle and test the edge case of a signal handler throwing an | |
707 | exception | |
708 | ||
709 | ||
710 | ||
711 | ||
712 | Numberous POD warnings fixed | |
713 | ||
714 | ||
715 | ||
716 | Update Unicode-Collate to CPAN version 0.71 | |
717 | ||
718 | ||
719 | internals | |
720 | ||
e0b8b6f1 JV |
721 | Author: Nicholas Clark <nick@ccl4.org> |
722 | Date: Tue Jan 18 16:14:43 2011 +0000 | |
723 | ||
724 | Remove Mac OS classic code from scripts in utils/ | |
725 | ||
726 | ||
727 | Convert DosGlob.t to Test::More. | |
728 | ||
729 | commit d6dc8a6dc95226ddff7719cd1e0bd053c4e5725e | |
730 | Author: Nicholas Clark <nick@ccl4.org> | |
731 | Date: Tue Jan 18 13:08:11 2011 +0000 | |
732 | ||
733 | Remove Mac OS Classic docs from DirHandle and File::{Copy,DosGlob,Find} | |
734 | ||
735 | The documentation for the different behaviour on Mac OS Classic was not | |
736 | removed when the relevant code was removed in 862f843bac3434c2. That commit | |
737 | also remove all callers to several Mac OS classic support functions, but not | |
738 | the functions themselves. Rectify this. | |
739 | ||
740 | commit 8254cbf193c939338449097a80163197fc755150 | |
741 | Author: Nicholas Clark <nick@ccl4.org> | |
742 | Date: Tue Jan 18 11:10:41 2011 +0000 | |
743 | ||
744 | Build perltoc.pod with pragmata sorted by name. | |
745 | ||
746 | Previously they were actually sorted by full pathname, which isn't logical. | |
747 | I presume that this is an artefact of all pragmata being in lib/ when | |
748 | pod/buildtoc was originally written. | |
749 | ||
750 | commit 1d45ec279e4e105512a2803e3d0bd974a151a0f6 | |
751 | Author: Father Chrysostomos <sprout@cpan.org> | |
752 | Date: Mon Jan 17 22:32:52 2011 -0800 | |
753 | ||
754 | perlcall: Fixes for various grammatical errors | |
755 | ||
756 | commit faaf68361923e4bb95d1eb919bc724a0dcc5a4ce | |
757 | Author: Leon Timmermans <fawaka@gmail.com> | |
758 | Date: Mon Jan 17 17:59:33 2011 +0100 | |
759 | ||
760 | Clarify limitation in safe signals. | |
761 | ||
762 | commit 0c1bf4c7d433bb0ad80bfe5511b1301db32b7b95 | |
763 | Author: Leon Timmermans <fawaka@gmail.com> | |
764 | Date: Mon Jan 17 16:29:11 2011 +0100 | |
765 | ||
766 | Added tests for conditional unblocking | |
767 | ||
768 | commit 555344425f04e96a72e4d29eab96b34bff8f96ae | |
769 | Author: Leon Timmermans <fawaka@gmail.com> | |
770 | Date: Thu Jan 13 18:30:29 2011 +0100 | |
771 | ||
772 | Conditionally unblock after signal handler[#82040] | |
773 | ||
774 | Only unblock signal after a safe-signal handler is executed if that signal was | |
775 | also unblocked before the handler. | |
776 | commit 435aa301127ed481169903cb35187bde1ea44928 | |
777 | Author: David Golden <dagolden@cpan.org> | |
778 | Date: Mon Jan 17 20:39:14 2011 -0500 | |
779 | ||
780 | Update HTTP::Tiny to CPAN version 0.009 | |
781 | ||
782 | commit 78cd53afbb1923bf0a68f361040ad8fe93a7d0d5 | |
783 | Author: David Mitchell <davem@iabyn.com> | |
784 | Date: Tue Jan 18 00:46:30 2011 +0000 | |
785 | ||
786 | vastly speed up t/porting/diag.t | |
787 | ||
788 | This used to take about 3 minutes of CPU. Reduce this to around | |
789 | 6 seconds (!!) by coalescing and pre-compiling various patterns | |
790 | that get applied to nearly every line of every source file. | |
791 | ||
e0b8b6f1 JV |
792 | commit e66820012d29519f903709f005e56a2c334ae183 |
793 | Author: Tony Cook <tony@develop-help.com> | |
794 | Date: Mon Jan 17 19:22:08 2011 +1100 | |
795 | ||
796 | test_prep now depends on the pods needed for porting/buildtoc.t | |
797 | ||
798 | In the other makefiles test_prep (or test-prep) depends on all, so | |
799 | they shouldn't need updating. | |
800 | ||
801 | ||
802 | commit a52237f3a547cdefddd4c4be6224bfdf67c84263 | |
803 | Author: David Golden <dagolden@cpan.org> | |
804 | Date: Sun Jan 16 21:32:21 2011 -0500 | |
805 | ||
806 | Update CPAN to CPAN version 1.94_63 | |
807 | ||
e0b8b6f1 JV |
808 | commit a3ab329f3fc9494e700f51c38cef42021c130b6e |
809 | Author: David Golden <dagolden@cpan.org> | |
810 | Date: Sun Jan 16 20:57:02 2011 -0500 | |
811 | ||
812 | Add HTTP::Tiny as a dual-life core module | |
813 | ||
814 | HTTP::Tiny has been added as a dual-life module. It is a very | |
815 | small, simple HTTP/1.1 client designed for simple GET requests and file | |
816 | mirroring. It has has been added to enable CPAN.pm and CPANPLUS to | |
817 | "bootstrap" HTTP access to CPAN using pure Perl without relying on external | |
818 | binaries like F<curl> or F<wget>. | |
819 | ||
820 | commit 211cc5012284f4bd900fcaa630adbcac69ca6112 | |
821 | Author: Chris 'BinGOs' Williams <chris@bingosnet.co.uk> | |
822 | Date: Sun Jan 16 23:23:03 2011 +0000 | |
823 | ||
824 | Update Unicode-Collate to CPAN version 0.70 and enable XS version | |
825 | ||
e0b8b6f1 JV |
826 | tools |
827 | ||
828 | Significant updates to buildtoc | |
829 | ||
830 | Update Unicode-Normalize to CPAN version 1.10 | |
831 | ||
e0b8b6f1 JV |
832 | SECURITY |
833 | ||
834 | restrict \p{IsUserDefined} to In\w+ and In\w+ | |
835 | ||
836 | In L<perlunicode/"User-Defined Character Properties">, it says you can | |
837 | create custom properties by defining subroutines whose names begin with | |
838 | "In" or "Is". However, perl doesn't actually enforce that naming | |
839 | restriction, so \p{foo::bar} will call foo::Bar() if it exists. | |
840 | ||
841 | This commit finally enforces this convention. Note that this broke a | |
842 | number of existing tests for properties, since they didn't always use an | |
843 | Is/In prefix. | |
844 | ||
845 | TESTING | |
846 | ||
847 | test that perl.pod, pod.lst, MANIFEST and the file system are consistent | |
848 | ||
e0b8b6f1 JV |
849 | commit 680818c0361b180bb6f09d4bb11c4d5cd467fe62 |
850 | Author: Nicholas Clark <nick@ccl4.org> | |
851 | Date: Thu Jan 13 16:24:52 2011 +0000 | |
852 | ||
853 | ithread_create() was relying on the stack not moving. Fix this. | |
854 | ||
855 | 4cf5eae5e58faebb changed S_ithread_create() to avoid creating an AV, by | |
856 | passing the thread creation arguments as pointers to a block of memory | |
857 | holding SVs. Unfortunately, this inadvertently introduced a subtle bug, | |
858 | because the block of memory is on the Perl stack, which can move as a side | |
859 | effect of being reallocated to extend it. Hence pass in the offset on the | |
860 | stack instead, read the current value of the relevant interpreter's stack | |
861 | at the point of access, and copy all the SVs away before making any further | |
862 | calls which might cause reallocation. | |
863 | ||
e0b8b6f1 | 864 | |
e0b8b6f1 JV |
865 | |
866 | commit 7627e6d0fe772ac90fce9e03fea273109521e261 | |
867 | Author: Nicholas Clark <nick@ccl4.org> | |
868 | Date: Sat Jan 8 15:56:22 2011 +0000 | |
869 | ||
870 | Generate "Unsupported socket function" stubs using PL_ppaddr. | |
871 | ||
872 | Instead of having each socket op conditionally compile as either the | |
873 | implementation or a DIE() depending on #HAS_SOCKET | |
874 | ||
875 | 1: remove the conditional code from the ops themselves | |
876 | 2: only compile the ops if HAS_SOCKET is defined | |
877 | 3: general conditional code for the intialisation of PL_ppaddr - as appropriate | |
878 | either the ops, or Perl_unimplemented_op | |
879 | 4: Amend Perl_unimplemented_op to generate the appropriate DIE() for socket | |
880 | ops (ie not the "panic"... message) | |
881 | ||
882 | Whilst this complicates the support code in regen/opcode.pl, it's already a | |
883 | net saving of 5 lines in the C code. | |
884 | ||
885 | commit 897d398936dd2fc088a265fba2a7b62fa97ed458 | |
886 | Author: Nicholas Clark <nick@ccl4.org> | |
887 | Date: Sun Jan 9 10:54:58 2011 +0000 | |
888 | ||
889 | Generate pp_* prototypes in pp_proto.h, and remove pp.sym | |
890 | ||
891 | Eliminate the #define pp_foo Perl_pp_foo(pTHX) macros, and update the 13 | |
892 | locations that relied on them. | |
893 | ||
894 | regen/opcode.pl now generates prototypes for the PP functions directly, into | |
895 | pp_proto.h. It no longer writes pp.sym, and regen/embed.pl no longer reads | |
896 | this, removing the only ordering dependency in the regen scripts. opcode.pl | |
897 | is now responsible for prototypes for pp_* functions. (embed.pl remains | |
898 | responsible for ck_* functions, reading from regen/opcodes) | |
899 | ||
e0b8b6f1 JV |
900 | TESTING |
901 | add test for split without a pattern | |
902 | ||
903 | Add some while tests, about the context of the last statement in a block and about reinitializaiton of lexical variables. | |
904 | ||
905 | modernise t/cmd/while.t | |
906 | ||
907 | Add t/base/while.t testing the basic of a while loop with minimal dependencies. Change t/cmd/while.t into a non-base test using "test.pl". | |
908 | ||
e0b8b6f1 JV |
909 | commit b86b68b4eefa1069dabc8ea0401d712b24a67857 |
910 | Author: Jesse Vincent <jesse@bestpractical.com> | |
911 | Date: Sat Jan 8 00:14:29 2011 +0800 | |
912 | ||
913 | Update the policy on doc patches to maint | |
914 | ||
915 | ||
e0b8b6f1 JV |
916 | commit 0b5e625bc99f5cb78697faf03b297b6cacadf60b |
917 | Author: Reini Urban <rurban@x-ray.at> | |
918 | Date: Tue Sep 14 18:04:22 2010 +0200 | |
919 | ||
920 | build man pages on cygwin too | |
921 | ||
922 | commit 172830635ea7813c85e51e4ae2b4bed56ddbab83 | |
923 | Author: Reini Urban <rurban@x-ray.at> | |
924 | Date: Tue Sep 14 17:54:15 2010 +0200 | |
925 | ||
926 | Improve cygwin rebase behaviour | |
927 | ||
928 | If a dll is updated on cygwin reuse the old imagebase address. | |
929 | This solves most rebase errors, esp when updating on core dll's. | |
930 | See http://www.tishler.net/jason/software/rebase/rebase-2.4.2.README | |
931 | ||
932 | ||
e0b8b6f1 JV |
933 | Platforms |
934 | ||
e0b8b6f1 JV |
935 | commit cc7e77fd5a0ee9f1498e54dddf566117da62754b |
936 | Author: Reini Urban <rurban@x-ray.at> | |
937 | Date: Tue Sep 14 17:48:32 2010 +0200 | |
938 | ||
939 | CYG14 Dynaloader without USEIMPORTLIB, and search cyg prefix | |
940 | ||
941 | part1: Support the standard cyg dll prefix, which is e.g. needed for FFI's. | |
942 | Ctypes and C::DynaLib use DynaLoader to find dlls. | |
943 | ||
944 | part2: With -DUSEIMPORTLIB DynaLoader symbols link against the prefixed | |
945 | symbol names for the .dll.a importlib, but we need to link against the | |
946 | symbols directly. We don't link Dynaloader against libperl.dll.a. | |
947 | ||
948 | Otherwise: | |
949 | $ g++-4 -o cygperl5_13_4.dll --shared perlsrc.o cygwin.o DynaLoader.o -ldl -lcrypt | |
950 | Creating library file: libperl.dll.a | |
951 | DynaLoader.o: In function `XS_DynaLoader_dl_undef_symbols': | |
952 | ext/DynaLoader/DynaLoader.c:346: undefined reference to `__imp__PL_stack_sp' | |
953 | ext/DynaLoader/DynaLoader.c:346: undefined reference to `__imp__PL_markstack_ptr' | |
954 | ext/DynaLoader/DynaLoader.c:346: undefined reference to `__imp__PL_stack_base' | |
955 | ||
956 | commit c0a149a90b8b6e1c18de7294ca974265fb559cf5 | |
957 | Author: Reini Urban <rurban@x-ray.at> | |
958 | Date: Tue Sep 14 18:06:38 2010 +0200 | |
959 | ||
960 | Update cygwin hints | |
961 | do not use usemymalloc (double size + slow) | |
962 | remove deprecated libcygipc info | |
963 | remove overlarge stack size | |
964 | ||
e0b8b6f1 JV |
965 | commit 2831a86cee065b53b74fd19ddcc6a4257484646d |
966 | Author: Zsbán Ambrus <ambrus@math.bme.hu> | |
967 | Date: Sun Jan 2 20:25:55 2011 -0800 | |
968 | ||
969 | [perl #81032] Overhaul Porting/epigraphs.pod | |
970 | ||
971 | This patch makes multiple changes to Porting/epigraphs.pod and | |
972 | pod/perlhist.pod. | |
973 | ||
974 | For those that don't know, Porting/epigraphs.pod is a new document that | |
975 | collects the quotes (chosen by Pumpkins) in perl release announcements. | |
976 | ||
977 | The changes are the following. | |
978 | ||
979 | 1. Add a link pointing to each release announcement in the mailing | |
980 | list archives. These are from ysth's list, the source from which | |
981 | Porting/epigraphs.pod was originally compiled, but they weren't in | |
982 | Porting/epigraphs.pod so far. | |
983 | 2. Reorder Porting/epigraphs.pod chronologically, because I believe | |
984 | that makes more sense -- pod/perlhist.pod is still sorted by version numbers. | |
985 | 3. Incidentally, some missing releases are added to pod/perlhist.pod too. | |
986 | 4. Fix a mistake where Porting/epigraphs.pod gives the wrong version number. | |
987 | 5. Add some epigraphs that appear in ysth's list but not in | |
988 | Porting/epigraphs.pod. | |
989 | 6. I did some research in perl history before the part that ysth's list | |
990 | covers, and added older perl announcements I found. This work is not | |
991 | complete: I stopped somewhere in 2000. | |
992 | ||
993 | commit eccda089fc3dcaafc1ae0aac6b428f799231b824 | |
994 | Author: Paul "LeoNerd" Evans <leonerd@leonerd.org.uk> | |
995 | Date: Mon Dec 13 17:50:06 2010 +0000 | |
996 | ||
997 | Implement Socket::getaddrinfo() and Socket::getnameinfo(), with related constants | |
998 | ||
e0b8b6f1 JV |
999 | commit edcf105d70e5423fd928c776e086fe31a4a543f4 |
1000 | Author: Jesse Vincent <jesse@bestpractical.com> | |
1001 | Date: Sat Jan 1 18:46:20 2011 +0800 | |
1002 | ||
1003 | Document 'test_porting' and start a section on how committing to blead | |
1004 | ||
e0b8b6f1 JV |
1005 | commit cce04bebd8af026c2a6731940ddb895d3c1fc3e4 |
1006 | Author: David Golden <dagolden@cpan.org> | |
1007 | Date: Mon Dec 13 17:36:33 2010 -0500 | |
1008 | ||
1009 | Reorganize perlhack.pod | |
1010 | ||
1011 | Following on an IRC conversation, I've attempted to reorganize | |
1012 | perlhack for greater clarity. I have only cut and paste blocks | |
1013 | of text and amended section titles and levels. (I have not addressed | |
1014 | any of the numerous factual issues which remain.) | |
1015 | ||
1016 | The resulting guide should be clearer for those trying to skim the | |
1017 | table of contents to understand what is covered in perlhack and | |
1018 | whether it is worth an in-depth read. | |
1019 | ||
1020 | I see this change as the first step towards future improvements. | |
1021 | ||
e0b8b6f1 | 1022 | =cut |