source: trunk/essentials/dev-lang/perl/pod/perl584delta.pod@ 3280

Last change on this file since 3280 was 3181, checked in by bird, 19 years ago

perl 5.8.8

File size: 7.2 KB
Line 
1=head1 NAME
2
3perl584delta - what is new for perl v5.8.4
4
5=head1 DESCRIPTION
6
7This document describes differences between the 5.8.3 release and
8the 5.8.4 release.
9
10=head1 Incompatible Changes
11
12Many minor bugs have been fixed. Scripts which happen to rely on previously
13erroneous behaviour will consider these fixes as incompatible changes :-)
14You are advised to perform sufficient acceptance testing on this release
15to satisfy yourself that this does not affect you, before putting this
16release into production.
17
18The diagnostic output of Carp has been changed slightly, to add a space after
19the comma between arguments. This makes it much easier for tools such as
20web browsers to wrap it, but might confuse any automatic tools which perform
21detailed parsing of Carp output.
22
23The internal dump output has been improved, so that non-printable characters
24such as newline and backspace are output in C<\x> notation, rather than
25octal. This might just confuse non-robust tools which parse the output of
26modules such as Devel::Peek.
27
28=head1 Core Enhancements
29
30=head2 Malloc wrapping
31
32Perl can now be built to detect attempts to assign pathologically large chunks
33of memory. Previously such assignments would suffer from integer wrap-around
34during size calculations causing a misallocation, which would crash perl, and
35could theoretically be used for "stack smashing" attacks. The wrapping
36defaults to enabled on platforms where we know it works (most AIX
37configurations, BSDi, Darwin, DEC OSF/1, FreeBSD, HP/UX, GNU Linux, OpenBSD,
38Solaris, VMS and most Win32 compilers) and defaults to disabled on other
39platforms.
40
41=head2 Unicode Character Database 4.0.1
42
43The copy of the Unicode Character Database included in Perl 5.8 has
44been updated to 4.0.1 from 4.0.0.
45
46=head2 suidperl less insecure
47
48Paul Szabo has analysed and patched C<suidperl> to remove existing known
49insecurities. Currently there are no known holes in C<suidperl>, but previous
50experience shows that we cannot be confident that these were the last. You may
51no longer invoke the set uid perl directly, so to preserve backwards
52compatibility with scripts that invoke #!/usr/bin/suidperl the only set uid
53binary is now C<sperl5.8.>I<n> (C<sperl5.8.4> for this release). C<suidperl>
54is installed as a hard link to C<perl>; both C<suidperl> and C<perl> will
55invoke C<sperl5.8.4> automatically the set uid binary, so this change should
56be completely transparent.
57
58For new projects the core perl team would strongly recommend that you use
59dedicated, single purpose security tools such as C<sudo> in preference to
60C<suidperl>.
61
62=head2 format
63
64In addition to bug fixes, C<format>'s features have been enhanced. See
65L<perlform>
66
67=head1 Modules and Pragmata
68
69The (mis)use of C</tmp> in core modules and documentation has been tidied up.
70Some modules available both within the perl core and independently from CPAN
71("dual-life modules") have not yet had these changes applied; the changes
72will be integrated into future stable perl releases as the modules are
73updated on CPAN.
74
75=head2 Updated modules
76
77=over 4
78
79=item Attribute::Handlers
80
81=item B
82
83=item Benchmark
84
85=item CGI
86