163 lines
4.4 KiB
Plaintext
163 lines
4.4 KiB
Plaintext
|
=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
|