diff options
Diffstat (limited to 'Master/tlpkg/tlperl0/lib/pods/perl587delta.pod')
-rwxr-xr-x | Master/tlpkg/tlperl0/lib/pods/perl587delta.pod | 379 |
1 files changed, 379 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl0/lib/pods/perl587delta.pod b/Master/tlpkg/tlperl0/lib/pods/perl587delta.pod new file mode 100755 index 00000000000..34ee8f21724 --- /dev/null +++ b/Master/tlpkg/tlperl0/lib/pods/perl587delta.pod @@ -0,0 +1,379 @@ +=head1 NAME + +perl587delta - what is new for perl v5.8.7 + +=head1 DESCRIPTION + +This document describes differences between the 5.8.6 release and +the 5.8.7 release. + +=head1 Incompatible Changes + +There are no changes incompatible with 5.8.6. + +=head1 Core Enhancements + +=head2 Unicode Character Database 4.1.0 + +The copy of the Unicode Character Database included in Perl 5.8 has +been updated to 4.1.0 from 4.0.1. See +L<http://www.unicode.org/versions/Unicode4.1.0/#NotableChanges> for the +notable changes. + +=head2 suidperl less insecure + +A pair of exploits in C<suidperl> involving debugging code have been closed. + +For new projects the core perl team strongly recommends that you use +dedicated, single purpose security tools such as C<sudo> in preference to +C<suidperl>. + +=head2 Optional site customization script + +The perl interpreter can be built to allow the use of a site customization +script. By default this is not enabled, to be consistent with previous perl +releases. To use this, add C<-Dusesitecustomize> to the command line flags +when running the C<Configure> script. See also L<perlrun/-f>. + +=head2 C<Config.pm> is now much smaller. + +C<Config.pm> is now about 3K rather than 32K, with the infrequently used +code and C<%Config> values loaded on demand. This is transparent to the +programmer, but means that most code will save parsing and loading 29K of +script (for example, code that uses C<File::Find>). + +=head1 Modules and Pragmata + +=over 4 + +=item * + +B upgraded to version 1.09 + +=item * + +base upgraded to version 2.07 + +=item * + +bignum upgraded to version 0.17 + +=item * + +bytes upgraded to version 1.02 + +=item * + +Carp upgraded to version 1.04 + +=item * + +CGI upgraded to version 3.10 + +=item * + +Class::ISA upgraded to version 0.33 + +=item * + +Data::Dumper upgraded to version 2.121_02 + +=item * + +DB_File upgraded to version 1.811 + +=item * + +Devel::PPPort upgraded to version 3.06 + +=item * + +Digest upgraded to version 1.10 + +=item * + +Encode upgraded to version 2.10 + +=item * + +FileCache upgraded to version 1.05 + +=item * + +File::Path upgraded to version 1.07 + +=item * + +File::Temp upgraded to version 0.16 + +=item * + +IO::File upgraded to version 1.11 + +=item * + +IO::Socket upgraded to version 1.28 + +=item * + +Math::BigInt upgraded to version 1.77 + +=item * + +Math::BigRat upgraded to version 0.15 + +=item * + +overload upgraded to version 1.03 + +=item * + +PathTools upgraded to version 3.05 + +=item * + +Pod::HTML upgraded to version 1.0503 + +=item * + +Pod::Perldoc upgraded to version 3.14 + +=item * + +Pod::LaTeX upgraded to version 0.58 + +=item * + +Pod::Parser upgraded to version 1.30 + +=item * + +Symbol upgraded to version 1.06 + +=item * + +Term::ANSIColor upgraded to version 1.09 + +=item * + +Test::Harness upgraded to version 2.48 + +=item * + +Test::Simple upgraded to version 0.54 + +=item * + +Text::Wrap upgraded to version 2001.09293, to fix a bug when wrap() was +called with a non-space separator. + +=item * + +threads::shared upgraded to version 0.93 + +=item * + +Time::HiRes upgraded to version 1.66 + +=item * + +Time::Local upgraded to version 1.11 + +=item * + +Unicode::Normalize upgraded to version 0.32 + +=item * + +utf8 upgraded to version 1.05 + +=item * + +Win32 upgraded to version 0.24, which provides Win32::GetFileVersion + +=back + +=head1 Utility Changes + +=head2 find2perl enhancements + +C<find2perl> has new options C<-iname>, C<-path> and C<-ipath>. + +=head1 Performance Enhancements + +The internal pointer mapping hash used during ithreads cloning now uses an +arena for memory allocation. In tests this reduced ithreads cloning time by +about 10%. + +=head1 Installation and Configuration Improvements + +=over 4 + +=item * + +The Win32 "dmake" makefile.mk has been updated to make it compatible +with the latest versions of dmake. + +=item * + +C<PERL_MALLOC>, C<DEBUG_MSTATS>, C<PERL_HASH_SEED_EXPLICIT> and C<NO_HASH_SEED> +should now work in Win32 makefiles. + +=back + +=head1 Selected Bug Fixes + +=over 4 + +=item * + +The socket() function on Win32 has been fixed so that it is able to use +transport providers which specify a protocol of 0 (meaning any protocol +is allowed) once more. (This was broken in 5.8.6, and typically caused +the use of ICMP sockets to fail.) + +=item * + +Another obscure bug involving C<substr> and UTF-8 caused by bad internal +offset caching has been identified and fixed. + +=item * + +A bug involving the loading of UTF-8 tables by the regexp engine has been +fixed - code such as C<"\x{100}" =~ /[[:print:]]/> will no longer give +corrupt results. + +=item * + +Case conversion operations such as C<uc> on a long Unicode string could +exhaust memory. This has been fixed. + +=item * + +C<index>/C<rindex> were buggy for some combinations of Unicode and +non-Unicode data. This has been fixed. + +=item * + +C<read> (and presumably C<sysread>) would expose the UTF-8 internals when +reading from a byte oriented file handle into a UTF-8 scalar. This has +been fixed. + +=item * + +Several C<pack>/C<unpack> bug fixes: + +=over 4 + +=item * + +Checksums with C<b> or C<B> formats were broken. + +=item * + +C<unpack> checksums could overflow with the C<C> format. + +=item * + +C<U0> and C<C0> are now scoped to C<()> C<pack> sub-templates. + +=item * + +Counted length prefixes now don't change C<C0>/C<U0> mode. + +=item * + +C<pack> C<Z0> used to destroy the preceding character. + +=item * + +C<P>/C<p> C<pack> formats used to only recognise literal C<undef> + +=back + +=item * + +Using closures with ithreads could cause perl to crash. This was due to +failure to correctly lock internal OP structures, and has been fixed. + +=item * + +The return value of C<close> now correctly reflects any file errors that +occur while flushing the handle's data, instead of just giving failure if +the actual underlying file close operation failed. + +=item * + +C<not() || 1> used to segfault. C<not()> now behaves like C<not(0)>, which was +the pre 5.6.0 behaviour. + +=item * + +C<h2ph> has various enhancements to cope with constructs in header files that +used to result in incorrect or invalid output. + +=back + +=head1 New or Changed Diagnostics + +There is a new taint error, "%ENV is aliased to %s". This error is thrown +when taint checks are enabled and when C<*ENV> has been aliased, so that +C<%ENV> has no env-magic anymore and hence the environment cannot be verified +as taint-free. + +The internals of C<pack> and C<unpack> have been updated. All legitimate +templates should work as before, but there may be some changes in the error +reported for complex failure cases. Any behaviour changes for non-error cases +are bugs, and should be reported. + +=head1 Changed Internals + +There has been a fair amount of refactoring of the C<C> source code, partly to +make it tidier and more maintainable. The resulting object code and the +C<perl> binary may well be smaller than 5.8.6, and hopefully faster in some +cases, but apart from this there should be no user-detectable changes. + +C<${^UTF8LOCALE}> has been added to give perl space access to C<PL_utf8locale>. + +The size of the arenas used to allocate SV heads and most SV bodies can now +be changed at compile time. The old size was 1008 bytes, the new default size +is 4080 bytes. + +=head1 Known Problems + +Unicode strings returned from overloaded operators can be buggy. This is a +long standing bug reported since 5.8.6 was released, but we do not yet have +a suitable fix for it. + +=head1 Platform Specific Problems + +On UNICOS, lib/Math/BigInt/t/bigintc.t hangs burning CPU. +ext/B/t/bytecode.t and ext/Socket/t/socketpair.t both fail tests. +These are unlikely to be resolved, as our valiant UNICOS porter's last +Cray is being decommissioned. + +=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.org, 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 |