home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2004 November
/
PCWorld_2004-11_cd.bin
/
software
/
topware
/
activeperl
/
ActivePerl-5.8.4.810-MSWin32-x86.exe
/
ActivePerl-5.8.4.810
/
CHANGES56.txt
next >
Wrap
Text File
|
2004-06-01
|
33KB
|
779 lines
ActivePerl 5.6 Change Log
For the latest information on ActivePerl, please see:
http://www.ActiveState.com/ActivePerl/
Build 638 Thursday, Apr 15, 2004
*PPM2 and PPM3*
PPM3 has not been updated to the latest version PPM 3.1 as shipped with
the ActivePerl 5.8 series. PPM 3.1 assumes that PPM 2.x is no longer
installed and doesn't synchronize package information with it. Since
PPM2 is the default PPM version in ActivePerl 5.6, PPM3 has been kept at
version 3.0.
*Bug Fixes and Changes*
* On Windows, a potential buffer overrun in the stat() function
has been fixed.
* On Windows, a handle leak in kill() has been fixed.
* On Windows, a memory leak in fork() has been fixed.
* On Windows NT and later, subprocesses are now started via "cmd
/x/d/c" instead of "cmd /x/c". This disables execution of
AutoRun command specified in the registry.
* On Windows, the four-argument form of select() did not report
the $! (errno) value properly after errors. This has been
corrected.
* Win32::GetOSVersion() returns additional information about the
system (when available, Windows NT SP6 and later).
* Perl for ISAPI would sometimes close a filehandle twice. This
leads to a race condition where another thread could have reused
the filehandle before the second close would be executed. This
usually happens in high load scenarios. Typical symptoms include
error messages that Perl could not load standard modules, even
though they are installed on the server.
Perl for ISAPI no longer closes filehandles implicitly and
relies now on the application to properly clean up file and
socket handle resources.
* Perl for ISAPI now avoids closing the special handles STDIN,
STDOUT and STDERR, even if the script asked for that explicitly.
* The following bundled modules have been updated to their latest
versions:
Archive-Tar
Compress-Zlib
Digest
Digest-MD2
Digest-MD5
Digest-SHA1
File-CounterFile
HTML-Parser
HTML-Tree
libnet
libwin32
libwww-perl
MD5
MIME-Base64
Storable
Test-Harness
URI
The following modules have been added to ActivePerl:
Data-Dump
IO-Zlib
Test-Simple
* Other minor bug fixes and documentation updates.
Build 635 Thursday, Feb 6, 2003
*Fixes for Security Issues*
* On Linux, the crypt() builtin did not return consistent results.
This has been corrected.
* The reval() and rdo() methods in the Safe module could be
subverted into executing unsafe code by the callee. This problem
has been corrected.
*Other Bug Fixes and Changes*
* Overloading "bool" could result in core dumps in some
situations. This has been corrected.
* On Windows, sockets opened by code running under PerlScript and
Perl for ISAPI were not fully closed internally. The ensuing
leak resulted in failure to open files or sockets after a
certain number of sockets had been opened and closed under these
environments. This problem was particularly severe when running
under ActivePerl 5.6.1.632 or 5.6.1.633, and is now fixed.
* On Windows, PerlScript and Perl for ISAPI were affected by a
reentrancy problem, which meant that recursive invocation of
these two engines could fail. This problem has been corrected.
* PPM3 includes a number of bug fixes for better handling of both
PPM2 and PPM3 repositories.
* Tk and libwww-perl have been updated to their latest versions.
* Win32::EventLog could fail to retrieve messages under some
circumstances. This has been corrected.
* Win32::OLE has been updated. Run "perldoc Win32::OLE::NEWS" for
a summary.
* Win32::Shortcut no longer calls CoUninitialize() within an END
block. This avoids random coredumps from this module when its
DESTROY methods happen to get called after the END block
executes.
* Win32::Job now propagates environment changes to its
subprocesses correctly.
* A Win32::GetFolderPath() builtin is now supported. Run "perldoc
Win32" for documentation on this new builtin.
* PPM v2 and v3 can now optionally generate HTML documentation
when installing packages if POD documentation is found in the
package. This is controlled by the rebuildhtml option in PPM v2
and the rebuild-html option in PPM v3.
* Other minor bug fixes and documentation updates.
* Build 634 was not formally released to the public.
Build 633 Monday, June 17, 2002
*Bug Fixes and Changes*
* The PPM3 release included in Build 632 had a bug in the package
upgrade functionality. This has been corrected in PPM v3.0.1.
* Some modules that autoloaded their constants could reset $!
during autoloading. Such locations now properly localize $!
before potentially modifying it.
* IO::Pipe now works on Windows.
* libwin32 v0.191 is included on Windows.
Build 632 Monday, June 3, 2002
*Fixes for Security Issues*
* Compress-Zlib is now linked with zlib v1.1.4, which fixes a
buffer overflow vulnerability in this library.
* The version of SOAP-Lite included in ActivePerl 5.6.1.631 and
earlier allowed untrusted data to call any subroutine that is
defined in the program that loads SOAP::Lite, or in any modules
used by the program. SOAP-Lite v0.55, included in this release
of ActivePerl, contains a fix for this issue.
*Other Bug Fixes and Changes*
* Redirecting STD* handles with "open(STDOUT, ""&=FOO")> leaked
memory on all platforms. This leak has been fixed.
* Race conditions involving backticks, piped open() have been
fixed. These problems could affect environments where multiple
Perl interpreters execute in concurrent threads.
* Use of the range operator on constant numbers, as for example
1..20, could result in compile-time stricture checks being
disabled for parts of the program. The problem has been
corrected.
* XSUBs can now be undefined using undef().
* On Unix platforms, %ENV and %SIG handling could result in race
conditions. Changes to %ENV and %SIG are now only propagated to
the underlying system process context within the top level
interpreter.
* On Unix platforms, ActivePerl now uses reentrant versions of
library functions, where available. This further improves
thread-safety in multiple-interpreter environments.
* Win32::GetLongPathName() did not work correctly if there were
"." or ".." components in the argument. The implementation has
been improved to handle this better.
* On Windows platforms, a Win32::SetChildShowWindow() builtin is
now supported. This can be used to set the visibility of child
process windows. See Win32 for more information.
* Newer versions of the following modules are included:
Digest-MD5, MIME-Base64, URI, HTML-Parser, libwww-perl,
SOAP-Lite, and libnet.
* libwin32 has been updated on Windows platforms. There is support
for job objects (available in Windows 2000 and XP) through the
new Win32::Job extension, which can be used to manage a group of
processes.
* On Windows platforms, the installer ensures that the Microsoft
Installer automatic repair "feature" will not be triggered. This
ensures that the repair "feature" does not corrupt the
ActivePerl installation by "repairing" critical files to their
unrelocated state.
* Documentation for perl programs is now included in the table of
contents.
Build 631 Monday, December 31, 2001
*Bug Fixes and Changes*
* ActivePerl 5.6.1.628 introduced a memory leak in "eval "...""
expressions that create anonymous subroutines. This has been
fixed.
* On Windows, the behavior of system(@list) has been further
rationalized to improve compatibility with the behavior before
5.6.1.630. Automatic quoting of arguments with whitespace is now
skipped if the argument already contains double quotes anywhere
within it. Previously, the double quotes needed to be at both
ends in order for further quoting to be skipped.
* Bugs in command.com on Windows 9x/Me prevented the system()
enhancements in ActivePerl 5.6.1.630 from working in some
situations. These enhancements are now disabled under Windows
9x/Me.
* Perl for ISAPI and PerlScript had a bug in ActivePerl 5.6.1.630
that caused system() and backticks to leak handles, resulting in
failure of these functions after a certain number of
invocations. This has been corrected.
* ActivePerl 5.6.1.629 and later had a problem in Perl for ISAPI
that caused %ENV modifications done by the script to affect the
real environment, resulting in incompatible behavior of scripts
that assumed the older behavior. The behavior before 5.6.1.629
has been reinstated.
* On Windows, the internal memory allocator used by Perl could
fail after around 1 GB of allocations even though more memory
may be available on the system. Allocating up to and beyond 2GB
is now possible if the system has memory available and allows a
single process to allocate that amount of memory. Note that most
Windows systems running on x86 have a 2GB limit on allocations
by a single process.
* Non-blocking waitpid() on any process (a.k.a. waitpid(-1,
WNOHANG)) is now supported on Windows.
* Due to popular demand, the following modules are now included by
default: Storable, Tk, and XML-Simple.
* PPM v3 beta 3 is included. A number of bugs in beta 2 have been
fixed. Installing from URLs (http, ftp, and file) and installing
through a HTTP proxy server are now supported.
* Compress-Zlib and MIME-Base64 have been updated to their latest
versions.
* Due to popular demand, HTML documentation has been reintroduced
into the default installation for Windows.
* Various other minor bugs have been fixed. See the ActivePerl bug
database at http://bugs.ActiveState.com/ for more information.
Build 630 Wednesday, October 30, 2001
*Bug Fixes and Changes*
* PPM v3 beta 2 is included. This version of PPM is a complete
rewrite, and comes with many new features and improvements,
including support for managing installation profiles through the
ASPN web site.
* Many of the standard extensions supplied with Perl have been
audited for the use of C "static" variables and fixed to avoid
such uses, making these extensions safe to use in multi-threaded
environments such as PerlEx and PerlMx Enterprise. The list
includes B, DynaLoader, File::Glob, DB_File, Opcode, and re.
* The readline() (aka "diamond") operator now works on "our"
variables.
* On Windows, system() and backticks behave more sanely with
respect to whitespace in arguments. Any whitespace inside quoted
arguments are correctly preserved. system() with multiple
arguments also automatically quotes any arguments that contain
whitespace by enclosing them in double-quotes, as necessary.
This improves portability of the standard idiom of calling
system() with multiple arguments.
* On Windows, IO::File::new_tmpfile() does not fail after 32767
calls
* On Windows, entries in %ENV were sometimes being improperly
propagated to child processes if such entries happened to be at
the end of the internal process environment table. This
misbehavior has been corrected.
* PerlScript and Perl for ISAPI ignore the \\?\ prefix in
new-fangled file names returned by IIS in Windows XP.
* In scripts running under PerlScript or Perl for ISAPI, print()
with more than one argument did not print the second and
subsequent arguments. This has been fixed.
* The style and content of the included online documentation has
been extensively revised. On Windows, all the documentation is
now provided in fully searchable HTML Help format. Documentation
in conventional HTML format continues to be included only for
Unix platforms, and can also be downloaded separately.
* Some of the bundled modules have been updated to their latest
available versions: libwin32 v0.18, URI v1.17, and SOAP-Lite
v0.51 are now included.
Build 629 Thursday, August 23, 2001
*Bug Fixes and Changes*
* Perl now uses the reentrant versions of time functions
localtime_r(), gmtime_r(), and asctime_r() on Unix platforms,
making the corresponding builtins and POSIX::asctime()
thread-safe.
* On Windows, child processes launched with Win32::Spawn() now
correctly inherit any modifications to %ENV done by the script.
* On Windows, modifications to $ENV{PATH} in the script correctly
affect the lookup of executables in system() and backticks.
Previous versions did not propagate %ENV modifications
completely enough for the underlying CreateProcess() system call
to notice any changes.
* A small number of minor bug fixes from the Perl development
track have been incorporated. See the ActivePerl source code
diff for the complete list.
* Compress-Zlib has been updated to v1.13.
* libwin32 v0.173 is included.
Build 628 Thursday, July 5, 2001
*Bug Fixes and Changes*
* A few bug fixes from the Perl development track have been
incorporated. See the ActivePerl source code diff for the
complete list.
* ActivePerl on Solaris does not use Perl's malloc by default.
Sufficient compatibility stubs are included such that binary
compatibility with previous builds will not be affected.
* HTML-Parser has been updated to v3.25.
* The included HTML documentation has many substantive and
cosmetic improvements.
* Build 627 was not formally released to the public.
Build 626 Thursday, May 1, 2001
Build 626 is based on Perl 5.6.1. This is the first release of
ActivePerl based on this new maintenance release of Perl. This release
is meant for use in production systems. However, owing to the sheer
volume of changes between Perl 5.6.0 and 5.6.1 that have been
incorporated, please be sure to test it thoroughly in a non-critical
environment before you upgrade your production systems.
Please check perl561delta for a list of the major changes in Perl. Only
additional changes specific to ActivePerl are mentioned here.
*Bug Fixes and Changes*
* Perl 5.6.1 has been incorporated. See perl561delta for a list of
changes.
* The Solaris pkgadd and Red Hat RPM packages are now relocatable.
See the release notes for how to install them to a location
other than the default one.
* The following new modules have been included: HTML-Tagset v3.03
* The following modules have been updated to newer versions:
SOAP-Lite, HTML-Parser v3.19, HTML-Tree v3.11, URI v1.11,
libwww-perl v5.51.
For additional information on module updates in Perl 5.6.1, see
perl561delta.
* A number of fixes to PPM have been included. PPM now displays a
download status indicator, and sports a "getconfig" command.
* A large number of documentation updates are included.
Build 623 Sunday, December 12, 2000
*Bug Fixes and Changes*
* *Windows 95, Windows 98 and Windows Me Installation*
Installer now adds Perl/bin directory to the PATH environment
variable for Windows 9x. Windows 9x will need to be rebooted for
this to take effect.
The PATH settings are not removed after an uninstallation.
* PPM updated to 2.1.2. It now uses SOAP-Lite and has drastically
reduced bandwidth requirements for SUMMARY requests. This is a
prerequisite for supporting the new PPM repository containing
most of CPAN.
* OLE Browser has been fixed to work on IE 5.5.
* minor bug fixes to fork() emulation and duplication of socket
handles on Windows 9X.
Build 622 Sunday, November 5, 2000
*Bug Fixes and Changes*
* Custom build for ActivePerl CDROM
* MSI installer addes the CDROM repository to the ppm.xml file
(Windows only)
Build 620 Sunday, October 29, 2000
*Bug Fixes and Changes*
* bug fixes in environment setup for backticks and system()
*PerlScript*
* works now with IIS5. Previously ASP would sometimes return an
empty page when the page was accessed simultaneously from
multiple clients.
* supports OLE objects as parameters (VT_DISPATCH)
* various namespace / package setup problems fixed
* STDIN/STDOUT/STDERR are now available when run under WSH
* JScript and VBScript functions can be called directly (on ASP
pages)
*Documentation*
* Commandline parameters for MSI installer documented
(installation notes)
* Win32 builtin documentation moved from Pod to Modules
*Modules*
* CGI.pm updated to 2.74
* Win32API::Net updated to version 0.09
Build 618 Tuesday, September 12, 2000
*Bug Fixes and Changes*
* Bug fixes imported from the Perl development track. See the
following file for the detailed log:
http://www.ActiveState.com/download/ActivePerl/src/5.6/AP618_diff.txt
Individual patches for each of these changes may also be
obtained. See perlhack.
* Perl's "newSVrv()" API function could result in corrupt data
when coercing an already initialized value to the right type,
and could also lead to memory leaks. Win32::OLE v0.14 tickled
these bugs. "newSVrv()" has been fixed to resolve these issues.
* Perl's optimizer could coredump on stacked assignments involving
"split()", such as "@a = @b = split(...)". This is now fixed.
* Windows sockets weren't being initialized correctly in child
threads if the parent already initialized it. This resulted in
"print()" on a socket created under such conditions not being
handled correctly (whereas "send()" would do the right thing).
The problem has been fixed.
* Win32::OLE v0.14 had a bug that could cause strings longer than
256 characters to be truncated by a single character. This has
been corrected.
Build 617 Thursday, August 31, 2000
*Bug Fixes and Changes*
* Bug fixes imported from the Perl development track. See the
following file for the detailed log:
http://www.ActiveState.com/download/ActivePerl/src/5.6/AP617_diff.txt
Individual patches for each of these changes may also be
obtained. See perlhack.
* Problems with backticks not returning a proper return code under
Windows 9x have been fixed. Linux, Solaris and Windows NT/2000
weren't affected.
* "wait()" and "waitpid()" now return the correct pid values for
pseudo-pids on Windows.
* New entries added to the end of the environment via %ENV did not
get inherited by child processes on Windows. This has been
corrected.
* Build 616 introduced a change that could make "close(SOCKET)"
return a bogus return value. This has been corrected.
* Various minor PerlScript incompatibilities under Internet
Explorer 5.5 on Windows have been corrected.
* Perl for ISAPI and PerlScript do not add entries to the EventLog
by default.
* libnet v1.06 is now included with ActivePerl. To configure the
site-specific defaults for libnet, run
"$Config{installprefix}/bin/libnetcfg.pl".
* Digest-MD5 v2.11 is now included with ActivePerl.
* Several bundled extensions have been upgraded to newer versions.
URI v1.09, libwww-perl v5.48, Compress-Zlib v1.08 and libwin32
v0.17 are now included.
* The included HTML documentation has been improved and updated to
be current with the latest modules.
* The HtmlHelp.pm module is no longer included with ActivePerl. If
you want this module, please obtain it from a release prior to
ActivePerl 617.
Build 616 Friday, July 14, 2000
*Bug Fixes and Changes*
* Bug fixes imported from the Perl development track. See the
following file for the detailed log:
http://www.ActiveState.com/download/ActivePerl/src/5.6/AP616_diff.txt
Individual patches for each of these changes may also be
obtained. See perlhack.
* A bug in Win32::OLE that prevented PerlScript from working
properly has been fixed.
* On Windows, a small memory leak in the accept() builtin function
has been fixed.
* On Windows, creating sockets in pseudo-child processes did not
work because Winsock was not initialized in the pseudo-process.
This has been rectified.
Build 615 Thursday, June 29, 2000
*Bug Fixes and Changes*
* Bug fixes imported from the Perl development track. See the
following file for the detailed log:
http://www.ActiveState.com/download/ActivePerl/src/5.6/AP615_diff.txt
Individual patches for each of these changes may also be
obtained. See perlhack.
* On Unix platforms, ActivePerl is now built with the
"-Duseithreads" Configure option, just as on Windows. While this
provides a functionally identical perl, it also makes this build
binary incompatible with earlier builds on Unix platforms. If
you had installed any extensions (i.e. modules with XS code)
using earlier builds via PPM or otherwise, you will need to
reinstall them under this build. Future builds will maintain
binary compatibility with this one.
On Windows, this build continues to be binary compatible with
build 613.
* The installation location for the native installations on Unix
(Red Hat RPM, Debian dpkg, or Solaris pkgadd) have changed.
These packages will now be installed under
/usr/local/ActivePerl-5.6/ rather than under
/usr/local/perl-5.6. This one-time change avoids confusion with
locally installed versions built from the sources, and also
avoids installing on top of existing binary-incompatible build
613 installations.
The installation location can be chosen as usual on Windows, and
when installing using the generic installers on Unix.
* On Windows, chdir() could sometimes fail to return failure when
given a non-existent directory, and UNC paths didn't work
correctly. These problems have been corrected.
* The "libwin32" v0.16 release from CPAN is included for the
Windows builds.
* Various small PPM bugs have been fixed.
* A bug in PerlScript that prevented it from working under IIS5 on
Windows 2000 has been fixed.
Build 613 Thursday, March 23, 2000
*Bug Fixes and Changes*
* This build corresponds to the Perl 5.6.0 source code release.
* This package contains some files that were missing in build 612.
Build 612 Wednesday, March 22, 2000
*Bug Fixes and Changes*
* This build corresponds to the Perl 5.6.0 source code release.
* This build incorporates mostly minor bug fixes between 5.6.0
release candidate 2 and the final 5.6.0 source code release. See
perl56delta for a detailed summary of changes between 5.005 and
5.6.0.
Build 611 Wednesday, March 15, 2000
*Bug Fixes and Changes*
* This build corresponds to the Perl 5.6.0 release candidate 2
sources.
* binmode() now supports a second optional argument that can be
used to switch a file handle to ":crlf" or ":raw" mode. (These
correspond to the traditional text and binary modes.) See
"binmode" in perlfunc.
* The new "open" pragma can be used to set the default mode for
implicitly opened handles in the current lexical scope. This is
useful to set a particular mode for the results of the qx//
operator. See open.
* The bundled ActivePerl documentation has been reorganized.
Outdated material has either been reworked to reflect the
current status, or removed when it was no longer applicable.
* Many bugs in the beta releases have been fixed.
Build 609 Wednesday, March 1, 2000
*Bug Fixes and Changes*
* This build corresponds to the public Perl 5.6 beta 3 release,
otherwise known as v5.5.670.
* The Windows version of the installer now supports installing
into paths that contain spaces.
* Linux and Solaris install packages that allow non-privileged
users to install anywhere are supported. The system-specific
packaging formats that typically require root privileges
continue to be available.
* Support for kill(0,$pid) on Windows to test if process exists.
* There is a new tutorial on Object Oriented Perl for beginners.
See `perlboot'.
* The PPM repository has been updated with newer versions of
modules for all supported platforms.
Build 607 Friday, February 11, 2000
*Bug Fixes and Changes*
* This build corresponds to the public Perl 5.6 beta 1 release,
otherwise known as v5.5.650.
* Several bugs in the Unicode support have been fixed.
* Support for Unicode has changed from previous development
versions. See perlunicode for details.
* There is a new -C command-line switch to request that system
calls use the wide-character APIs. This can also be used in the
shebang line.
* The byte pragma can be used to force byte-semantics on Perl
operations. When not used, character semantics apply if the data
is Unicode; otherwise, byte semantics are used.
Build 606 Friday, February 4, 2000
*Bug Fixes and Changes*
* PPM can communicate with the package repository via SOAP.
Currently PPM's and SOAP's integration is somewhat limited;
however, it serves as proof of concept.
* New modules included with the distribution are:
- SOAP
- File::CounterFile
- Font::AFM
* Support for Unicode has changed from previous versions. See
perlunicode for details.
Build 604 Friday, November 26, 1999
*Bug Fixes and Changes*
* A few bugs in the fork() emulation have been fixed. perlfork
reflects these changes.
Build 603 Tuesday, November 23, 1999
*Bug Fixes and Changes*
* NOTE:Build 603 is not binary compatible with earlier builds. If
you have compiled your own extensions with earlier builds, you
will need to recompile all of them.
* Build 603 corresponds to Perl 5.005_62. Additional patches
available since 5.005_62 in the public Perl repository have been
incorporated.
* Preliminary support for fork() is included. See perlfork for
details about this functionality.
* Documentation in fully searchable HTMLHelp format is included.
* Many of the included extensions from CPAN have been updated to
newer versions.
* A large number of minor bugs in the Perl core have been fixed.
See the Changes file in the included sources for a detailed
list.
Build 602 Thursday, August 5, 1999
*Bug Fixes and Changes*
* Build 602 corresponds to Perl 5.005_60. Additional patches
available since 5.005_60 in the public Perl repository have been
incorporated.
* A number of pre-built extensions from CPAN are included in this
release. These may be installed using PPM or VPM (both of which
are included).
Build 601 Tuesday, July 13, 1999
*Bug Fixes and Changes*
* Build 601 corresponds to Perl 5.005_57. Additional patches
available since 5.005_57 in the public Perl repository have been
incorporated.
* This build features a major reworking of the API exposed by the
PERL_OBJECT build option. The result is a well-defined Perl API
(restricted to C syntax) that provides very high degree of
compatibility for extensions available from CPAN.
* Perl for ISAPI, PerlScript, PerlEz and PerlMsg have been
modified to use the new PERL_OBJECT API.
* Visual Package Manager (VPM) is now available. VPM can be used
to install pre-built binaries from a package repository. One
such is available at
http://www.activestate.com/packages/perl5_6/.
What's new in the 600 Series
*Major Changes*
* This series is built around development versions of Perl 5.006.
Build 600 corresponds to Perl 5.005_57.
* Significant changes that have occurred in the 5.006 development
track are documented in perldelta.
* Build 600 includes additional changes for supporting
globalization. All Win32 API calls made by Perl now follow the
utf8 mode of the interpreter. Wide versions of the API calls are
made when utf8 is in effect. See utf8 for more information on
enabling support for Unicode.
* The 600 series is not binary compatible with builds in the 500
series. Any extensions built using binaries from the ActivePerl
500 series will need to be recompiled. Note especially that this
applies to PPDs that may have been built for 500 series builds.