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