This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta: [perl #81230] object destruction
[perl5.git] / pod / perldelta.pod
CommitLineData
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
6XXX needs to be processed before release. ]
3a5c9134 7
9f7a72d0 8perldelta - what is new for perl v5.13.9
15e6cdd9 9
9f7a72d0 10=head1 DESCRIPTION
f6166f76 11
9f7a72d0
Z
12This document describes differences between the 5.13.8 release and
13the 5.13.9 release.
0d157ee2 14
9f7a72d0
Z
15If you are upgrading from an earlier release such as 5.13.7, first read
16L<perl5138delta>, which describes differences between 5.13.7 and
175.13.8.
0d157ee2 18
9f7a72d0 19=head1 Notice
0d157ee2 20
9f7a72d0 21XXX Any important notices here
0d157ee2 22
9f7a72d0 23=head1 Core Enhancements
0d157ee2 24
9f7a72d0
Z
25XXX New core language features go here. Summarise user-visible core language
26enhancements. Particularly prominent performance optimisations could go
27here, 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
33The C</a> regular expression modifier restricts C<\s> to match precisely
34the five characters C<[ \f\n\r\t]>, C<\d> to match precisely the 10
35characters C<[0-9]>, C<\w> to match precisely the 63 characters
36C<[A-Za-z0-9_]>, and the Posix (C<[[:posix:]]>) character classes to
37match only the appropriate ASCII characters. The complements, of
38course, match everything but; and C<\b> and C<\B> are correspondingly
39affected. Otherwise, C</a> behaves like the C</u> modifier, in that
40case-insensitive matching uses Unicode semantics; for example, "k" will
41match the Unicode C<\N{KELVIN SIGN}> under C</i> matching, and code
42points in the Latin1 range, above ASCII will have Unicode semantics when
43it comes to case-insensitive matching. Like its cousins (C</u>, C</l>,
44and C</d>), and in spite of the terminology, C</a> in 5.14 will not
45actually be able to be used as a suffix at the end of a regular
46expression (this restriction is planned to be lifted in 5.16). It must
47occur either as an infix modifier, such as C<(?a:...)> or (C<(?a)...>,
48or it can be turned on within the lexical scope of C<use re '/a'>.
49Turning 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 53With this release, Perl is adopting a model that any unsigned value can
086325d8
KW
54be treated as a code point and encoded internally (as utf8) without
55warnings -- not just the code points that are legal in Unicode.
56However, unless utf8 warnings have been
6d4f9cf2
KW
57explicitly lexically turned off, outputting or performing a
58Unicode-defined operation (such as upper-casing) on such a code point
59will generate a warning. Attempting to input these using strict rules
60(such as with the C<:encoding('UTF-8')> layer) will continue to fail.
61Prior to this release the handling was very inconsistent, and incorrect
62in places. Also, the Unicode non-characters, some of which previously were
63erroneously considered illegal in places by Perl, contrary to the Unicode
64standard, are now always legal internally. But inputting or outputting
65them will work the same as for the non-legal Unicode code points, as the
66Unicode standard says they are illegal for "open interchange".
67
15555e2d
FC
68=head2 Regular expression debugging output improvement
69
70Regular expression debugging output (turned on by C<use re 'debug';>) now
71uses hexadecimal when escaping non-ASCII characters, instead of octal.
0d157ee2 72
9f7a72d0 73=head1 Security
0d157ee2 74
9f7a72d0
Z
75XXX Any security-related notices go here. In particular, any security
76vulnerabilities closed should be noted here rather than in the
77L</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 83XXX 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
92It used to be possible to prevent a destructor from being called during
93global destruction by artificially increasing the reference count of an
94object.
95
96Now such objects I<will> will be destroyed, as a result of a bug fix
97L<[perl #81230]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=81230>.
98
99This has the potential to break some XS modules. (In fact, it break some.
100See L</Known Problems>, below.)
101
3a5c9134
CBW
102=head1 Deprecations
103
9f7a72d0
Z
104XXX Any deprecated features, syntax, modules etc. should be listed here.
105In particular, deprecated modules should be listed here even if they are
106listed 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
112XXX Changes which enhance performance without changing behaviour go here. There
113may 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 121XXX
e1165778 122
9f7a72d0 123=back
121e1895 124
9f7a72d0 125=head1 Modules and Pragmata
2638c0ff 126
9f7a72d0
Z
127XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
128go here. If Module::CoreList is updated, generate an initial draft of the
129following sections using F<Porting/corelist-perldelta.pl>, which prints stub
130entries to STDOUT. Results can be pasted in place of the '=head2' entries
131below. A paragraph summary for important changes should then be added by hand.
132In an ideal world, dual-life modules would have a F<Changes> file that could be
133cribbed.
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 143L<CPAN::Meta::YAML> 0.003 has been added as a dual-life module. It supports a
e8a07a12
DG
144subset of YAML sufficient for reading and writing META.yml and MYMETA.yml files
145included with CPAN distributions or generated by the module installation
146toolchain. It should not be used for any other general YAML parsing or
147generation task.
17096837 148
935c8d19
DG
149=item *
150
435aa301 151L<HTTP::Tiny> 0.009 has been added as a dual-life module. It is a very
a3ab329f
DG
152small, simple HTTP/1.1 client designed for simple GET requests and file
153mirroring. 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
155binaries like F<curl> or F<wget>.
156
157=item *
158
6cf6332a 159L<Module::Metadata> 1.000003 has been added as a dual-life module. It gathers
e8b333e6
DG
160package and POD information from Perl module files. It is a standalone module
161based on Module::Build::ModuleInfo for use by other module installation
162toolchain components. Module::Build::ModuleInfo has been deprecated in
163favor of this module instead.
164
165=item *
166
935c8d19
DG
167L<Perl::OSType> 1.002 has been added as a dual-life module. It maps Perl
168operating system names (e.g. 'dragonfly' or 'MSWin32') to more generic types
169with standardized names (e.g. "Unix" or "Windows"). It has been refactored
170out of Module::Build and ExtUtils::CBuilder and consolidates such mappings into
171a single location for easier maintenance.
172
9f7a72d0 173=back
e1165778 174
9f7a72d0 175=head2 Updated Modules and Pragmata
f295f417 176
9f7a72d0 177=over 4
17096837 178
f295f417
FC
179=item *
180
6447e912
CBW
181C<Archive::Extract> has been upgraded from version 0.46 to 0.48
182
183=item *
184
89ae55b4
CBW
185C<Archive::Tar> has been upgraded from version 1.74 to 1.76
186
187=item *
188
2a1594f6
CBW
189C<CGI> has been upgraded from version 3.50 to 3.51
190
191=item *
5ebf8416
CBW
192
193C<Compress::Raw::Bzip2> has been upgraded from version 2.031 to 2.033
194
195=item *
e2f1db54
CBW
196
197C<Compress::Raw::Zlib> has been upgraded from version 2.030 to 2.033
198
199=item *
2a1594f6 200
a52237f3
DG
201C<CPAN> has been upgraded from version 1.94_62 to 1.94_63
202
203=item *
204
f1aaabf8
CBW
205C<CPANPLUS> has been upgraded from version 0.9010 to 0.9011
206
207=item *
208
ae0f8eee
CBW
209C<CPANPLUS::Dist::Build> has been upgraded from version 0.50 to 0.52
210
211=item *
212
213C<DB_File> has been upgraded from version 1.820 to 1.821
deb99cce
CBW
214
215=item *
216
6d4f9cf2
KW
217C<Encode> has been upgraded from version 2.40 to 2.42.
218Now, all 66 Unicode non-characters are treated the same way U+FFFF has
219always been treated; if it was disallowed, all 66 are disallowed; if it
220warned, all 66 warn.
50afc8f8
CBW
221
222=item *
223
eee47ba6 224C<File::Fetch> has been upgraded from version 0.28 to 0.32
f37ee46a
CBW
225
226=item *
227
cd0c0e65
CBW
228C<IO::Compress> has been upgraded from version 2.030 to 2.033
229
230=item *
231
f37ee46a
CBW
232C<IPC::Cmd> has been upgraded from version 0.66 to 0.68
233
ac066c2a
CBW
234=item *
235
b5ce1198
CBW
236C<Log::Message> has been upgraded from version 0.02 to 0.04
237
238=item *
239
c0395286
CBW
240C<Log::Message::Simple> has been upgraded from version 0.06 to 0.08
241
242=item *
243
ae0f8eee 244C<Module::Load::Conditional> has been upgraded from version 0.38 to 0.40
4fc94532
CBW
245
246=item *
247
ae0f8eee 248C<Object::Accessor> has been upgraded from version 0.36 to 0.38
0019012a
CBW
249
250=item *
251
ae0f8eee 252C<Params::Check> has been upgraded from version 0.26 to 0.28
8cb3aa53
CBW
253
254=item *
255
9c88a88b
CBW
256C<Pod::LaTeX> has been upgraded from version 0.58 to 0.59
257
258=item *
259
6df88f97 260C<Term::UI> has been upgraded from version 0.20 to 0.24
8e1e0801
CBW
261
262=item *
263
4df1dffa
FC
264C<Thread::Queue> has been upgraded from version 2.11 to 2.12.
265
266=item *
267
268C<Thread::Semaphore> has been upgraded from version 2.11 to 2.12.
269
270=item *
271
f5d41534
CBW
272C<threads> has been upgraded from version 1.81_03 to 1.82
273
274=item *
275
276C<threads::shared> has been upgraded from version 1.35 to 1.36
277
278=item *
279
23046b7e 280C<Time::Local> has been upgraded from version 1.1901_01 to 1.2000.
17096837 281
788ba0f4
CBW
282=item *
283
284C<Unicode::Normalize> has been upgraded from version 1.07 to 1.10
285
9f7a72d0 286=back
e1165778 287
9f7a72d0 288=head2 Removed Modules and Pragmata
b373eab8 289
9f7a72d0 290=over 4
b373eab8
FC
291
292=item *
293
9f7a72d0 294XXX
b6ae81ab 295
9f7a72d0 296=back
ca88a729 297
9f7a72d0 298=head1 Documentation
17096837 299
9f7a72d0
Z
300XXX Changes to files in F<pod/> go here. Consider grouping entries by
301file and be sure to link to the appropriate page, e.g. L<perlfunc>.
b6ae81ab 302
9f7a72d0 303=head2 New Documentation
e1165778 304
9f7a72d0 305XXX Changes which create B<new> files in F<pod/> go here.
17096837 306
9f7a72d0 307=head3 L<XXX>
e1165778 308
9f7a72d0 309XXX Description of the purpose of the new file here
e1165778 310
9f7a72d0 311=head2 Changes to Existing Documentation
17096837 312
9f7a72d0
Z
313XXX Changes which significantly change existing files in F<pod/> go here.
314However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
315section.
e1165778 316
0d7fe741 317=head3 L<perlfunc>
d4238815 318
9f7a72d0 319=over 4
17096837 320
d4238815
FC
321=item *
322
0d7fe741 323It has now been documented that C<ord> returns 0 for an empty string.
e1165778 324
9f7a72d0 325=back
17096837 326
9f7a72d0 327=head1 Diagnostics
17096837 328
9f7a72d0
Z
329The following additions or changes have been made to diagnostic output,
330including warnings and fatal error messages. For the complete list of
331diagnostic messages, see L<perldiag>.
e1165778 332
9f7a72d0
Z
333XXX New or changed warnings emitted by the core's C<C> code go here. Also
334include any changes in L<perldiag> that reconcile it to the C<C> code.
68adb2b0 335
9f7a72d0 336[ Within each section, list entries as a =item entry ]
17096837 337
9f7a72d0 338=head2 New Diagnostics
3a5c9134 339
9f7a72d0 340XXX Newly added diagnostic messages go here
17096837 341
9f7a72d0 342=over 4
17096837 343
c2e0289e
FC
344=item *
345
9f7a72d0 346XXX
17096837 347
9f7a72d0 348=back
e6f1cc4d 349
9f7a72d0 350=head2 Changes to Existing Diagnostics
e1165778 351
9f7a72d0 352XXX Changes (i.e. rewording) of diagnostic messages go here
17096837 353
9f7a72d0 354=over 4
17096837 355
e1165778
Z
356=item *
357
9f7a72d0 358XXX
17096837 359
3a5c9134
CBW
360=back
361
9f7a72d0 362=head1 Utility Changes
e1165778 363
9f7a72d0
Z
364XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
365here. Most of these are built within the directories F<utils> and F<x2p>.
e1165778 366
9f7a72d0
Z
367[ List utility changes as a =head3 entry for each utility and =item
368entries for each change
369Use L<XXX> with program names to get proper documentation linking. ]
e1165778 370
fcc3a61f 371=head3 L<perlbug>
e1165778 372
9f7a72d0 373=over 4
e1165778
Z
374
375=item *
376
fcc3a61f
FC
377C<perlbug> did not previously generate a From: header, potentially
378resulting in dropped mail. Now it does include that header.
e1165778 379
9f7a72d0 380=back
e1165778 381
9f7a72d0 382=head1 Configuration and Compilation
e1165778 383
9f7a72d0
Z
384XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
385go here. Any other changes to the Perl build process should be listed here.
386However, any platform-specific changes should be listed in the
387L</Platform Support> section, instead.
e1165778 388
9f7a72d0 389[ List changes as a =item entry ].
e1165778 390
9f7a72d0 391=over 4
3a5c9134
CBW
392
393=item *
394
9f7a72d0 395XXX
3a5c9134
CBW
396
397=back
398
9f7a72d0 399=head1 Testing
3a5c9134 400
9f7a72d0
Z
401XXX Any significant changes to the testing of a freshly built perl should be
402listed here. Changes which create B<new> files in F<t/> go here as do any
403large changes to the testing harness (e.g. when parallel testing was added).
404Changes to existing files in F<t/> aren't worth summarising, although the bugs
405that they represent may be covered elsewhere.
3a5c9134 406
9f7a72d0 407[ List each test improvement as a =item entry ]
3a5c9134 408
3a5c9134
CBW
409=over 4
410
411=item *
412
9f7a72d0 413XXX
3a5c9134
CBW
414
415=back
416
9f7a72d0 417=head1 Platform Support
3a5c9134 418
9f7a72d0 419XXX Any changes to platform support should be listed in the sections below.
3a5c9134 420
9f7a72d0
Z
421[ Within the sections, list each platform as a =item entry with specific
422changes as paragraphs below it. ]
3a5c9134 423
9f7a72d0 424=head2 New Platforms
3a5c9134 425
9f7a72d0
Z
426XXX List any platforms that this version of perl compiles on, that previous
427versions did not. These will either be enabled by new files in the F<hints/>
428directories, or new subdirectories and F<README> files at the top level of the
429source tree.
3a5c9134 430
3a5c9134
CBW
431=over 4
432
9f7a72d0 433=item XXX-some-platform
3a5c9134 434
9f7a72d0 435XXX
51bed910 436
3a5c9134
CBW
437=back
438
9f7a72d0
Z
439=head2 Discontinued Platforms
440
441XXX List any platforms that this version of perl no longer compiles on.
3a5c9134 442
3a5c9134
CBW
443=over 4
444
9f7a72d0 445=item XXX-some-platform
3a5c9134 446
9f7a72d0 447XXX
3a5c9134
CBW
448
449=back
450
3a5c9134
CBW
451=head2 Platform-Specific Notes
452
9f7a72d0
Z
453XXX List any changes for specific platforms. This could include configuration
454and compilation changes or changes in portability/compatibility. However,
455changes within modules for platforms should generally be listed in the
456L</Modules and Pragmata> section.
3a5c9134 457
9f7a72d0 458=over 4
3a5c9134 459
1c90c725 460=item Solaris
fb3a2d89 461
1c90c725
FC
462DTrace is now supported on Solaris. There used to be build failures, but
463these have been fixed
464L<[perl #73630]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=73630>.
fb3a2d89 465
3a5c9134
CBW
466=back
467
468=head1 Internal Changes
469
9f7a72d0
Z
470XXX Changes which affect the interface available to C<XS> code go here.
471Other significant internal changes for future core maintainers should
472be noted as well.
3a5c9134 473
9f7a72d0 474[ List each test improvement as a =item entry ]
3a5c9134 475
9f7a72d0 476=over 4
3a5c9134 477
c61b6d0f
FC
478=item *
479
0a0e3cc5
NC
480The opcode bodies for C<chop> and C<chomp> and for C<schop> and C<schomp> have
481been merged. The implementation functions C<Perl_do_chop()> and
482C<Perl_do_chomp()>, never part of the public API, have been merged and moved to
483a static function in F<pp.c>. This shrinks the perl binary slightly, and should
484not affect any code outside the core (unless it is relying on the order of side
485effects when C<chomp> is passed a I<list> of values).
c61b6d0f 486
6d4f9cf2
KW
487=item *
488
489Some of the flags parameters to the uvuni_to_utf8_flags() and
490utf8n_to_uvuni() have changed. This is a result of Perl now allowing
491internal storage and manipulation of code points that are problematic
492in some situations. Hence, the default actions for these functions has
493been complemented to allow these code points. The new flags are
494documented in L<perlapi>. Code that requires the problematic code
495points to be rejected needs to change to use these flags. Some flag
496names are retained for backward source compatibility, though they do
497nothing, as they are now the default. However the flags
498C<UNICODE_ALLOW_FDD0>, C<UNICODE_ALLOW_FFFF>, C<UNICODE_ILLEGAL>, and
499C<UNICODE_IS_ILLEGAL> have been removed, as they stem from a
500fundamentally broken model of how the Unicode non-character code points
501should be handled, which is now described in
502L<perlunicode/Non-character code points>. See also L</Selected Bug Fixes>.
503
a62b1201
KW
504=item *
505
506Certain shared flags in the C<pmop.op_pmflags> and C<regexp.extflags>
507structures have been removed. These are: C<Rxf_Pmf_LOCALE>,
508C<Rxf_Pmf_UNICODE>, and C<PMf_LOCALE>. Instead there are encodes and
509three static in-line functions for accessing the information:
510C<get_regex_charset()>, C<set_regex_charset()>, and C<get_regex_charset_name()>,
511which are defined in the places where the orginal flags were.
512
b030240b
FC
513=item *
514
515A new option has been added to C<pv_escape> to dump all characters above
516ASCII in hexadecimal. Before, one could get all characters as hexadecimal
517or the Latin1 non-ASCII as octal
518
3a5c9134
CBW
519=back
520
521=head1 Selected Bug Fixes
522
9f7a72d0
Z
523XXX Important bug fixes in the core language are summarised here.
524Bug fixes in files in F<ext/> and F<lib/> are best summarised in
525L</Modules and Pragmata>.
b373eab8 526
9f7a72d0 527[ List each fix as a =item entry ]
b373eab8 528
9f7a72d0 529=over 4
4c9d53d5 530
0c7420e7
FC
531=item *
532
6d4f9cf2
KW
533The handling of Unicode non-characters has changed.
534Previously they were mostly considered illegal, except that only one of
535the 66 of them was known about in places. The Unicode standard
536considers them legal, but forbids the "open interchange" of them.
537This is part of the change to allow the internal use of any code point
538(see L</Core Enhancements>). Together, these changes resolve
539L<# 38722|https://rt.perl.org/rt3/Ticket/Display.html?id=38722>,
540L<# 51918|http://rt.perl.org/rt3/Ticket/Display.html?id=51918>,
541L<# 51936|http://rt.perl.org/rt3/Ticket/Display.html?id=51936>,
542L<# 63446|http://rt.perl.org/rt3/Ticket/Display.html?id=63446>
0c7420e7 543
f3fe4ed7
FC
544=item *
545
546Sometimes magic (ties, tainted, etc.) attached to variables could cause an
547object to last longer than it should, or cause a crash if a tied variable
548were freed from within a tie method. These have been fixed
549L<[perl #81230]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=81230>.
550
712ef7ca
FC
551=item *
552
553Most I/O functions were not warning for unopened handles unless the
554'closed' and 'unopened' warnings categories were both enabled. Now only
555C<use warnings 'unopened'> is necessary to trigger these warnings (as was
556always meant to be the case.
557
ecede56a
FC
558=item *
559
560C<< <expr> >> always respects overloading now if the expression is
561overloaded.
562
563Due to the way that '<> as glob' was parsed differently from
564'<> as filehandle' from 5.6 onwards, something like C<< <$foo[0]> >> did
565not handle overloading, even if C<$foo[0]> was an overloaded object. This
566was contrary to the documentation for overload, and meant that C<< <> >>
567could not be used as a general overloaded iterator operator.
568
d4560299
FC
569=item *
570
571Destructors on objects were not called during global destruction on objects
572that were not referenced by any scalars. This could happen if an array
573element were blessed (e.g., C<bless \$a[0]>) or if a closure referenced a
574blessed variable (C<bless \my @a; sub foo { @a }>).
575
576Now there is an extra pass during global destruction to fire destructors on
577any objects that might be left after the usual passes that check for
578objects referenced by scalars
579L<[perl #36347]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=36347>.
580
9f7a72d0 581=back
460c4bfb 582
9f7a72d0 583=head1 Known Problems
460c4bfb 584
9f7a72d0
Z
585XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
586tests that had to be C<TODO>ed for the release would be noted here, unless
587they were specific to a particular platform (see below).
26de4ac8 588
9f7a72d0
Z
589This is a list of some significant unfixed bugs, which are regressions
590from either 5.XXX.XXX or 5.XXX.XXX.
26de4ac8 591
9f7a72d0 592[ List each fix as a =item entry ]
ab7fb400 593
9f7a72d0 594=over 4
ab7fb400 595
836d5805
Z
596=item *
597
d4560299
FC
598The fix for [perl #81230] causes test failures for C<Tk> version 804.029.
599This is still being investigated.
836d5805 600
3a5c9134
CBW
601=back
602
9f7a72d0 603=head1 Obituary
3a5c9134 604
9f7a72d0
Z
605XXX If any significant core contributor has died, we've added a short obituary
606here.
b0c3724f 607
9f7a72d0 608=head1 Acknowledgements
b0c3724f 609
9f7a72d0 610XXX The list of people to thank goes here.
3a5c9134
CBW
611
612=head1 Reporting Bugs
613
614If you find what you think is a bug, you might check the articles
615recently posted to the comp.lang.perl.misc newsgroup and the perl
616bug database at http://rt.perl.org/perlbug/ . There may also be
617information at http://www.perl.org/ , the Perl Home Page.
618
619If you believe you have an unreported bug, please run the L<perlbug>
620program included with your release. Be sure to trim your bug down
621to a tiny but sufficient test case. Your bug report, along with the
622output of C<perl -V>, will be sent off to perlbug@perl.org to be
623analysed by the Perl porting team.
624
625If the bug you are reporting has security implications, which make it
626inappropriate to send to a publicly archived mailing list, then please send
627it to perl5-security-report@perl.org. This points to a closed subscription
628unarchived mailing list, which includes all the core committers, who be able
629to help assess the impact of issues, figure out a resolution, and help
630co-ordinate the release of patches to mitigate or fix the problem across all
631platforms on which Perl is supported. Please only use this address for
632security issues in the Perl core, not for modules independently
633distributed on CPAN.
634
635=head1 SEE ALSO
636
637The F<Changes> file for an explanation of how to view exhaustive details
638on what changed.
639
640The F<INSTALL> file for how to build Perl.
641
642The F<README> file for general stuff.
643
644The F<Artistic> and F<Copying> files for copyright information.
645
646=cut
e0b8b6f1
JV
647
648=for later
649
650Below, you'll find a cut-down version of the git log from 5.13.8 to 1b9043bb.
651Jesse went through and took a first pass at cutting out non-changelog items. He may have been over-(or under-)zealous.
652
653It hasn't yet been deduped with the entries that _are_ in the perldelta.
654
655
656 Major spell-checking pass throughout the core
657
658 Remove references to compat3.sym and interp.sym, deleted over 10 years ago.
659
660 Remove Mac OS classic code from numerous places throughout the core
661
e0b8b6f1
JV
662commit 7fe50b8b8a4dc38fc341e3b403545aaca937f50e
663Author: Leon Timmermans <fawaka@gmail.com>
664Date: Tue Jan 18 16:40:07 2011 +0100
665
666 Also unblock signal handlers throwing an exception
667
668 Also handle and test the edge case of a signal handler throwing an
669 exception
670
671
672
673
674Numberous POD warnings fixed
675
676
677
678 Update Unicode-Collate to CPAN version 0.71
679
680
681internals
682
683
684 regexec.c: Remove break statements from macros
685
686 This is so future coders won't be tempted to rely on them.
687
688 regexec.c: Don't rely on break stmts in macros
689
690 It is safer and clearer to have the break statement in each case statement at
691 the source level
692
693commit b57e41186b2ceb48bef4f0588dcd19e105cc8a38
694Author: Karl Williamson <public@khwilliamson.com>
695Date: Tue Jan 18 15:03:41 2011 -0700
696
697 regcomp: Disallow multi-char folds in lookbehind
698
699 The addition of the ANYOFV regnode to treat multi-char folds in a bracketed
700 character class has exposed a bug, in which those classes have long been able
701 to be varying length (due to the multi-char fold), but the compiler wasn't
702 aware of it. Now it is, and hence won't allow those which have multi-char
703 folds to be part of a lookbehind pattern, which requires a constant length.
704
705 This patch disallows multi-char folds in a lookbehind bracketed character
706 class.
707
708Author: Nicholas Clark <nick@ccl4.org>
709Date: Tue Jan 18 16:14:43 2011 +0000
710
711 Remove Mac OS classic code from scripts in utils/
712
713
714 Convert DosGlob.t to Test::More.
715
716commit d6dc8a6dc95226ddff7719cd1e0bd053c4e5725e
717Author: Nicholas Clark <nick@ccl4.org>
718Date: Tue Jan 18 13:08:11 2011 +0000
719
720 Remove Mac OS Classic docs from DirHandle and File::{Copy,DosGlob,Find}
721
722 The documentation for the different behaviour on Mac OS Classic was not
723 removed when the relevant code was removed in 862f843bac3434c2. That commit
724 also remove all callers to several Mac OS classic support functions, but not
725 the functions themselves. Rectify this.
726
727commit 8254cbf193c939338449097a80163197fc755150
728Author: Nicholas Clark <nick@ccl4.org>
729Date: Tue Jan 18 11:10:41 2011 +0000
730
731 Build perltoc.pod with pragmata sorted by name.
732
733 Previously they were actually sorted by full pathname, which isn't logical.
734 I presume that this is an artefact of all pragmata being in lib/ when
735 pod/buildtoc was originally written.
736
737commit 1d45ec279e4e105512a2803e3d0bd974a151a0f6
738Author: Father Chrysostomos <sprout@cpan.org>
739Date: Mon Jan 17 22:32:52 2011 -0800
740
741 perlcall: Fixes for various grammatical errors
742
743commit faaf68361923e4bb95d1eb919bc724a0dcc5a4ce
744Author: Leon Timmermans <fawaka@gmail.com>
745Date: Mon Jan 17 17:59:33 2011 +0100
746
747 Clarify limitation in safe signals.
748
749commit 0c1bf4c7d433bb0ad80bfe5511b1301db32b7b95
750Author: Leon Timmermans <fawaka@gmail.com>
751Date: Mon Jan 17 16:29:11 2011 +0100
752
753 Added tests for conditional unblocking
754
755commit 555344425f04e96a72e4d29eab96b34bff8f96ae
756Author: Leon Timmermans <fawaka@gmail.com>
757Date: Thu Jan 13 18:30:29 2011 +0100
758
759 Conditionally unblock after signal handler[#82040]
760
761 Only unblock signal after a safe-signal handler is executed if that signal was
762 also unblocked before the handler.
763commit 435aa301127ed481169903cb35187bde1ea44928
764Author: David Golden <dagolden@cpan.org>
765Date: Mon Jan 17 20:39:14 2011 -0500
766
767 Update HTTP::Tiny to CPAN version 0.009
768
769commit 78cd53afbb1923bf0a68f361040ad8fe93a7d0d5
770Author: David Mitchell <davem@iabyn.com>
771Date: Tue Jan 18 00:46:30 2011 +0000
772
773 vastly speed up t/porting/diag.t
774
775 This used to take about 3 minutes of CPU. Reduce this to around
776 6 seconds (!!) by coalescing and pre-compiling various patterns
777 that get applied to nearly every line of every source file.
778
779commit cfaf538b6276c6a8ef80ff6c66e106c6a4f1caaa
780Author: Karl Williamson <public@khwilliamson.com>
781Date: Mon Jan 17 08:58:53 2011 -0700
782
783 Add /a regex modifier
784
785 This restricts certain constructs, like \w, to matching in the ASCII range only.
786
787commit 56ae17b45d2513d65903d13468e8f6a16b20f916
788Author: Karl Williamson <public@khwilliamson.com>
789Date: Sun Jan 16 17:41:30 2011 -0700
790
791 regcomp.c: Convert \d \D to a switch{}
792
793commit eee47ba661717bca7751443be1b6ac8f8f64585a
794Author: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
795Date: Mon Jan 17 12:35:54 2011 +0000
796
797 Update File-Fetch to CPAN version 0.32
798
799commit e66820012d29519f903709f005e56a2c334ae183
800Author: Tony Cook <tony@develop-help.com>
801Date: Mon Jan 17 19:22:08 2011 +1100
802
803 test_prep now depends on the pods needed for porting/buildtoc.t
804
805 In the other makefiles test_prep (or test-prep) depends on all, so
806 they shouldn't need updating.
807
808
809commit a52237f3a547cdefddd4c4be6224bfdf67c84263
810Author: David Golden <dagolden@cpan.org>
811Date: Sun Jan 16 21:32:21 2011 -0500
812
813 Update CPAN to CPAN version 1.94_63
814
815commit 63ac0dadb1aafcf0c171d3c1422c1923b611b2fc
816Author: Karl Williamson <public@khwilliamson.com>
817Date: Tue Dec 28 16:13:49 2010 -0700
818
819 regex: Use BOUNDU regnodes
820
821 This refactors one area in regexec.c to use BOUNDU, NBOUNDU for
822 efficiciency, and easier adding of the future BOUNDA.
823
824commit 980866de2cf8ecdb4bb72b7f9294763057008f50
825Author: Karl Williamson <public@khwilliamson.com>
826Date: Mon Dec 27 12:04:58 2010 -0700
827
828 regex: Separate nodes for Unicode semantics \s \w
829
830 This patch converts the \s, \w and complements Unicode semantics to
831 instead of using the flags field of their nodes to instead use separate
832 nodes. This gains some efficiency, especially useful in tight loops and
833 backtracking of regexec.c, and prepares the way for easily adding other
834 semantic variations, such as /a.
835
836 It refactors the CCC_TRY... macros. I tried to break this piece up into
837 smaller chunks, but found it much easier to get to this in one step.
838 Further patches will do some more refactoring of these.
839
840 As part of the CCC_TRY macro refactoring, the lines that include the
841 test if (! nextchr) are changed to just look for the end-of-string by
842 position instead of it being NUL. In locales, it could be (however
843 unlikely), that NUL is a real alphabetic, digit, or space character.
844commit 50e911483ad5c29e25c54c9f81f92df974dd2cc0
845Author: Karl Williamson <public@khwilliamson.com>
846Date: Sun Dec 26 10:35:58 2010 -0700
847
848 Change name of /d to DEPENDS
849
850 I much prefer David Golden's name for /d whose meaning 'depends' on
851 circumstances, instead of 'dual' meaning it could be one or another.
852 Change it before this gets out in a stable release, and we're stuck with
853 the old name.
854
855commit 73134a2eb4055c76fe5b154da95e09118f716fd8
856Author: Karl Williamson <public@khwilliamson.com>
857Date: Sun Dec 26 10:35:20 2010 -0700
858
859 CH] Change usage of regex/op common to common names
860
861 This patch changes the core functions to use the common names for the
862 fields that are shared between op.c and regcomp.c, just for consistency
863 of using one name throughout the core for the same thing.
864
865 A grep of cpan shows that both names are used in various modules; so
866 both names must be retained.
867
868commit a3ab329f3fc9494e700f51c38cef42021c130b6e
869Author: David Golden <dagolden@cpan.org>
870Date: Sun Jan 16 20:57:02 2011 -0500
871
872 Add HTTP::Tiny as a dual-life core module
873
874 HTTP::Tiny has been added as a dual-life module. It is a very
875 small, simple HTTP/1.1 client designed for simple GET requests and file
876 mirroring. It has has been added to enable CPAN.pm and CPANPLUS to
877 "bootstrap" HTTP access to CPAN using pure Perl without relying on external
878 binaries like F<curl> or F<wget>.
879
880commit 211cc5012284f4bd900fcaa630adbcac69ca6112
881Author: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
882Date: Sun Jan 16 23:23:03 2011 +0000
883
884 Update Unicode-Collate to CPAN version 0.70 and enable XS version
885
886commit a62b1201c068dc7b099bcb7182e188c4d2fbf34c
887Author: Karl Williamson <public@khwilliamson.com>
888Date: Sun Dec 26 10:31:16 2010 -0700
889
890 Use multi-bit field for regex character set
891
892 The /d, /l, and /u regex modifiers are mutually exclusive. This patch
893 changes the field that stores the character set to use more than one bit
894 with an enum determining which one. This data structure more
895 closely follows the semantics of their being mutually exclusive, and
896 conserves bits as well, and is better expandable.
897
898 A small API is added to set and query the bit field.
899
900 This patch is not .xs source backwards compatible. A handful of cpan
901 programs are affected.
902
903
904tools
905
906 Significant updates to buildtoc
907
908 Update Unicode-Normalize to CPAN version 1.10
909
910commit 11454c594f22abc5945e69a46fc965363dbf326e
911Author: Karl Williamson <public@khwilliamson.com>
912Date: Sat Jan 15 13:42:58 2011 -0700
913
914 Fix \xa0 matching both [\s] [\S], et.al.
915
916 This bug stemmed from Latin1 characters not matching any (non-complemented)
917 character class in /d semantics when the target string is no utf8; but having
918 unicode semantics when it isn't. The solution here is to add a special flag.
919
920 There were several tests that relied on the broken behavior, specifically they
921 tested that \xff isn't a printable word character even in utf8. I changed the
922 deparse test to instead use a non-printable code point, and I changed the ones
923 in re_tests to be TODOs, and will change them back using /a when that is
924 shortly added.
925
926
927SECURITY
928
929 restrict \p{IsUserDefined} to In\w+ and In\w+
930
931 In L<perlunicode/"User-Defined Character Properties">, it says you can
932 create custom properties by defining subroutines whose names begin with
933 "In" or "Is". However, perl doesn't actually enforce that naming
934 restriction, so \p{foo::bar} will call foo::Bar() if it exists.
935
936 This commit finally enforces this convention. Note that this broke a
937 number of existing tests for properties, since they didn't always use an
938 Is/In prefix.
939
940TESTING
941
942 test that perl.pod, pod.lst, MANIFEST and the file system are consistent
943
944commit f56b6394f7cf57733135f56e4e4ac49abe9ac9cc
945Author: Karl Williamson <public@khwilliamson.com>
946Date: Thu Jan 13 22:36:36 2011 -0700
947
948 regex: Use ANYOFV
949
950 This patch restructures the regex ANYOF code to generate ANYOFV nodes instead
951 when there is a possibility that it could match more than one character. Note
952 that this doesn't affect the optimizer, as it essentially ignores things that
953 fit into this category. (But it means that the optimizer will no longer reject
954 these when it shouldn't have.)
955
956 The handling of the LATIN SHARP s is modified to correspond with this new node
957 type.
958
959 The initial handling of ANYOFV is placed in regexec.c. More analysis will come
960 on that. But there was significant change to the part that handles matching
961 multi-char strings. This has long been buggy, with it previously comparing a
962 folded-version on one side with a non-folded version on the other.
963
964 This patch fixes about 60% of the problems that my undelivered test suite gives
965 for multi-char folds. But there are still 17K test failures left, so I'm still
966 not delivering that. The TODOs that this fixes will be cleaned up in a later commit
967
968
969 Update Pod-LaTeX to CPAN version 0.59
970
971commit 680818c0361b180bb6f09d4bb11c4d5cd467fe62
972Author: Nicholas Clark <nick@ccl4.org>
973Date: Thu Jan 13 16:24:52 2011 +0000
974
975 ithread_create() was relying on the stack not moving. Fix this.
976
977 4cf5eae5e58faebb changed S_ithread_create() to avoid creating an AV, by
978 passing the thread creation arguments as pointers to a block of memory
979 holding SVs. Unfortunately, this inadvertently introduced a subtle bug,
980 because the block of memory is on the Perl stack, which can move as a side
981 effect of being reallocated to extend it. Hence pass in the offset on the
982 stack instead, read the current value of the relevant interpreter's stack
983 at the point of access, and copy all the SVs away before making any further
984 calls which might cause reallocation.
985
986 Update to Win32-0.44 from CPAN
987 Update Term-UI to CPAN version 0.24
988 Update IO-Compress to CPAN version 2.033
989 Update Compress-Raw-Zlib to CPAN version 2.033
990 Update Compress-Raw-Bzip2 to CPAN version 2.033
991 Update DB_File to CPAN version 1.821
992
993DIAGNOSTICS
994 Correct the "unimplemented" message for get{host,net,proto,serv}ent aliases.
995
996 Previously, if all of gethost{byaddr,byname,ent} were unimplemented on a
997 platform, they would all return 'Unsupported socket function "gethostent"
998 called', with the analogous results for getnet{byaddr,byname,ent},
999 getproto{byname,bynumber,ent} and getserv{byname,byport,ent}. This bug was
1000 introduced by change af51a00e97d5c559 - prior to this, all 12 functions would
1001 report their own name when unimplemented.
1002
1003commit 9ae3ac1a84c63b0eadf5baf47ce7096482280f32
1004Author: Karl Williamson <public@khwilliamson.com>
1005Date: Sun Jan 9 15:33:28 2011 -0700
1006
1007 Add warnings for use of problematic code points
1008
1009 The non-Unicode code points have no Unicode semantics, so applying operations
1010 such as casing on them warns.
1011
1012 This patch also includes the changes to test the warnings added by recent
1013 commits for handling the surrogates and above-Unicode code points
1014
1015commit 949cf4983af707fbd15e422845f4f3df20505f97
1016Author: Karl Williamson <public@khwilliamson.com>
1017Date: Sun Jan 9 13:50:18 2011 -0700
1018
1019 utf8.c(): Default to allow problematic code points
1020
1021 Surrogates, non-character code points, and code points that aren't in Unicode
1022 are now allowed by default, instead of having to specify a flag to allow them.
1023 (Most code did specify those flags anyway.)
1024
1025 This affects uvuni_to_utf8_flags(), utf8n_to_uvuni() and various routines that
1026 are specialized interfaces to them.
1027
1028 Now there is a new set of flags to disallow those code points. Further, all 66
1029 of the non-character code points are known about and handled consistently,
1030 instead of just U+FFFF.
1031
1032 Code that requires these code points to be forbidden will have to change to use
1033 the new flags. I have looked at all the (few) instances in CPAN where these
1034 routines are used, and the only one I found that appears to have need to do
1035 this, Encode, has already been patched to accommodate this change. Of course,
1036 I may have overlooked some subtleties.
1037
1038
1039commit 7627e6d0fe772ac90fce9e03fea273109521e261
1040Author: Nicholas Clark <nick@ccl4.org>
1041Date: Sat Jan 8 15:56:22 2011 +0000
1042
1043 Generate "Unsupported socket function" stubs using PL_ppaddr.
1044
1045 Instead of having each socket op conditionally compile as either the
1046 implementation or a DIE() depending on #HAS_SOCKET
1047
1048 1: remove the conditional code from the ops themselves
1049 2: only compile the ops if HAS_SOCKET is defined
1050 3: general conditional code for the intialisation of PL_ppaddr - as appropriate
1051 either the ops, or Perl_unimplemented_op
1052 4: Amend Perl_unimplemented_op to generate the appropriate DIE() for socket
1053 ops (ie not the "panic"... message)
1054
1055 Whilst this complicates the support code in regen/opcode.pl, it's already a
1056 net saving of 5 lines in the C code.
1057
1058commit 897d398936dd2fc088a265fba2a7b62fa97ed458
1059Author: Nicholas Clark <nick@ccl4.org>
1060Date: Sun Jan 9 10:54:58 2011 +0000
1061
1062 Generate pp_* prototypes in pp_proto.h, and remove pp.sym
1063
1064 Eliminate the #define pp_foo Perl_pp_foo(pTHX) macros, and update the 13
1065 locations that relied on them.
1066
1067 regen/opcode.pl now generates prototypes for the PP functions directly, into
1068 pp_proto.h. It no longer writes pp.sym, and regen/embed.pl no longer reads
1069 this, removing the only ordering dependency in the regen scripts. opcode.pl
1070 is now responsible for prototypes for pp_* functions. (embed.pl remains
1071 responsible for ck_* functions, reading from regen/opcodes)
1072
1073commit f1aaabf80b19a3cc6dc435510732b561ab46361e
1074Author: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
1075Date: Sun Jan 9 00:16:46 2011 +0000
1076
1077 Update CPANPLUS to CPAN version 0.9011
1078 Update CPANPLUS-Dist-Build to CPAN version 0.52
1079 Update Term-UI to CPAN version 0.22
1080 Update Params-Check to CPAN version 0.28
1081
1082commit a4a4c9e2c086dd5f7b7b05789161614dbbe8385b
1083Author: Karl Williamson <public@khwilliamson.com>
1084Date: Sat Jan 8 14:44:05 2011 -0700
1085
1086 perldiag.pod: Add missing message severities
1087
1088commit 0019012ad86d597fb507f71577d70ecd4c416bba
1089Author: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
1090Date: Sat Jan 8 23:09:04 2011 +0000
1091
1092 Update Object-Accessor to CPAN version 0.38
1093 Update Module-Load-Conditional to CPAN version 0.40
1094 Update Log-Message to CPAN version 0.04
1095 Update IPC-Cmd to CPAN version 0.68
1096
1097
1098TESTING
1099 add test for split without a pattern
1100
1101 Add some while tests, about the context of the last statement in a block and about reinitializaiton of lexical variables.
1102
1103 modernise t/cmd/while.t
1104
1105 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".
1106
1107commit ac066c2ab5bc31260104aeee778921b186894769
1108
1109 Update File-Fetch to CPAN version 0.30
1110 Update Archive-Tar to CPAN version 1.76
1111 Update Archive-Extract to CPAN version 0.48
1112
1113commit b86b68b4eefa1069dabc8ea0401d712b24a67857
1114Author: Jesse Vincent <jesse@bestpractical.com>
1115Date: Sat Jan 8 00:14:29 2011 +0800
1116
1117 Update the policy on doc patches to maint
1118
1119
1120commit e8b333e679eb9a7a62c1d86b647515f01821eb60
1121Author: David Golden <dagolden@cpan.org>
1122Date: Wed Jan 5 22:47:41 2011 -0500
1123
1124 Add Module::Metadata as a dual-life core module
1125
1126 This commit adds Module::Metadata 1.000002 as a dual-life module. It
1127 gathers package and POD information from Perl module files. It is a
1128 standalone module based on Module::Build::ModuleInfo for use by other
1129 module installation toolchain components. Module::Build::ModuleInfo
1130 has been deprecated in favor of this module instead.
1131
1132commit a8fb8d791b74ff90850140d94407aad99ec86fe3
1133Author: John Peacock <jpeacock@jpeacock-hp.doesntexist.org>
1134Date: Thu Jan 6 20:02:37 2011 -0500
1135
1136 Sync with version 0.88 on CPAN
1137
1138commit c1b879e57aecbfe520b3f44dd28472d1862f037d
1139Author: Craig A. Berry <craigberry@mac.com>
1140Date: Wed Jan 5 19:14:06 2011 -0600
1141
1142 Make newline on last record explicit.
1143
1144 On VMS, the last line written to a file will get a trailing newline
1145 willy nilly. This has its advantages insofar as you never get the
1146 "no newline at end of file" warnings from various utilities, but
1147 reality conflicts with expectations when you explicitly test for
1148 the last (or only) line *not* ending with newline, which is what
1149 the recent addtion to ref.t (5e3072707906cc4cb8a364c4cf7c487df0300caa)
1150 was doing. Adding an explicit newline makes everyone happy.
1151
1152commit 935c8d19ecf9ad3ea7589ffd1721e6ba1c671ed9
1153Author: David Golden <dagolden@cpan.org>
1154Date: Wed Jan 5 22:25:23 2011 -0500
1155
1156 Add Perl::OSType as a dual-life core module
1157
1158 This commit adds Perl::OSType 1.002 as a dual-life module. It maps Perl
1159 operating system names (e.g. 'dragonfly' or 'MSWin32') to more generic
1160 types with standardized names (e.g. "Unix" or "Windows"). It has been
1161 refactored out of Module::Build and ExtUtils::CBuilder and consolidates
1162 such mappings into a single location for easier maintenance.
1163
1164 c.f.
1165 http://www.nntp.perl.org/group/perl.perl5.porters/2010/05/msg160280.html
1166
1167commit 2a1594f630b57637ddd7a38daaa1e17f66da396a
1168Author: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
1169Date: Wed Jan 5 23:35:15 2011 +0000
1170
1171 Update CGI to CPAN version 3.51
1172
1173 [SECURITY]
1174 - Further improvements have been made to guard against newline injections
1175 in headers. (Thanks to Max Kanat-Alexander, Yanick Champoux, Mark Stosberg)
1176
1177
1178commit 0b5e625bc99f5cb78697faf03b297b6cacadf60b
1179Author: Reini Urban <rurban@x-ray.at>
1180Date: Tue Sep 14 18:04:22 2010 +0200
1181
1182 build man pages on cygwin too
1183
1184commit 172830635ea7813c85e51e4ae2b4bed56ddbab83
1185Author: Reini Urban <rurban@x-ray.at>
1186Date: Tue Sep 14 17:54:15 2010 +0200
1187
1188 Improve cygwin rebase behaviour
1189
1190 If a dll is updated on cygwin reuse the old imagebase address.
1191 This solves most rebase errors, esp when updating on core dll's.
1192 See http://www.tishler.net/jason/software/rebase/rebase-2.4.2.README
1193
1194
1195NEW TESTS
1196
1197 t/porting/filenames.t to make sure that filenames and paths are reasonably portable
1198
1199
1200Platforms
1201
1202 Actually excise 'Apollo DomainOS' support. We officially killed it in 5.11.0. It
1203 hadn't worked for years before that.
1204
1205commit cc7e77fd5a0ee9f1498e54dddf566117da62754b
1206Author: Reini Urban <rurban@x-ray.at>
1207Date: Tue Sep 14 17:48:32 2010 +0200
1208
1209 CYG14 Dynaloader without USEIMPORTLIB, and search cyg prefix
1210
1211 part1: Support the standard cyg dll prefix, which is e.g. needed for FFI's.
1212 Ctypes and C::DynaLib use DynaLoader to find dlls.
1213
1214 part2: With -DUSEIMPORTLIB DynaLoader symbols link against the prefixed
1215 symbol names for the .dll.a importlib, but we need to link against the
1216 symbols directly. We don't link Dynaloader against libperl.dll.a.
1217
1218 Otherwise:
1219 $ g++-4 -o cygperl5_13_4.dll --shared perlsrc.o cygwin.o DynaLoader.o -ldl -lcrypt
1220 Creating library file: libperl.dll.a
1221 DynaLoader.o: In function `XS_DynaLoader_dl_undef_symbols':
1222 ext/DynaLoader/DynaLoader.c:346: undefined reference to `__imp__PL_stack_sp'
1223 ext/DynaLoader/DynaLoader.c:346: undefined reference to `__imp__PL_markstack_ptr'
1224 ext/DynaLoader/DynaLoader.c:346: undefined reference to `__imp__PL_stack_base'
1225
1226commit c0a149a90b8b6e1c18de7294ca974265fb559cf5
1227Author: Reini Urban <rurban@x-ray.at>
1228Date: Tue Sep 14 18:06:38 2010 +0200
1229
1230 Update cygwin hints
1231 do not use usemymalloc (double size + slow)
1232 remove deprecated libcygipc info
1233 remove overlarge stack size
1234
1235commit ac0650a4c9f69cdc9e7af31df29011c42b42b770
1236Author: Father Chrysostomos <sprout@cpan.org>
1237Date: Sun Jan 2 23:14:37 2011 -0800
1238
1239 Restore the old description of $[
1240
1241 The new entry is a bit too futuristic: assignment to $[ still works
1242 and it is not read-only.
1243
1244 This does not fully restore the old description, as it contained
1245 grammatical errors and parts of it were not updated when 5.10 changed
1246 the scoping.
1247
1248commit 2831a86cee065b53b74fd19ddcc6a4257484646d
1249Author: Zsb√°n Ambrus <ambrus@math.bme.hu>
1250Date: Sun Jan 2 20:25:55 2011 -0800
1251
1252 [perl #81032] Overhaul Porting/epigraphs.pod
1253
1254 This patch makes multiple changes to Porting/epigraphs.pod and
1255 pod/perlhist.pod.
1256
1257 For those that don't know, Porting/epigraphs.pod is a new document that
1258 collects the quotes (chosen by Pumpkins) in perl release announcements.
1259
1260 The changes are the following.
1261
1262 1. Add a link pointing to each release announcement in the mailing
1263 list archives. These are from ysth's list, the source from which
1264 Porting/epigraphs.pod was originally compiled, but they weren't in
1265 Porting/epigraphs.pod so far.
1266 2. Reorder Porting/epigraphs.pod chronologically, because I believe
1267 that makes more sense -- pod/perlhist.pod is still sorted by version numbers.
1268 3. Incidentally, some missing releases are added to pod/perlhist.pod too.
1269 4. Fix a mistake where Porting/epigraphs.pod gives the wrong version number.
1270 5. Add some epigraphs that appear in ysth's list but not in
1271 Porting/epigraphs.pod.
1272 6. I did some research in perl history before the part that ysth's list
1273 covers, and added older perl announcements I found. This work is not
1274 complete: I stopped somewhere in 2000.
1275
1276commit eccda089fc3dcaafc1ae0aac6b428f799231b824
1277Author: Paul "LeoNerd" Evans <leonerd@leonerd.org.uk>
1278Date: Mon Dec 13 17:50:06 2010 +0000
1279
1280 Implement Socket::getaddrinfo() and Socket::getnameinfo(), with related constants
1281
1282commit d54243158c0e4ba0127eb487c5b2e2a10484e8d0
1283Author: David Golden <dagolden@cpan.org>
1284Date: Thu Dec 30 23:43:44 2010 -0500
1285
1286 Add JSON::PP to the Perl core
1287
1288 Per discussions with Jesse Vincent, JSON::PP has been added
1289 to the Perl core to support the new CPAN meta file specification
1290
e0b8b6f1
JV
1291commit edcf105d70e5423fd928c776e086fe31a4a543f4
1292Author: Jesse Vincent <jesse@bestpractical.com>
1293Date: Sat Jan 1 18:46:20 2011 +0800
1294
1295 Document 'test_porting' and start a section on how committing to blead
1296
e0b8b6f1
JV
1297commit cce04bebd8af026c2a6731940ddb895d3c1fc3e4
1298Author: David Golden <dagolden@cpan.org>
1299Date: Mon Dec 13 17:36:33 2010 -0500
1300
1301 Reorganize perlhack.pod
1302
1303 Following on an IRC conversation, I've attempted to reorganize
1304 perlhack for greater clarity. I have only cut and paste blocks
1305 of text and amended section titles and levels. (I have not addressed
1306 any of the numerous factual issues which remain.)
1307
1308 The resulting guide should be clearer for those trying to skim the
1309 table of contents to understand what is covered in perlhack and
1310 whether it is worth an in-depth read.
1311
1312 I see this change as the first step towards future improvements.
1313
e0b8b6f1 1314=cut