summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2004-04-04 22:42:12 +0000
committerNicholas Clark <nick@ccl4.org>2004-04-04 22:42:12 +0000
commit49490ebe65ad437ef889ec9a82927a0ec6f27d0e (patch)
treeff88f270304ccb923865dae1afe2003bd5c9b88b
parent6f7ea70a55efe3b233f2a8ac4c1fe733ead73562 (diff)
downloadperl-49490ebe65ad437ef889ec9a82927a0ec6f27d0e.tar.gz
# There is this special biologist word we use for 'stable'.
# It is 'dead'. -- Jack Cohen p4raw-id: //depot/maint-5.8/perl@22648
-rw-r--r--pod/perl584delta.pod182
1 files changed, 176 insertions, 6 deletions
diff --git a/pod/perl584delta.pod b/pod/perl584delta.pod
index b2fc3a6a69..9393f7e53b 100644
--- a/pod/perl584delta.pod
+++ b/pod/perl584delta.pod
@@ -1,3 +1,6 @@
+?? Detached threads aren't supported on Windows yet, as they may lead to
+memory access violation problems.
+
=head1 NAME
perldelta - what is new for perl v5.8.4
@@ -9,31 +12,198 @@ the 5.8.4 release.
=head1 Incompatible Changes
-There are no changes incompatible with 5.8.3.
+Many minor bugs have been fixed. Scripts which happen to rely on previously
+erroneous behaviour will consider these fixes as incompatible changes :-)
+You are advised to perform sufficient acceptance testing on this release
+to satisfy yourself that this does not affect you, before putting this
+release into production.
+
+The diagnostic output of Carp has been changed slightly, to add a space after
+the comma between arguments. This makes it much easier for tools such as
+web browsers to wrap it, but might confuse any automatic tools which perform
+detailed parsing of Carp output.
+
+The internal dump output has been improved, so that non-printable characters
+such as newline and backspace are output in C<\x> notation, rather than
+octal. This might just confuse non-robust tools which parse the output of
+modules such as Devel::Peek.
=head1 Core Enhancements
+=head2 Malloc wrapping
+
+Perl can now be built to detect attempts at pathologically large assignments.
+Previously such assignments would suffer from integer wrap-around during size
+calculations causing a misallocation, which would crash perl, and could
+theoretically be used for "stack smashing" attacks. The wrapping defaults to
+enabled on platforms where we know it works (AIX, BSDi, Darwin, DEC OSF,
+FreeBSD, HP/UX, GNU Linux, OpenBSD, Solaris, VMS and Win32) and defaults to
+disabled on other platforms.
+
+=head2 Unicode Character Database 4.0.1
+
+The copy of the Unicode Character Database included in Perl 5.8 has
+been updated to 4.0.1 from 4.0.0.
+
+=head2 suidperl less insecure
+
+Paul Szabo has analysed and patched C<suidperl> to remove existing known
+insecurities. Currently there are no known holes in C<suidperl>, but
+previous experience shows that we cannot be confident that these were the
+last. For new projects the core perl team would strongly recommend that you
+use dedicated, single purpose security tools such as C<sudo> in preference
+to C<suidperl>.
+
+=head2 format
+
+In addition to bug fixes, C<format>'s features have been enhanced. See XXX
+
=head1 Modules and Pragmata
-=head1 Utility Changes
+The (mis)use of C</tmp> in core modules and documentation has been tidied up.
+Not all modules with dual lives on CPAN have had these changes applied yet.
+
+=over 4
+
+=item Attribute::Handlers
+
+=item B
+
+=item Benchmark
+
+=item CGI
+
+=item Carp
+
+=item Cwd
+
+=item Exporter
+
+=item File::Find
+
+=item IO
+
+=item IPC::Open3
+
+=item Local::Maketext
+
+=item Math::BigFloat
+
+=item Math::BigInt
+
+=item Math::BigRat
+
+=item MIME::Base64
+
+=item ODBM_File
+
+=item POSIX
+
+=item Shell
+
+=item Socket
+
+There is experimental support for Linux abstract Unix domain sockets.
+
+=item Storable
-=head1 New Documentation
+=item Switch
+
+Synced with the CPAN 2.10 release
+
+=item Sys::Syslog
+
+C<syslog()> can now use numeric constants for facility names and priorities,
+in addition to strings.
+
+=item Term::ANSIColor
+
+=item Term::Unicode
+
+=item Time::HiRes
+
+=item Unicode::UCD
+
+=item Win32
+
+Win32.pm/Win32.xs has moved from the libwin32 module to core Perl
+
+=item base
+
+=item open
+
+=item threads
+
+XXX Win32 detached threads?
+
+=item utf8
+
+=back
=head1 Performance Enhancements
+=over 4
+
+=item *
+
+Accelerated Unicode case mappings (C</i>, C<lc>, C<uc>, etc).
+
+=item *
+
+In place sort optimised (eg C<@a = sort @a>)
+
+=item *
+
+Unnecessary assignment optimised away in
+
+ my $s = undef;
+ my @a = ();
+ my %h = ();
+
+=item *
+
+Optimised C<map> in scalar context
+
+=back
+
=head1 Installation and Configuration Improvements
+The build process on both VMS and Windows has had several minor improvements
+made. Perl should now build on Windows 95. C<perl.exe> on Windows now has a
+"Camel" logo icon. The use of a camel with Perl is a trademark of O'Reilly
+and Associates, and is used in the Perl core distribution with their
+permission. On Windows Borland's C compiler can now compile perl with PerlIO
+and/or USE_LARGE_FILES enabled.
+
+Perl should build cleanly on Stratus VOS once more.
+
=head1 Selected Bug Fixes
+More utf8 bugs fixed, notably in how C<chomp>, C<chop>, C<send>, and
+C<syswrite> and interact with utf8 data. Concatenation now works correctly
+when C<use bytes;> is in scope.
+
+The "const in void context" warning has been suppressed for a constant in an
+optimised-away boolean expression such as C<5 || print;>
+
+C<perl -i> could C<fchmod(stdin)> by mistake. This is serious if stdin is
+attached to a terminal, and perl is running as root. Now fixed.
+
=head1 New or Changed Diagnostics
+C<Carp> and the internal diagnostic routines used by C<Devel::Peek> have been
+made clearer, as described in L</Incompatible Changes>
+
=head1 Changed Internals
-=head1 New Tests
+Some bugs have been fixed in the hash internals. Restricted hashes and
+their place holders are now allocated and deleted at slightly different times,
+but this should not be visible to user code.
-=head1 Known Problems
+=head1 Future Directions
-=head1 Platform Specific Problems
+Code freeze for the next maintenance release (5.8.5) is will be on 30th
+June 2004, with release by mid July.
=head1 Reporting Bugs