For the latest information on ActivePerl, please see:
http://www.ActiveState.com/ActivePerl/
Build 819 is based on Perl 5.8.8.
Bug Fixes and Changes since build 818
HTML table of contents did not get updated as packages were installed/removed.
libwww-perl package was not properly recorded by PPM.
Term-ReadLine-Perl was missing.
Upgradable packages no longer show packages with equal version number in the PPM GUI.
Build 818 is based on Perl 5.8.8.
Bug Fixes and Changes since build 817
This is the first non-beta release of 64 bit ActivePerl. It is available for Windows and Linux on x64 as well as Solaris on Sparc. The 64 bit Windows release does not include PerlScript, PerlEx, Perl for ISAPI or PerlEz.
The 64 bit releases do not yet contain the Tcl and Tkx modules.
PPM has been rewritten; see Release Notes and the ppm manpage for details.
All bundled modules and scripts are now installed in the perl
area
and the site
area is now completely empty in a new ActivePerl
installation.
Rearranged order of @INC
; modules installed in site
area now
take precedence over the bundled modules.
Simplified directory layout on Unix; no more architecture and version specific directories. This makes the layout the same as the Windows version of ActivePerl.
Term::ReadLine console fix for Windows.
Avoid trying to read C:\dev\urandom at startup on Windows.
The gridRemove
method has been enabled for Tk.pm.
The Win32::OLE module in libwin32 package has been upgraded from version 0.1704 to version 0.1707.
add special support for tlbinf32.dll from Microsoft
add support for receiving VT_RECORD and arrays of VT_RECORD
improve error handling logic
fix memory leak in Win32::OLE::Enum::All() and Win32::OLE::Enum::Next()
in ClearVariantObject()
check IDispatch/IUnknown variants
for NULL before calling Release()
on them
Double quotes are now displayed properly in the HTML documentation.
DynaLoader.o has now been moved into libperl.so on Unix. This makes it easier to embed perl and is the same arrangement as perl on Windows.
Added ActiveState::Browser module to ActiveState-Utils.
Most files of the Perl installation are now readonly on Windows.
Added a workaround for Module::Install brokenness that affected ActivePerl::Config (introduced in build 815). This prevented some modules to install under the CPAN shell.
Added error checks after execing PL_cshname or PL_sh_path.
Many bundled modules have been updated to their latest versions:
Archive-Tar-1.30 CGI 3.20 Compress-Zlib-1.42 HTML-Parser-3.55 HTML-Tree-3.20 Mac-AppleEvents-Simple-1.18 Mac-Carbon-0.77 Mac-Errors-1.12 Mac-Glue-1.27 threads 1.31 threads-shared 1.01 Term-ReadLine-Perl-1.0302
New bundled modules:
DBI-1.52 DBD-SQLite-1.12 Math-BigInt-FastCalc-0.10 Tcl-0.89 Tkx-1.04
Introduce PPM graphical interface and Tkx.
Introduce rearranged order of @INC
and the new PPM command line client.
Build 817 is based on Perl 5.8.8.
Bug Fixes and Changes
Upgraded the core threads and threads::shared modules with threads-1.12 and threads-shared-0.99 from CPAN. This fixes the handle leakage on Windows and allows setting the stack size for new threads. It also fixes both the '!=' comparison operator for thread objects and the crashes while joining threads that go re-introduced in build 816.
Fixed several bugs in the new implementation of alarm()
for Windows.
They did manifest themselves by signals not being delivered, or by GUI
applications randomly hanging.
Restored binary compatibility for SvPV_nolen()
and similar macros.
This incompatibility made it impossible to use perlapp for Unix on Tk
based applications.
Reintroduce PL_memory_wrap for binary compatibility.
The require
builtin now ignores directories matching the given name
when searching @INC.
Build 816 is based on Perl 5.8.8.
Bug Fixes and Changes
Perl 5.8.8 has been incorporated. See perl588delta.pod for a list of changes.
ActivePerl build 816 is now also available as a 64 bit Beta release for Windows and Linux on x86_64 as well as Solaris on Sparc. The 64 bit Windows Beta does not include PerlScript, PerlEx, Perl for ISAPI or PerlEz.
The ActivePerl Community License has been clarified. It now explicitly allows you to redistribute certain parts of ActivePerl as part of applications generated by wrapping tools such as by PAR, PerlApp and Perl2Exe. Please refer to the license text for actual terms and conditions.
ActivePerl for Mac OS X is now a Universal binary that supports all Macintosh hardware natively.
ActivePerl for Solaris is now built with the vendor compiler. Previous releases were built with the GNU compiler (gcc).
ActivePerl::Config
on Solaris and HP-UX now provide compatibility so
that extensions can be built using gcc. This happens automatically if
the vendor compiler is not available on the target system.
ActivePerl now ships with a preinitialized CPAN::Config
module.
This avoids the need to go through the configuration dialog the first
the CPAN shell is invoked. The configuration dialog can still be
invoked by the o conf init
command to the CPAN shell.
Syntax colored documentation and ActiveState::Scineplex is now supported for all the Unix platforms.
Passive transfer mode is now the default for Net::FTP
. This mode
is more likely to work with modern firewall setups.
Problem where 'perl -s' wasn't able to parse -foo=bar switches has been corrected.
The stat()
builtin would not return the expected result when passed a
directory name with trailing slashes on Windows. This problem has
been fixed.
This problem caused the rmtree()
function of the File::Path
module introduced in build 815 to fail for such directory names on
Windows.
The IO::Socket::INET
is now more efficient and it does not rely on
getprotobyname("tcp")
to be functional any more.
A problem where long groups entries could cause memory exhaustion has been fixed.
A problem with the alarm()
function on Windows 2003 has been fixed.
The Tk module would sometimes fail to update the -cursor
attribute
of widgets for 64-bit builds of perl. This problem has now been fixed.
Many bundled modules have been updated to their latest versions:
Digest-SHA-2.11 HTML-Tagset-3.10 HTML-Parser-3.50 HTML-Tree-3.1901 IO-String-1.08 libwww-perl-5.805 Mac-Errors-1.11 Win32-OLE-0.1704
Build 815 is based on Perl 5.8.7.
Bug Fixes and Changes
The PerlEx plugin for IIS has been added to ActivePerl for Windows. It caches precompiled CGI scripts in memory to increase their performance.
The table of contents for the HTML documentation has been reverted back to the format used before build 813 (it no longer requires JavaScript to be enabled).
ExtUtils::MakeMaker now generates and installs HTML documentation automatically. Regardless how modules are being installed (via PPM, through the CPAN shell, or by manual compilation and installation), the HTML documentation is always kept up-to-date.
Code snippets in the HTML documentation are syntax colored. This feature is currently only available on Windows and Mac OS X.
ActiveState::Scineplex has been added on Windows and Mac OS X. This module analyzes source code for various programming languages and is being used to colorize the code snippets in the HTML documentation.
The ActivePerl::Config module has been added. It allows perl's configuration options to be overridden. The module can also automatically reconfigure ActivePerl for alternative compilation environments when the default compiler cannot be found.
On Windows, MakeMaker will use the gcc.exe compiler from MinGW and the dmake.exe utility if the Microsoft Visual C++ compiler cl.exe and the nmake.exe utility are not available on the PATH. This will also work automatically from within the CPAN shell.
The perl-static executable on Unix will now pick up a matching Config.pm (there is no statically linked Perl on Windows).
File::Path's rmtree()
function has been replaced to address
security vulnerability CAN-2005-0448.
Fixed incompatibility problem with Tk and Encode version 2.10 which was introduced in build 813 (perl-5.8.7).
Win32::GetOSName() can now identify Windows Vista.
Various ActiveState::* utility modules have been added.
libwin32 has been updated to version 0.26:
Win32API::File
New GetFileAttributes()
function and corresponding constants.
Added GetFileSize(), getFileSize(), setFilePointer(), and
GetOverlappedResult()
functions. The file position operations can use
Math::BigInt objects.
Experimental new object oriented interface added. This will be moved into a separate module in a later release.
Win32API::Registry
Added DELETE/READ_CONTROL/WRITE_DAC/WRITE_OWNER/SYNCHRONIZE as KEY_*.
Win32::Clipboard
GetBitmap()
should now work correctly with 1 bit, 4 bit, 8 bit,
16 bit, 24 bit, and 32 bit colors.
Win32::Console
Renamed GRAY to LIGHTGRAY and added definitions for the "real" GRAY colors.
Added get_Win32_IPC_HANDLE()
method so that Win32::IPC can wait
on a console handle.
Added SetIcon()
method to change the icon of the window.
Don't export the scalar variables to %main:: but into the callers namespace.
Win32::Process
Added get_Win32_IPC_HANDLE()
method for Win32::IPC compatibility.
Added STILL_ACTIVE constant for GetExitCode().
Win32::Process::Open() now records the process ID correctly
for GetProcessID(). It also creates handle now that can be
used with the Wait()
method.
Win32::Shortcut
The Save()
function now calls Win32::GetLongPathName() on the filename
to make sure to use a fully qualified pathname.
The Save()
will store the new filename as the 'File' property unless
the Shortcut object already has a 'File' property.
Many bundled modules have been updated to their latest versions:
Archive-Tar-1.26 Archive-Zip-1.16 Compress-Zlib-1.41 HTML-Parser-3.46 IO-String-1.07 Mac-Apps-Launch-1.92 Mac-OSA-Simple-1.09 Time-HiRes-1.76 Unicode-String-1.09
Build 814 Beta is based on Perl 5.8.7. This release is provided as a Windows MSI installer only.
Bug Fixes and Changes
Bundled PerlEx, an ISAPI plugin for the IIS web server.
Built in ActivePerl:: module providing version information.
The gedi
program now actually runs. This is a demo program
installed by the Tk
package.
Text-Autoformat module updated to version 1.13.
Build 813 is based on Perl 5.8.7.
Bug Fixes and Changes
ActivePerl is now supported on the Mac OS X, Solaris (x86), and AIX platforms.
New improved HTML documentation which requires JavaScript enabled browser.
Installation of the HTML documentation is now optional.
Perl 5.8.7 has been incorporated. See perl587delta.pod for a list of changes.
ActivePerl will now evaluate 'sitecustomize.pl' at startup if present. The ActivePerl distribution does not ship with this file, but it is a hook that the system administrator can use to set up set up additional site specific @INC entries.
Fixed Net::Ping's ICMP implementation to not give up waiting for the echo reply until it either receives an unreachable reply or times out. Previous versions would for instance give up if they received a source quench reply.
Many bundled modules have been updated to their latest versions:
Archive-Tar-1.23 Compress-Zlib-1.34 Convert-ASN1-0.19 (only for HP-UX) HTML-Parser-3.45 HTML-Tagset-3.04 libwww-perl-5.803 XML-Simple-2.14
New modules
Mac-AppleEvents-Simple-1.17 Mac-Apps-Launch-1.91 Mac-Carbon-0.74 Mac-Errors-1.10 Mac-Glue-1.25 Mac-OSA-Simple-1.08 MLDBM-2.01 (only for Mac OS X) Text-Autoformat-1.12 Text-Reform-1.11 Time-Epoch-0.02 (only for Mac OS X) Unicode-String-2.07
The "Mac-" modules are only present for Mac OS X as well.
The ActiveState-Rx module has been dropped from the distribution.
Build 812 is based on Perl 5.8.6.
Bug Fixes and Changes
On Unix, provide a destructor for libperl. This allows libperl to be repeatedly loaded and unloaded by e.g. mod_perl without running out of thread local storage slots. On Windows this was already handled correctly.
The reloc_perl -a option has been fixed. It is now possible to relocate from a shorter to a longer path.
Build 811 is based on Perl 5.8.6.
Bug Fixes and Changes
Perl 5.8.6 has been incorporated. See perl585delta.pod and the perl586delta manpage for a list of changes.
Fixed stack corruption in the Tk-804.027 module. This would sometimes make Tk programs crash.
Fixed handling of Unicode in XML-DOM-1.43. Some Unicode strings would end up UTF-8 encoded when they should not be. The XML::DOM module is only distributed as part of ActivePerl on HP-UX.
Many bundled modules have been updated to their latest versions:
Archive-Tar-1.22 Data-Dump-1.06 Digst-MD4-1.4 Encode-2.09 HTML-Parser-3.38 IO-Zlib-1.04 libwin32-0.24 (only for Windows) libwww-perl-5.801 libxml-perl-0.08 (only for HP-UX) perl-ldap-0.3202 URI-1.35
In addition, IO::String version 1.06 is now included with ActivePerl.
Build 810 is based on Perl 5.8.4.
Bug Fixes and Changes
Perl 5.8.4 has been incorporated. See the perl584delta manpage for a list of changes.
The default install location on Unix is now /opt/ActivePerl-5.8. Earlier versions installed into /usr/local/ActivePerl-5.8 by default.
Many bundled modules have been updated to their latest versions:
Archive-Tar-1.08 Compress-Zlib-1.33 Data-Dump-1.03 Digest-SHA1-2.10 File-CounterFile-1.04 Font-AFM-1.19 HTML-Parser-3.36 libwww-perl-5.79 MD5-2.03 perl-ldap-0.31 (only for HP-UX)) Tk-804.027 URI-1.30 XML-Simple-2.12 XML-XSLT-0.48 (only for HP-UX))
Build 809 is based on Perl 5.8.3.
Bug Fixes and Changes
Perl 5.8.3 has been incorporated. See the perl583delta manpage for a list of changes.
The Win32 module now includes the Win32::IsAdminUser() function that checks if the current interpreter runs with Administrator privileges.
The access violations of detached threads on thread exit have been fixed.
Time::HiRes now provides high resolution on Windows too.
Build 808 is based on Perl 5.8.2.
Changes
Perl 5.8.2 has been incorporated. See the perl582delta manpage for a list of changes.
ActivePerl build 808 is still being compiled with the
-DNO_HASH_SEED
option to maintain binary compatibility with earlier
releases. Perl 5.8.2 implements a new rehashing scheme that will kick
in dynamically based on the actual data being stored in a hash. This
new scheme is backwards compatible and is enabled in ActivePerl build
808.
The following modules are bundled with ActivePerl for HP-UX and have been updated to their latest versions:
Convert-ASN1-0.18 XML-DOM-1.43 XML-XPath-1.13 XML-XSLT-0.45 perl-ldap-0.30
Build 807 is based on Perl 5.8.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.8.0 and 5.8.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 the perl581delta manpage for a list of the major changes in Perl. Only additional changes specific to ActivePerl are mentioned here.
Bug Fixes and Changes
Perl 5.8.1 has been incorporated. See the perl581delta manpage for a list of changes.
Important note: The new Hash Randomization feature has been disabled in ActivePerl because it is not compatible with Perl 5.8.0. If we enabled this feature then some modules compiled with 5.8.0 would not work correctly with 5.8.1 and most modules compiled with 5.8.1 would not work at all with Perl 5.8.0. This would require maintaining separate PPM module repositories for 5.8.0 and 5.8.1.
To enable the Hash Randomization feature you must recompile
ActivePerl from source and remove the -DNO_HASH_SEED
definition
from the C compiler options. In that case you must compile all CPAN
modules yourself too because the PPM repository binaries will not be
compatible.
Windows 2003 Server is now officially supported. The installer adds entries to the IIS6 "Web Services Extensions" list for both "Perl CGI" and "Perl ISAPI". Both are set to "Prohibited" by default and must be explicitly changed to "Allow" in the IIS Manager.
Win32::GetOSName() detects the release version of Windows 2003 correctly.
ActiveState::Rx module has been included. This module is necessary to use the Rx Toolkit in ActiveState Visual Perl. You must upgrade Visual Perl to version 1.8.1 to use the Rx Toolkit with Perl 5.8.
Many bundled modules have been updated to their latest versions:
Archive-Tar-1.07 Compress-Zlib-1.22 Data-Dump-1.01 Digest-MD2-2.03 Digest-MD5-2.30 Digest-SHA1-2.06 File-CounterFile-1.01 HTML-Parser-3.34 HTML-Tree-3.18 URI-1.27 XML-Parser-2.34 XML-Simple-2.09 libwin32-0.21 libwww-perl-5.75
In addition, IO::Zlib version 1.01 is now included with ActivePerl.
PPM
The upgrade command has been fixed.
It is now possible to install from a file URL while not being connected to the Internet.
PPM now works on Windows even when the Term::InKey module is installed.
Perl for ISAPI
Perl for ISAPI no longer uses line buffering for STDOUT. This is especially important for running under IIS6 which bypasses TCP/IP nagling and directly sends every packet individually.
Perl for ISAPI used to close all open file handles before shutting down the Perl interpreter. The intention was to prevent file handle leaks from buggy Perl scripts while running inside the IIS process. Unfortunately Perl may still execute END blocks or call DESTROY methods during final destruction and some file handles may get closed twice in this scenario.
This creates a race condition: the file handle may already have been re-opened by a different thread before the second close happens. Perl then closes a file handle it doesn't own anymore. This may cause a different page request to fail.
To avoid this race condition Perl for ISAPI will no longer try to automatically close open file handles. Therefore it is possible that broken Perl applications will now start leaking file handles if they don't close them correctly themselves.
Bug Fixes and Changes
Several bug fixes and other improvements have been merged from the Perl development track. In particular, many of these fixes address problems in the PerlIO implementation. See the ActivePerl source code diff for the complete list of included changes.
Other minor bug fixes and documentation updates.
PPM
PPM has been upgraded to version 3.1. It fixes most of the known problems, including:
PPM 3.1 now provides all the functionality of PPM 2.0 and 3.0. PPM 2.0 is therefore no longer included in ActivePerl 5.8.
PPM now works correctly through a proxy server requiring basic authentication. Previous versions of PPM 3.0 only supported proxy servers that did not require authentication.
PPM is now more robust in handling user-defined repository URLs. For instance, URLs with a trailing slash no longer result in fatal errors.
Support for ASPN Perl profiles has been much improved. However, at the time of this writing, the ActivePerl 5.8 repositories do not yet support profiles. This is expected to become available shortly.
In previous versions of PPM 3, incorrect search results from the repository (such as package names that do not have corresponding PPD files) could crash the PPM3 client. PPM now generates meaningful error messages under these circumstances.
Bug Fixes and Changes
Several bug fixes and other improvements have been merged from the Perl development track. In particular, many of these fixes address weaknesses in Unicode support. See the ActivePerl source code diff for the complete list of included changes.
Bugs in the Perl 5.8 integration of Perl for ISAPI and PerlScript that resulted in failure to flush output correctly at the termination of the script have been fixed.
On Windows, system()
and backticks could return invalid status when
running under environments where the process has to handle Windows
messages. PerlScript and Perl for ISAPI fall under this category.
The problem has been corrected.
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.
Tk and libwww-perl has been updated to their latest versions.
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.
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.
What's new in the 800 Series
This build corresponds to the Perl 5.8.0 source code release.
The 800 series builds of ActivePerl are not binary compatible with builds in the 500 or 600 series. Any extensions built using binaries from the ActivePerl 500 or 600 series will need to be recompiled. Note especially that this applies to PPM packages that may have been built for 500 or 600 series builds.
Significant changes that have occurred in the 5.8.0 release are documented in the perl58delta manpage.
Support has been enabled for large file access on all platforms, meaning that file manipulation facilities within perl can cope with files larger than 2GB or 4GB.
Many new modules are included as a standard part of perl 5.8.0. See "Modules and Pragmata" in the perl58delta manpage for a detailed list. In addition, the Data::Dump module is now included with ActivePerl. Many other modules have been updated to their latest versions.
PPM v3 is now included as the default ppm
executable. PPM v2
continues to be available, and can be executed as ppm2
.