📄 activeperl-changes-56.html
字号:
<?xml version="1.0" ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<!-- saved from url=(0017)http://localhost/ -->
<script language="JavaScript" src="../../displayToc.js"></script>
<script language="JavaScript" src="../../tocParas.js"></script>
<script language="JavaScript" src="../../tocTab.js"></script>
<link rel="stylesheet" type="text/css" href="../../scineplex.css">
<title>ActivePerl 5.6 Change Log</title>
<link rel="stylesheet" href="../../Active.css" type="text/css" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:" />
</head>
<body>
<script>writelinks('__top__',2);</script>
<h1><a>ActivePerl 5.6 Change Log</a></h1>
<p><a name="__index__"></a></p>
<!-- INDEX BEGIN -->
<ul>
<li><a href="#activeperl_5_6_change_log">ActivePerl 5.6 Change Log</a></li>
<ul>
<li><a href="#build_638_thursday__apr_15__2004">Build 638 Thursday, Apr 15, 2004</a></li>
<li><a href="#build_635_thursday__feb_6__2003">Build 635 Thursday, Feb 6, 2003</a></li>
<li><a href="#build_633_monday__june_17__2002">Build 633 Monday, June 17, 2002</a></li>
<li><a href="#build_632_monday__june_3__2002">Build 632 Monday, June 3, 2002</a></li>
<li><a href="#build_631_monday__december_31__2001">Build 631 Monday, December 31, 2001</a></li>
<li><a href="#build_630_wednesday__october_30__2001">Build 630 Wednesday, October 30, 2001</a></li>
<li><a href="#build_629_thursday__august_23__2001">Build 629 Thursday, August 23, 2001</a></li>
<li><a href="#build_628_thursday__july_5__2001">Build 628 Thursday, July 5, 2001</a></li>
<li><a href="#build_626_thursday__may_1__2001">Build 626 Thursday, May 1, 2001</a></li>
<li><a href="#build_623_sunday__december_12__2000">Build 623 Sunday, December 12, 2000</a></li>
<li><a href="#build_622_sunday__november_5__2000">Build 622 Sunday, November 5, 2000</a></li>
<li><a href="#build_620_sunday__october_29__2000">Build 620 Sunday, October 29, 2000</a></li>
<li><a href="#build_618_tuesday__september_12__2000">Build 618 Tuesday, September 12, 2000</a></li>
<li><a href="#build_617_thursday__august_31__2000">Build 617 Thursday, August 31, 2000</a></li>
<li><a href="#build_616_friday__july_14__2000">Build 616 Friday, July 14, 2000</a></li>
<li><a href="#build_615_thursday__june_29__2000">Build 615 Thursday, June 29, 2000</a></li>
<li><a href="#build_613_thursday__march_23__2000">Build 613 Thursday, March 23, 2000</a></li>
<li><a href="#build_612_wednesday__march_22__2000">Build 612 Wednesday, March 22, 2000</a></li>
<li><a href="#build_611_wednesday__march_15__2000">Build 611 Wednesday, March 15, 2000</a></li>
<li><a href="#build_609_wednesday__march_1__2000">Build 609 Wednesday, March 1, 2000</a></li>
<li><a href="#build_607_friday__february_11__2000">Build 607 Friday, February 11, 2000</a></li>
<li><a href="#build_606_friday__february_4__2000">Build 606 Friday, February 4, 2000</a></li>
<li><a href="#build_604_friday__november_26__1999">Build 604 Friday, November 26, 1999</a></li>
<li><a href="#build_603_tuesday__november_23__1999">Build 603 Tuesday, November 23, 1999</a></li>
<li><a href="#build_602_thursday__august_5__1999">Build 602 Thursday, August 5, 1999</a></li>
<li><a href="#build_601_tuesday__july_13__1999">Build 601 Tuesday, July 13, 1999</a></li>
<li><a href="#what_s_new_in_the_600_series">What's new in the 600 Series</a></li>
</ul>
</ul>
<!-- INDEX END -->
<hr />
<p>
</p>
<h1><a name="activeperl_5_6_change_log">ActivePerl 5.6 Change Log</a></h1>
<p>For the latest information on ActivePerl, please see:</p>
<pre>
<a href="http://www.ActiveState.com/ActivePerl/">http://www.ActiveState.com/ActivePerl/</a></pre>
<p>
</p>
<h2><a name="build_638_thursday__apr_15__2004">Build 638 Thursday, Apr 15, 2004</a></h2>
<p><em>PPM2 and PPM3</em></p>
<p>PPM3 has <strong>not</strong> 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.</p>
<p><em>Bug Fixes and Changes</em></p>
<ul>
<li>
<p>On Windows, a potential buffer overrun in the <a href="../../lib/Pod/perlfunc.html#item_stat"><code>stat()</code></a> function has been
fixed.</p>
</li>
<li>
<p>On Windows, a handle leak in <a href="../../lib/Pod/perlfunc.html#item_kill"><code>kill()</code></a> has been fixed.</p>
</li>
<li>
<p>On Windows, a memory leak in <a href="../../lib/Pod/perlfunc.html#item_fork"><code>fork()</code></a> has been fixed.</p>
</li>
<li>
<p>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.</p>
</li>
<li>
<p>On Windows, the four-argument form of <a href="../../lib/Pod/perlfunc.html#item_select"><code>select()</code></a> did not report the
$! (errno) value properly after errors. This has been corrected.</p>
</li>
<li>
<p>Win32::GetOSVersion() returns additional information about the system
(when available, Windows NT SP6 and later).</p>
</li>
<li>
<p>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.</p>
<p>Perl for ISAPI no longer closes filehandles implicitly and relies now
on the application to properly clean up file and socket handle
resources.</p>
</li>
<li>
<p>Perl for ISAPI now avoids closing the special handles STDIN, STDOUT
and STDERR, even if the script asked for that explicitly.</p>
</li>
<li>
<p>The following bundled modules have been updated to their latest
versions:</p>
<pre>
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</pre>
<p>The following modules have been added to ActivePerl:</p>
<pre>
Data-Dump
IO-Zlib
Test-Simple</pre>
</li>
<li>
<p>Other minor bug fixes and documentation updates.</p>
</li>
</ul>
<p>
</p>
<h2><a name="build_635_thursday__feb_6__2003">Build 635 Thursday, Feb 6, 2003</a></h2>
<p><em>Fixes for Security Issues</em></p>
<ul>
<li>
<p>On Linux, the <a href="../../lib/Pod/perlfunc.html#item_crypt"><code>crypt()</code></a> builtin did not return consistent results.
This has been corrected.</p>
</li>
<li>
<p>The <code>reval()</code> and <code>rdo()</code> methods in the Safe module could be subverted
into executing unsafe code by the callee. This problem has been
corrected.</p>
</li>
</ul>
<p><em>Other Bug Fixes and Changes</em></p>
<ul>
<li>
<p>Overloading <code>bool</code> could result in core dumps in some situations.
This has been corrected.</p>
</li>
<li>
<p>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.</p>
</li>
<li>
<p>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.</p>
</li>
<li>
<p>PPM3 includes a number of bug fixes for better handling of both PPM2
and PPM3 repositories.</p>
</li>
<li>
<p>Tk and libwww-perl have been updated to their latest versions.</p>
</li>
<li>
<p>Win32::EventLog could fail to retrieve messages under some circumstances.
This has been corrected.</p>
</li>
<li>
<p>Win32::OLE has been updated. Run "perldoc Win32::OLE::NEWS" for
a summary.</p>
</li>
<li>
<p>Win32::Shortcut no longer calls <code>CoUninitialize()</code> within an END block.
This avoids random coredumps from this module when its DESTROY methods
happen to get called after the END block executes.</p>
</li>
<li>
<p>Win32::Job now propagates environment changes to its subprocesses
correctly.</p>
</li>
<li>
<p>A Win32::GetFolderPath() builtin is now supported.
Run "perldoc Win32" for documentation on this new builtin.</p>
</li>
<li>
<p>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.</p>
</li>
<li>
<p>Other minor bug fixes and documentation updates.</p>
</li>
<li>
<p>Build 634 was not formally released to the public.</p>
</li>
</ul>
<p>
</p>
<h2><a name="build_633_monday__june_17__2002">Build 633 Monday, June 17, 2002</a></h2>
<p><em>Bug Fixes and Changes</em></p>
<ul>
<li>
<p>The PPM3 release included in Build 632 had a bug in the package upgrade
functionality. This has been corrected in PPM v3.0.1.</p>
</li>
<li>
<p>Some modules that autoloaded their constants could reset $! during
autoloading. Such locations now properly localize $! before potentially
modifying it.</p>
</li>
<li>
<p>IO::Pipe now works on Windows.</p>
</li>
<li>
<p>libwin32 v0.191 is included on Windows.</p>
</li>
</ul>
<p>
</p>
<h2><a name="build_632_monday__june_3__2002">Build 632 Monday, June 3, 2002</a></h2>
<p><em>Fixes for Security Issues</em></p>
<ul>
<li>
<p>Compress-Zlib is now linked with zlib v1.1.4, which fixes a buffer overflow
vulnerability in this library.</p>
</li>
<li>
<p>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.</p>
</li>
</ul>
<p><em>Other Bug Fixes and Changes</em></p>
<ul>
<li>
<p>Redirecting STD* handles with <a href="../../lib/Pod/perlfunc.html#item_open"><code>open(STDOUT, "</code></a>&=FOO")> leaked memory
on all platforms. This leak has been fixed.</p>
</li>
<li>
<p>Race conditions involving backticks, piped <a href="../../lib/Pod/perlfunc.html#item_open"><code>open()</code></a> have been fixed.
These problems could affect environments where multiple Perl interpreters
execute in concurrent threads.</p>
</li>
<li>
<p>Use of the range operator on constant numbers, as for example <code>1..20</code>,
could result in compile-time stricture checks being disabled for parts
of the program. The problem has been corrected.</p>
</li>
<li>
<p>XSUBs can now be undefined using undef().</p>
</li>
<li>
<p>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.</p>
</li>
<li>
<p>On Unix platforms, ActivePerl now uses reentrant versions of library
functions, where available. This further improves thread-safety in
multiple-interpreter environments.</p>
</li>
<li>
<p>Win32::GetLongPathName() did not work correctly if there were "." or
".." components in the argument. The implementation has been improved
to handle this better.</p>
</li>
<li>
<p>On Windows platforms, a Win32::SetChildShowWindow() builtin is now
supported. This can be used to set the visibility of child process
windows. See <a href="../../lib/Win32.html">the Win32 manpage</a> for more information.</p>
</li>
<li>
<p>Newer versions of the following modules are included: Digest-MD5,
MIME-Base64, URI, HTML-Parser, libwww-perl, SOAP-Lite, and libnet.</p>
</li>
<li>
<p>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.</p>
</li>
<li>
<p>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.</p>
</li>
<li>
<p>Documentation for perl programs is now included in the table of contents.</p>
</li>
</ul>
<p>
</p>
<h2><a name="build_631_monday__december_31__2001">Build 631 Monday, December 31, 2001</a></h2>
<p><em>Bug Fixes and Changes</em></p>
<ul>
<li>
<p>ActivePerl 5.6.1.628 introduced a memory leak in <code>eval "..."</code> expressions
that create anonymous subroutines. This has been fixed.</p>
</li>
<li>
<p>On Windows, the behavior of <a href="../../lib/Pod/perlfunc.html#item_system"><code>system(@list)</code></a> 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.</p>
</li>
<li>
<p>Bugs in command.com on Windows 9x/Me prevented the <a href="../../lib/Pod/perlfunc.html#item_system"><code>system()</code></a> enhancements
in ActivePerl 5.6.1.630 from working in some situations. These enhancements
are now disabled under Windows 9x/Me.</p>
</li>
<li>
<p>Perl for ISAPI and PerlScript had a bug in ActivePerl 5.6.1.630 that
caused <a href="../../lib/Pod/perlfunc.html#item_system"><code>system()</code></a> and backticks to leak handles, resulting in failure of
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -