| =head1 NAME |
| |
| perl582delta - what is new for perl v5.8.2 |
| |
| =head1 DESCRIPTION |
| |
| This document describes differences between the 5.8.1 release and |
| the 5.8.2 release. |
| |
| If you are upgrading from an earlier release such as 5.6.1, first read |
| the L<perl58delta>, which describes differences between 5.6.0 and |
| 5.8.0, and the L<perl581delta>, which describes differences between |
| 5.8.0 and 5.8.1. |
| |
| =head1 Incompatible Changes |
| |
| For threaded builds for modules calling certain re-entrant system calls, |
| binary compatibility was accidentally lost between 5.8.0 and 5.8.1. |
| Binary compatibility with 5.8.0 has been restored in 5.8.2, which |
| necessitates breaking compatibility with 5.8.1. We see this as the |
| lesser of two evils. |
| |
| This will only affect people who have a threaded perl 5.8.1, and compiled |
| modules which use these calls, and now attempt to run the compiled modules |
| with 5.8.2. The fix is to re-compile and re-install the modules using 5.8.2. |
| |
| =head1 Core Enhancements |
| |
| =head2 Hash Randomisation |
| |
| The hash randomisation introduced with 5.8.1 has been amended. It |
| transpired that although the implementation introduced in 5.8.1 was source |
| compatible with 5.8.0, it was not binary compatible in certain cases. 5.8.2 |
| contains an improved implementation which is both source and binary |
| compatible with both 5.8.0 and 5.8.1, and remains robust against the form of |
| attack which prompted the change for 5.8.1. |
| |
| We are grateful to the Debian project for their input in this area. |
| See L<perlsec/"Algorithmic Complexity Attacks"> for the original |
| rationale behind this change. |
| |
| =head2 Threading |
| |
| Several memory leaks associated with variables shared between threads |
| have been fixed. |
| |
| =head1 Modules and Pragmata |
| |
| =head2 Updated Modules And Pragmata |
| |
| The following modules and pragmata have been updated since Perl 5.8.1: |
| |
| =over 4 |
| |
| =item Devel::PPPort |
| |
| =item Digest::MD5 |
| |
| =item I18N::LangTags |
| |
| =item libnet |
| |
| =item MIME::Base64 |
| |
| =item Pod::Perldoc |
| |
| =item strict |
| |
| Documentation improved |
| |
| =item Tie::Hash |
| |
| Documentation improved |
| |
| =item Time::HiRes |
| |
| =item Unicode::Collate |
| |
| =item Unicode::Normalize |
| |
| =item UNIVERSAL |
| |
| Documentation improved |
| |
| =back |
| |
| =head1 Selected Bug Fixes |
| |
| Some syntax errors involving unrecognized filetest operators are now handled |
| correctly by the parser. |
| |
| =head1 Changed Internals |
| |
| Interpreter initialization is more complete when -DMULTIPLICITY is off. |
| This should resolve problems with initializing and destroying the Perl |
| interpreter more than once in a single process. |
| |
| =head1 Platform Specific Problems |
| |
| Dynamic linker flags have been tweaked for Solaris and OS X, which should |
| solve problems seen while building some XS modules. |
| |
| Bugs in OS/2 sockets and tmpfile have been fixed. |
| |
| In OS X C<setreuid> and friends are troublesome - perl will now work |
| around their problems as best possible. |
| |
| =head1 Future Directions |
| |
| Starting with 5.8.3 we intend to make more frequent maintenance releases, |
| with a smaller number of changes in each. The intent is to propagate |
| bug fixes out to stable releases more rapidly and make upgrading stable |
| releases less of an upheaval. This should give end users more |
| flexibility in their choice of upgrade timing, and allow them easier |
| assessment of the impact of upgrades. The current plan is for code freezes |
| as follows |
| |
| =over 4 |
| |
| =item * |
| |
| 5.8.3 23:59:59 GMT, Wednesday December 31st 2003 |
| |
| =item * |
| |
| 5.8.4 23:59:59 GMT, Wednesday March 31st 2004 |
| |
| =item * |
| |
| 5.8.5 23:59:59 GMT, Wednesday June 30th 2004 |
| |
| =back |
| |
| with the release following soon after, when testing is complete. |
| |
| See L<perl581delta/"Future Directions"> for more soothsaying. |
| |
| =head1 Reporting Bugs |
| |
| If you find what you think is a bug, you might check the articles |
| recently posted to the comp.lang.perl.misc newsgroup and the perl |
| bug database at http://bugs.perl.org/. There may also be |
| information at http://www.perl.com/, the Perl Home Page. |
| |
| If you believe you have an unreported bug, please run the B<perlbug> |
| program included with your release. Be sure to trim your bug down |
| to a tiny but sufficient test case. Your bug report, along with the |
| output of C<perl -V>, will be sent off to perlbug@perl.org to be |
| analysed by the Perl porting team. You can browse and search |
| the Perl 5 bugs at http://bugs.perl.org/ |
| |
| =head1 SEE ALSO |
| |
| The F<Changes> file for exhaustive details on what changed. |
| |
| The F<INSTALL> file for how to build Perl. |
| |
| The F<README> file for general stuff. |
| |
| The F<Artistic> and F<Copying> files for copyright information. |
| |
| =cut |