This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Take splint into account for PERL_UNUSED_ARG (patch by Jarkko)
[perl5.git] / Changes5.003
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