xref: /onnv-gate/usr/src/cmd/perl/5.8.4/distrib/pod/perl582delta.pod (revision 0:68f95e015346)
1*0Sstevel@tonic-gate=head1 NAME
2*0Sstevel@tonic-gate
3*0Sstevel@tonic-gateperl582delta - what is new for perl v5.8.2
4*0Sstevel@tonic-gate
5*0Sstevel@tonic-gate=head1 DESCRIPTION
6*0Sstevel@tonic-gate
7*0Sstevel@tonic-gateThis document describes differences between the 5.8.1 release and
8*0Sstevel@tonic-gatethe 5.8.2 release.
9*0Sstevel@tonic-gate
10*0Sstevel@tonic-gateIf you are upgrading from an earlier release such as 5.6.1, first read
11*0Sstevel@tonic-gatethe L<perl58delta>, which describes differences between 5.6.0 and
12*0Sstevel@tonic-gate5.8.0, and the L<perl581delta>, which describes differences between
13*0Sstevel@tonic-gate5.8.0 and 5.8.1.
14*0Sstevel@tonic-gate
15*0Sstevel@tonic-gate=head1 Incompatible Changes
16*0Sstevel@tonic-gate
17*0Sstevel@tonic-gateFor threaded builds for modules calling certain re-entrant system calls,
18*0Sstevel@tonic-gatebinary compatibility was accidentally lost between 5.8.0 and 5.8.1.
19*0Sstevel@tonic-gateBinary compatibility with 5.8.0 has been restored in 5.8.2, which
20*0Sstevel@tonic-gatenecessitates breaking compatibility with 5.8.1. We see this as the
21*0Sstevel@tonic-gatelesser of two evils.
22*0Sstevel@tonic-gate
23*0Sstevel@tonic-gateThis will only affect people who have a threaded perl 5.8.1, and compiled
24*0Sstevel@tonic-gatemodules which use these calls, and now attempt to run the compiled modules
25*0Sstevel@tonic-gatewith 5.8.2. The fix is to re-compile and re-install the modules using 5.8.2.
26*0Sstevel@tonic-gate
27*0Sstevel@tonic-gate=head1 Core Enhancements
28*0Sstevel@tonic-gate
29*0Sstevel@tonic-gate=head2 Hash Randomisation
30*0Sstevel@tonic-gate
31*0Sstevel@tonic-gateThe hash randomisation introduced with 5.8.1 has been amended. It
32*0Sstevel@tonic-gatetranspired that although the implementation introduced in 5.8.1 was source
33*0Sstevel@tonic-gatecompatible with 5.8.0, it was not binary compatible in certain cases. 5.8.2
34*0Sstevel@tonic-gatecontains an improved implementation which is both source and binary
35*0Sstevel@tonic-gatecompatible with both 5.8.0 and 5.8.1, and remains robust against the form of
36*0Sstevel@tonic-gateattack which prompted the change for 5.8.1.
37*0Sstevel@tonic-gate
38*0Sstevel@tonic-gateWe are grateful to the Debian project for their input in this area.
39*0Sstevel@tonic-gateSee L<perlsec/"Algorithmic Complexity Attacks"> for the original
40*0Sstevel@tonic-gaterationale behind this change.
41*0Sstevel@tonic-gate
42*0Sstevel@tonic-gate=head2 Threading
43*0Sstevel@tonic-gate
44*0Sstevel@tonic-gateSeveral memory leaks associated with variables shared between threads
45*0Sstevel@tonic-gatehave been fixed.
46*0Sstevel@tonic-gate
47*0Sstevel@tonic-gate=head1 Modules and Pragmata
48*0Sstevel@tonic-gate
49*0Sstevel@tonic-gate=head2 Updated Modules And Pragmata
50*0Sstevel@tonic-gate
51*0Sstevel@tonic-gateThe following modules and pragmata have been updated since Perl 5.8.1:
52*0Sstevel@tonic-gate
53*0Sstevel@tonic-gate=over 4
54*0Sstevel@tonic-gate
55*0Sstevel@tonic-gate=item Devel::PPPort
56*0Sstevel@tonic-gate
57*0Sstevel@tonic-gate=item Digest::MD5
58*0Sstevel@tonic-gate
59*0Sstevel@tonic-gate=item I18N::LangTags
60*0Sstevel@tonic-gate
61*0Sstevel@tonic-gate=item libnet
62*0Sstevel@tonic-gate
63*0Sstevel@tonic-gate=item MIME::Base64
64*0Sstevel@tonic-gate
65*0Sstevel@tonic-gate=item Pod::Perldoc
66*0Sstevel@tonic-gate
67*0Sstevel@tonic-gate=item strict
68*0Sstevel@tonic-gate
69*0Sstevel@tonic-gateDocumentation improved
70*0Sstevel@tonic-gate
71*0Sstevel@tonic-gate=item Tie::Hash
72*0Sstevel@tonic-gate
73*0Sstevel@tonic-gateDocumentation improved
74*0Sstevel@tonic-gate
75*0Sstevel@tonic-gate=item Time::HiRes
76*0Sstevel@tonic-gate
77*0Sstevel@tonic-gate=item Unicode::Collate
78*0Sstevel@tonic-gate
79*0Sstevel@tonic-gate=item Unicode::Normalize
80*0Sstevel@tonic-gate
81*0Sstevel@tonic-gate=item UNIVERSAL
82*0Sstevel@tonic-gate
83*0Sstevel@tonic-gateDocumentation improved
84*0Sstevel@tonic-gate
85*0Sstevel@tonic-gate=back
86*0Sstevel@tonic-gate
87*0Sstevel@tonic-gate=head1 Selected Bug Fixes
88*0Sstevel@tonic-gate
89*0Sstevel@tonic-gateSome syntax errors involving unrecognized filetest operators are now handled
90*0Sstevel@tonic-gatecorrectly by the parser.
91*0Sstevel@tonic-gate
92*0Sstevel@tonic-gate=head1 Changed Internals
93*0Sstevel@tonic-gate
94*0Sstevel@tonic-gateInterpreter initialization is more complete when -DMULTIPLICITY is off.
95*0Sstevel@tonic-gateThis should resolve problems with initializing and destroying the Perl
96*0Sstevel@tonic-gateinterpreter more than once in a single process.
97*0Sstevel@tonic-gate
98*0Sstevel@tonic-gate=head1 Platform Specific Problems
99*0Sstevel@tonic-gate
100*0Sstevel@tonic-gateDynamic linker flags have been tweaked for Solaris and OS X, which should
101*0Sstevel@tonic-gatesolve problems seen while building some XS modules.
102*0Sstevel@tonic-gate
103*0Sstevel@tonic-gateBugs in OS/2 sockets and tmpfile have been fixed.
104*0Sstevel@tonic-gate
105*0Sstevel@tonic-gateIn OS X C<setreuid> and friends are troublesome - perl will now work
106*0Sstevel@tonic-gatearound their problems as best possible.
107*0Sstevel@tonic-gate
108*0Sstevel@tonic-gate=head1 Future Directions
109*0Sstevel@tonic-gate
110*0Sstevel@tonic-gateStarting with 5.8.3 we intend to make more frequent maintenance releases,
111*0Sstevel@tonic-gatewith a smaller number of changes in each. The intent is to propagate
112*0Sstevel@tonic-gatebug fixes out to stable releases more rapidly and make upgrading stable
113*0Sstevel@tonic-gatereleases less of an upheaval. This should give end users more
114*0Sstevel@tonic-gateflexibility in their choice of upgrade timing, and allow them easier
115*0Sstevel@tonic-gateassessment of the impact of upgrades. The current plan is for code freezes
116*0Sstevel@tonic-gateas follows
117*0Sstevel@tonic-gate
118*0Sstevel@tonic-gate=over 4
119*0Sstevel@tonic-gate
120*0Sstevel@tonic-gate=item *
121*0Sstevel@tonic-gate
122*0Sstevel@tonic-gate5.8.3 23:59:59 GMT, Wednesday December 31st 2003
123*0Sstevel@tonic-gate
124*0Sstevel@tonic-gate=item *
125*0Sstevel@tonic-gate
126*0Sstevel@tonic-gate5.8.4 23:59:59 GMT, Wednesday March 31st 2004
127*0Sstevel@tonic-gate
128*0Sstevel@tonic-gate=item *
129*0Sstevel@tonic-gate
130*0Sstevel@tonic-gate5.8.5 23:59:59 GMT, Wednesday June 30th 2004
131*0Sstevel@tonic-gate
132*0Sstevel@tonic-gate=back
133*0Sstevel@tonic-gate
134*0Sstevel@tonic-gatewith the release following soon after, when testing is complete.
135*0Sstevel@tonic-gate
136*0Sstevel@tonic-gateSee L<perl581delta/"Future Directions"> for more soothsaying.
137*0Sstevel@tonic-gate
138*0Sstevel@tonic-gate=head1 Reporting Bugs
139*0Sstevel@tonic-gate
140*0Sstevel@tonic-gateIf you find what you think is a bug, you might check the articles
141*0Sstevel@tonic-gaterecently posted to the comp.lang.perl.misc newsgroup and the perl
142*0Sstevel@tonic-gatebug database at http://bugs.perl.org/.  There may also be
143*0Sstevel@tonic-gateinformation at http://www.perl.com/, the Perl Home Page.
144*0Sstevel@tonic-gate
145*0Sstevel@tonic-gateIf you believe you have an unreported bug, please run the B<perlbug>
146*0Sstevel@tonic-gateprogram included with your release.  Be sure to trim your bug down
147*0Sstevel@tonic-gateto a tiny but sufficient test case.  Your bug report, along with the
148*0Sstevel@tonic-gateoutput of C<perl -V>, will be sent off to perlbug@perl.org to be
149*0Sstevel@tonic-gateanalysed by the Perl porting team.  You can browse and search
150*0Sstevel@tonic-gatethe Perl 5 bugs at http://bugs.perl.org/
151*0Sstevel@tonic-gate
152*0Sstevel@tonic-gate=head1 SEE ALSO
153*0Sstevel@tonic-gate
154*0Sstevel@tonic-gateThe F<Changes> file for exhaustive details on what changed.
155*0Sstevel@tonic-gate
156*0Sstevel@tonic-gateThe F<INSTALL> file for how to build Perl.
157*0Sstevel@tonic-gate
158*0Sstevel@tonic-gateThe F<README> file for general stuff.
159*0Sstevel@tonic-gate
160*0Sstevel@tonic-gateThe F<Artistic> and F<Copying> files for copyright information.
161*0Sstevel@tonic-gate
162*0Sstevel@tonic-gate=cut
163