summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/pods/perl587delta.pod
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/lib/pods/perl587delta.pod')
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl587delta.pod379
1 files changed, 379 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl/lib/pods/perl587delta.pod b/Master/tlpkg/tlperl/lib/pods/perl587delta.pod
new file mode 100644
index 00000000000..34ee8f21724
--- /dev/null
+++ b/Master/tlpkg/tlperl/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