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