| 1 | -------------
 | 
|---|
| 2 | Version 5.003
 | 
|---|
| 3 | -------------
 | 
|---|
| 4 | 
 | 
|---|
| 5 |                   ***>  IMPORTANT NOTICE:  <***
 | 
|---|
| 6 | The main reason for this release was to fix a security bug affecting
 | 
|---|
| 7 | suidperl on some systems.  If you build suidperl on your system, it
 | 
|---|
| 8 | is strongly recommended that you replace any existing copies with
 | 
|---|
| 9 | version 5.003 or later immediately.
 | 
|---|
| 10 | 
 | 
|---|
| 11 | The changes in 5.003 have been held to a minimum, in the hope that this
 | 
|---|
| 12 | will simplify installation and testing at sites which may be affected
 | 
|---|
| 13 | by the security hole in suidperl.  In brief, 5.003 does the following:
 | 
|---|
| 14 | 
 | 
|---|
| 15 | - Plugs security hole in suidperl mechanism on affected systems
 | 
|---|
| 16 | 
 | 
|---|
| 17 | - MakeMaker was also updated to version 5.34, and extension Makefile.PLs
 | 
|---|
| 18 |   were modified to match it.
 | 
|---|
| 19 | 
 | 
|---|
| 20 | - The following hints files were updated: bsdos.sh, hpux.sh, linux.sh,
 | 
|---|
| 21 |   machten.sh, solaris_2.sh
 | 
|---|
| 22 | 
 | 
|---|
| 23 | - A fix was added to installperl to insure that file permissions were
 | 
|---|
| 24 |   set correctly for the installed C header files.
 | 
|---|
| 25 | 
 | 
|---|
| 26 | - t/op/stat.t was modified to work around MachTen's belief that /dev/null
 | 
|---|
| 27 |   is a terminal device.
 | 
|---|
| 28 | 
 | 
|---|
| 29 | - Incorporation of Perl version information into the VMS' version of
 | 
|---|
| 30 |   config.h was changed to make it compatible with the older VAXC.
 | 
|---|
| 31 | 
 | 
|---|
| 32 | - Minor fixes were made to VMS-specific C code, and the routine
 | 
|---|
| 33 |   VMS::Filespec::rmsexpand was added.
 | 
|---|
| 34 | 
 | 
|---|
| 35 | ----------------
 | 
|---|
| 36 | Version 5.002_01
 | 
|---|
| 37 | ----------------
 | 
|---|
| 38 | 
 | 
|---|
| 39 | - The EMBED namespace changes are now used by default, in order to better
 | 
|---|
| 40 |   segregate Perl's C global symbols from those belonging to embedding
 | 
|---|
| 41 |   applications or to libraries.  This makes it necessary to rebuild dynamic
 | 
|---|
| 42 |   extensions built under previous versions of Perl without the EMBED option.
 | 
|---|
| 43 |   The default use of EMBED can be overridden by placing -DNO_EMBED on the
 | 
|---|
| 44 |   cc command line.
 | 
|---|
| 45 | 
 | 
|---|
| 46 |   The EMBED change is the beginning of a general cleanup of C global
 | 
|---|
| 47 |   symbols used by Perl, so binary compatibility with previously
 | 
|---|
| 48 |   compiled dynamic extensions may be broken again in the next few
 | 
|---|
| 49 |   releases.
 | 
|---|
| 50 | 
 | 
|---|
| 51 | - Several bugs in the core were fixed, including the following:
 | 
|---|
| 52 |    - made sure FILE * for -e temp file was closed only once
 | 
|---|
| 53 |    - improved form of single-statement macro definitions to keep
 | 
|---|
| 54 |      as many ccs as possible happy
 | 
|---|
| 55 |    - fixed file tests to insure that signed values were used when
 | 
|---|
| 56 |      computing differences between times.
 | 
|---|
| 57 |    - fixed toke.c so implicit loop isn't doubled when perl is
 | 
|---|
| 58 |      invoked with both the -p and -n switches
 | 
|---|
| 59 | 
 | 
|---|
| 60 | - The new SUBVERSION number has been included in the default value for
 | 
|---|
| 61 |   architecture-specific library directories, so development and
 | 
|---|
| 62 |   production architecture-dependent libraries can coexist.
 | 
|---|
| 63 | 
 | 
|---|
| 64 | - Two new magic variables, $^E and $^O, have been added.  $^E contains the
 | 
|---|
| 65 |   OS-specific equivalent of $!.  $^O contains the name of the operating
 | 
|---|
| 66 |   system, in order to make it easily available to Perl code whose behavior
 | 
|---|
| 67 |   differs according to its environment.  The standard library files have
 | 
|---|
| 68 |   been converted to use $^O in preference to $Config{'osname'}.
 | 
|---|
| 69 | 
 | 
|---|
| 70 | - A mechanism was added to allow listing of locally applied patches
 | 
|---|
| 71 |   in the output of perl -v.
 | 
|---|
| 72 | 
 | 
|---|
| 73 | - Miscellaneous minor corrections and updates were made to the documentation.
 | 
|---|
| 74 | 
 | 
|---|
| 75 | - Extensive updates were made to the OS/2 and VMS ports
 | 
|---|
| 76 | 
 | 
|---|
| 77 | - The following hints file were updated: bsdos.sh, dynixptx.sh,
 | 
|---|
| 78 |   irix_6_2.sh, linux.sh, os2.sh
 | 
|---|
| 79 | 
 | 
|---|
| 80 | - Several changes were made to standard library files:
 | 
|---|
| 81 |    - reduced use of English.pm and $`, $', and $& in library modules,
 | 
|---|
| 82 |      since these degrade module loading and evaluation of regular expressions,
 | 
|---|
| 83 |      respectively.
 | 
|---|
| 84 |    - File/Basename.pm: Added path separator to dirname('.')
 | 
|---|
| 85 |    - File/Copy.pm: Added support for VMS and OS/2 system-level copy
 | 
|---|
| 86 |    - MakeMaker updated to v5.26
 | 
|---|
| 87 |    - Symbol.pm now accepts old (') and new (::) package delimiters
 | 
|---|
| 88 |    - Sys/Syslog.pm uses Sys::Hostname only when necessary
 | 
|---|
| 89 |    - chat2.pl picks up necessary constants from socket.ph
 | 
|---|
| 90 |    - syslog.pl: Corrected thinko 'Socket' --> 'Syslog'
 | 
|---|
| 91 |    - xsubpp updated to v1.935
 | 
|---|
| 92 | 
 | 
|---|
| 93 | 
 | 
|---|
| 94 | - The perlbug utility is now more cautious about sending mail, in order
 | 
|---|
| 95 |   to reduce the chance of accidentally send a bug report by giving the
 | 
|---|
| 96 |   wrong response to a prompt.
 | 
|---|
| 97 | 
 | 
|---|
| 98 | - The -m switch has been added to perldoc, causing it to display the 
 | 
|---|
| 99 |   Perl code in target file as well as any documentation.
 | 
|---|
| 100 | 
 | 
|---|