ActivePerl 5.8 Change Log
    For the latest information on ActivePerl, please see:

        http://www.ActiveState.com/ActivePerl/

  Build 828 December 8, 2010
    Build 828 is based on Perl 5.8.9 plus additional selected changes from
    the Perl development branch.

    *Bug Fixes and Changes since build 827*

    *  DBD::Pg has been added for all platforms. Works out-of-the box, as
       all required additional libraries are statically linked into the
       module.

    *  Most bundled modules have been updated to their latest released
       version from CPAN. Use the "ppm query" command to check the exact
       version included in this release.

  Build 827 February 2, 2010
    Build 827 is based on Perl 5.8.9 plus additional selected changes from
    the Perl development branch.

    *Bug Fixes and Changes since build 826*

    *  On Mac OS X 10.6 (Snow Leopard) it is now possible to build Perl
       extensions containing XS code.

    *  On Windows the -t operator now only returns a true value if the
       filehandle is really connected to a console. In earlier releases it
       would return a true value for any kind of character device,
       including the NUL device.

    *  The new ap-iis-config utility can be used to configure IIS for use
       with ActivePerl. It works for all supported Windows versions and
       their corresponding IIS releases, including Windows Vista, Windows
       Server 2008, and Windows 7.

       This tool is also used by the Windows installer to automatically
       configure IIS during installation if requested by the installer
       settings.

    *  PPM is now capable of downloading modules from *ActivePerl Business
       Edition* repositories. You can find more information about
       *ActivePerl Business Edition* at
       http://www.activestate.com/business_edition

    *  Most bundled modules have been updated to their latest released
       version from CPAN. Use the "ppm query" command to check the exact
       version included in this release.

  Build 826 May 26, 2009
    Build 826 is based on Perl 5.8.9 plus additional selected changes from
    the Perl development branch.

    *Bug Fixes and Changes since build 825*

    *  The following security vulnerabilities in the Crypt::SSLeay module
       were addressed in this release by upgrading the OpenSSL libraries
       to version 0.9.8k:

       CVE-2009-0590 (ASN1 printing crash)
           The function ASN1_STRING_print_ex() when used to print a
           BMPString or UniversalString will crash with an invalid memory
           access if the encoded length of the string is illegal.

           Any OpenSSL application which prints out the contents of a
           certificate could be affected by this bug, including SSL
           servers, clients and S/MIME software.

       CVE-2009-0789 (Invalid ASN1 clearing check)
           When a malformed ASN1 structure is received it's contents are
           freed up and zeroed and an error condition returned. On 64-bit
           Windows this can cause an invalid memory access later resulting
           in a crash when some invalid structures are read, for example
           RSA public keys.

           Any OpenSSL application on 64-bit Windows which uses the public
           key of an untrusted certificate could be crashed by a malformed
           structure. Including SSL servers, clients, CA and S/MIME
           software.

       CVE-2008-5077 (Incorrect checks for malformed signatures)
           Several functions inside OpenSSL incorrectly checked the result
           after calling the EVP_VerifyFinal function, allowing a
           malformed signature to be treated as a good signature rather
           than as an error. This issue affected the signature checks on
           DSA and ECDSA keys used with SSL/TLS.

           One way to exploit this flaw would be for a remote attacker who
           is in control of a malicious server or who can use a 'man in
           the middle' attack to present a malformed SSL/TLS signature
           from a certificate chain to a vulnerable client, bypassing
           validation.

    *  PerlEx no longer sets the MOD_PERL environment variable (the change
       from build 825 has been reverted), as it has undesirable
       side-effects.

    *  The "-p" function used to always return a false value on Windows.
       It now correctly detects if the filehandle argument is a pipe or
       not. Also the Fcntl::S_IFIFO constant is now defined.

    *  A potential buffer overflow in Perl for ISAPI has been fixed.
       Whenever Perl for ISAPI wrote an error message to the log file it
       would potentially write beyond the end of a heap buffer.

    *  The following modules have been added to ActivePerl:

           Compress-Raw-Bzip2   2.019

    *  The following bundled modules have been updated to their latest
       versions:

           ActivePerl-PPM      4.4       4.5
           ActiveState-Utils   2.5       2.6
           Archive-Tar         1.40-r1   1.48-r1
           CGI                 3.42      3.43
           Class-Accessor      0.31      0.33
           Compress-Raw-Zlib   2.015     2.019
           DBD-SQLite          1.13-r1   1.25
           Data-Dump           1.12      1.14
           File-HomeDir        0.82      0.86
           HTML-Parser         3.59      3.60
           IO-Compress         2.015     2.019
           JSON                2.12      2.14
           JSON-XS             2.23      2.232
           LWP                 5.822     5.826
           Math-Complex        1.54      1.56
           Module-Build        0.30      0.33
           Package-Constants   0.01      0.02
           Text-Autoformat     1.13      1.666
           Text-CSV_XS         0.58      0.64
           Time-Piece          1.13      1.14
           Tkx                 1.05      1.07
           WWW-Mechanize       1.52-r1   1.54-r1
           Win32               0.38      0.39
           Win32-API           0.57      0.58
           YAML-LibYAML        0.29      0.32
           threads             1.71      1.72
           threads-shared      1.26      1.28

  Build 825 December 16, 2008
    Build 825 is based on Perl 5.8.9 plus additional selected changes from
    the Perl development branch.

    *Bug Fixes and Changes since build 824*

    *  Perl 5.8.9 has been incorporated. See perl589delta.pod for a
       comprehensive list of core Perl changes since build 5.8.8.816.

    *  PPM v4.4 is now included. This release fixes an infinite recursion
       problem in the 'ppm tree' command for packages that declared
       circular dependencies, and it fixes the problem that caused
       installing packages from .ppmx files in other directories to fail.

       This release also include tweaks to the heuristics for when to
       check for updates to repository data. PPM should no longer check
       the same repo more than once each day.

       The ppm command creates a log of the actions it takes. On Unix ppm
       used to write the log file to the home directory of the user. This
       release move the ppm4.log file into the ~/Libraray/Logs directory
       on Mac OS X and into the ~/.ActivePerl directory for the rest. On
       Windows the log file goes into the temp directory as before.

    *  PerlEx now sets the MOD_PERL environment variable (to "PerlEx/3.0")
       so that modules that behave differently under mod_perl will behave
       the same way under PerlEx (e.g. CGI::Carp).

    *  The following modules have been added to ActivePerl:

           Package-Constants 0.1

    *  The following bundled modules have been updated to their latest
       versions:

           Archive-Tar       1.38-r1    1.40-r1
           Archive-Zip       1.20       1.26
           CGI               3.41       3.42
           Compress-Raw-Zlib 2.012      2.015
           Compress-Zlib     2.012      2.015
           Data-Dump         1.11       1.12
           File-HomeDir      0.80       0.82
           HTML-Parser       3.56       3.59
           IO-Compress-Base  2.012      2.015
           IO-Compress-Zlib  2.012      2.015
           JSON-XS           2.2222     2.23
           libwww-perl       5.814      5.822
           Module-Build      0.2808_01  0.30
           Sub-Uplevel       0.1901     0.2002
           Tcl               0.95-r1    0.97-r1
           Text-CSV_XS       0.52       0.58
           WWW-Mechanize     1.34-r1    1.52-r1
           Win32-API         0.55       0.57
           YAML-LibYAML      0.27-r1    0.29

  Build 824 September 4, 2008
    Build 824 is based on Perl 5.8.8, but also includes all changes from
    the Perl 5.8 maintenance branch up to change 34096 plus additional
    selected changes from the Perl development branch.

    *Bug Fixes and Changes since build 822.2*

    *  Many updates and bug fixes in the Perl internals have been applied.
       See the Changes file in the source distribution for the complete
       list.

    *  Minimum system requirements have been changed: Windows 2000 and
       later are supported Windows versions and Solaris 2.8 is the minimum
       Solaris version.

    *  PPM v4.3 is now included. This version of PPM should be
       considerable faster at parsing the package.xml file and in updating
       the local database. This version also supports installing packages
       from .ppmx files.

    *  PPM on Windows and Linux will use the "new" ActiveState PPM
       repositories currently at http://ppm.activestate.com/beta which
       have a bigger selection of modules available and will allow
       updating of bundled core modules when updates become available.

       The new repositories are configured on the server side; other
       platforms will be switched to the new repositories once they become
       available for them automatically.

    *  ActivePerl::Config on Windows now dynamically sets the
       $Config{ccversion} to the version of "cl.exe". This allows
       ExtUtils::MakeMaker to generate and embed manifest files into
       extension DLL when required by the specific version of the C
       compiler.

    *  The GCC support for Windows in ActivePerl::Config now adds the
       "-mms-bitfields" option to the "ccflags" when compiling with GCC.
       This forces identical struct layouts with Visual C++, which is used
       to compile ActivePerl itself. This has become important because
       core Perl 5.10 now uses bit-fields for some important structures.

    *  The tkkit libraries used by the "Tkx" module have been updated with
       the latest changes from ActiveTcl 8.5.4.

    *  CVE-2006-4484 has been addressed in Tk.

    *  On OS X the supplied sitecustomize.pl script adds the
       ~/Library/ActivePerl/lib directory to @INC, and PPM will install
       into this directory by default because the
       "/usr/local/ActivePerl-5.8/site/lib" directory isn't writable
       without "sudo". Unfortunately ~/Library/ActivePerl/lib was also
       used by ActivePerl 5.10, so you could end up with a mixture of 5.8
       and 5.10 modules in that directory. This release uses
       ~/Library/ActivePerl-5.8/lib as a per-user Perl 5.8 specific module
       area.

    *  On Windows there is a special form of them system() function to
       start processes asynchronously: "system(1, $cmd)". It returns the
       process id instead of the exit status so that the spawning
       application can eventually use waitpid() to wait for the external
       process to terminate. Previous Perl releases only returned the
       lower 16 bits of the process id; this version returns all 32 bits.

    *  The following modules have been added to ActivePerl:

           Algorithm-Diff     1.1902
           Bit-Vector         6.4
           BSD-Resource       1.2901
           Carp-Clan          6.00
           Compress-Raw-Zlib  2.012
           Class-Accessor     0.31
           Crypt-SSLeay       0.57
           Date-Calc          5.4
           DBD-CSV            0.22
           DBD-ODBC           1.16
           DBD-Oracle         1.21
           Digest-SHA         5.47
           ExtUtils-CBuilder  0.24
           File-HomeDir       0.80
           File-Next          1.02
           File-Which         0.05
           GD                 2.39
           GDGraph            1.4308
           GDTextUtil         0.86
           HTML-Template      2.9
           IO-Compress-Base   2.012
           IO-Compress-Zlib   2.012
           JSON               2.12
           JSON-XS            2.2222
           Module-Build       0.2808_01
           mylib              1.02
           Net-Telnet         3.3
           Pod-Escapes        1.04
           Pod-Simple         3.07
           PPM-Repositories   0.15
           SQL-Statement      1.15
           Sub-Uplevel        0.1901
           Test-Differences   0.48
           Test-Exception     0.27
           Text-CSV_XS        0.52
           Text-Diff          0.35
           Text-Glob          0.08
           Time-Piece         1.13
           version            0.76
           WWW-Mechanize      1.34
           YAML-LibYAML       0.27

       The DBD::Oracle module is only included in the 32-bit releases of
       ActivePerl for Windows and Linux. It does not include the Oracle
       client libraries; instead it requires that either the regular
       client libraries or the Oracle Instant Client is already installed
       and configured on the system.

       ActiveState recommends DBI and DBD::ODBC for accessing databases
       using ODBC. The Win32::ODBC module continues to be provided for
       backwards compatibility, but new code should exclusively use
       DBD::ODBC.

       The PPM-Repositories module supplies a list of PPM repositories
       provided by sources outside ActiveState. It makes it easier to
       discover and configure additional repositories in PPM. For example
       you can display a list of repositories available for the current
       platform with:

           ppm repo suggest

       Adding e.g. the University of Winnipeg repository maintained by
       Randy Kobes is then as easy as:

           ppm repo add uwinnipeg

       The PPM-Repositories list is used by the PPM GUI client as well.

    *  The following bundled modules have been updated to their latest
       versions:

           Archive-Tar    1.32  to 1.38
           bignum         0.22  to 0.23
           CGI            3.29  to 3.41
           Compress-Zlib  1.4201 to 2.012
           Data-Dump      1.08  to 1.11
           DBI            1.58  to 1.605
           Font-AFM       1.19  to 1.20
           HTML-Stream    1.55  to 1.59
           HTML-Tagset    3.10  to 3.20
           IO-Zlib        1.04  to 1.09
           libwww-perl    5.808 to 5.814
           Math-BigInt    1.82  to 1.89
           Math-BigInt-FastCalc 0.15 to 0.19
           Math-BigRat    0.18  to 0.22
           Math-Complex   1.37  to 1.54
           perl-ldap      0.34  to 0.36
           Tcl            0.89  to 0.95
           Thread-Queue   2.00  to 2.11
           Thread-Semaphore 2.01 to 2.09
           threads        1.63  to 1.71
           threads-shared 1.12  to 1.26
           Time-HiRes     1.9707 to 1.9715
           Tkx            1.04  to 1.05
           URI            1.35  to 1.37
           XML-Parser     2.34  to 2.36
           XML-Simple     2.16  to 2.18

    *  The libwin32 module collection has been replaced by its individual
       modules, each of which has been updated to the latest version from
       CPAN:

           Win32-Clipboard     0.55
           Win32-Console       0.09
           Win32-EventLog      0.076
           Win32-File          0.06
           Win32-FileSecurity  1.08
           Win32-Internet      0.84
           Win32-IPC           1.07
           Win32-Job           0.03
           Win32-NetAdmin      0.11
           Win32-NetResource   0.56
           Win32-ODBC          0.034
           Win32-OLE           0.1709
           Win32-PerfLib       0.06
           Win32-Pipe          0.024
           Win32-Process       0.14
           Win32-Registry      0.10
           Win32-Service       0.06
           Win32-Shortcut      0.07
           Win32-Sound         0.49
           Win32-TieRegistry   0.25
           Win32-WinError      0.03
           Win32API-File       0.1001
           Win32API-Net        0.12
           Win32API-Registry   0.30

    *Known Issues*

    *  ActivePerl 824 on Unix (AIX, Linux, OS X, Solaris) is incompatible
       with PerlApp from the Perl Dev Kit 7.2. This issue will be fixed in
       Perl Dev Kit 7.3 and does not affect the Windows release of 824.

       Please continue to use ActivePerl 822 with PerlApp on Unix until
       the Perl Dev Kit 7.3 has been released.

  Build 823 July 11, 2008
    Build 823 was only distributed for HP-UX.

  Build 822.2 November 15, 2007
    Build 822.2 is a rebuild for HP-UX.

    *Bug Fixes and Changes since build 822.1*

    *  The following security vulnerabilities are addressed in this
       release:

       *   CVE-2007-5116

           Buffer overflow in the polymorphic opcode support in the
           Regular Expression Engine (regcomp.c) in Perl 5.8 allows
           context-dependent attackers to execute arbitrary code by
           switching from byte to Unicode (UTF8) characters in a regular
           expression.

       *   Directory traversal vulnerability in Archive-Tar

           Archive-Tar would extract files to locations outside the
           current working directory if the tarball contained either
           absolute paths, or relative paths containing "../" sequences.

           This behavior is now disabled by default. The
           $Archive::Tar::INSECURE_EXTRACT_MODE variable can be set to a
           true value to restore the old behavior. The ptar utility now
           requires the -I option to enable the insecure extraction mode.

           Note that this vulnerability fix is not backwards compatible.
           You can set $Archive::Tar::INSECURE_EXTRACT_MODE in your
           sitecustomize.pl file to restore the insecure operation
           globally.

    *  ActivePerl 822 on HP-UX does not include PPM4 and therefore also
       doesn't include the corresponding changes to the directory layout
       and @INC directory order. However, all additional modules were
       still installed into the lib instead of the site_lib tree, breaking
       PPM3. In build 822.2 all non-core modules are installed in the
       site_lib tree again.

    *  The following bundled modules have been updated to their latest
       versions:

           ActivePerl-DocTools-2.2
           Archive-Tar-1.37.2
           DBI-1.601
           XML-Simple-2.18

  Build 822.1 September 23, 2007
    Build 822.1 is a rebuild of build 822 for HP-UX on PA-RISC. The
    original release had several modules compiled so that they would only
    work on PA-RISC2.0 machines. All modules in 822.1 are compatible with
    the PA-RISC1.1 architecture again.

  Build 822 Wednesday, Aug 1, 2007
    Build 822 is based on Perl 5.8.8, but also includes all changes from
    the Perl 5.8 maintenance branch up to change 31223 plus additional
    selected changes from the Perl 5.9 development branch.

    *Bug Fixes and Changes since build 821*

    *  Additional updates and bug fixes in the Perl internals have been
       applied (on top of the changes in build 821, which was only
       released on HP-UX). See the Changes file in the source distribution
       for the complete list.

    *  kill(0, $pid) was always returning TRUE in build 820 on Windows. It
       now returning the correct values again (bug 67519).

    *  It is now possible to send "INT" signals to subprocesses on
       Windows, as long as they are also running ActivePerl Build 822 or
       later. For arbitrary subprocesses, only "BREAK" and "TERM" signals
       will be delivered (bug 67871).

    *  The MSI installer would under certain conditions insert invalid
       script mappings into the IIS metabase, which could disable all
       script mappings until the invalid entries have been manually
       removed. This situation could only happen if the user used the
       "Back" button in the installer to get back to the component
       selection dialog, and then de-selected some previously selected
       components (PerlEx and/or Perl for ISAPI).

       The control flow in the installer has been fixed, and the code
       manipulating the metabase has been safeguarded to prevent these
       invalid mappings (bug 68446).

    *  The installer.bat installer on Windows could create an incorrect
       script mapping for the .pl file extension (to "Perl " with the
       trailing space). It now correctly maps to the "Perl" association
       (bug 68656).

    *  $Config{installsitescript} now points to the same directory as
       $Config{installsitebin} instead of defaulting back to
       $Config{installscript} (bug 70844).

    *  MinGW extension compilation support has been improved. Build 820
       added support for $Config{lib_ext}, but broke in turn
       $Config{obj_ext} (bug 69025). This has been corrected, and
       $Config{ldflags} is now adjusted too. ActivePerl will also
       automatically search the MinGW/lib directory for additional
       libraries, and support linking against both .lib and .a files.

       Note that some MinGW support may get broken if ExtUtils::MakeMaker
       is being updated directly to a newer version from CPAN (so don't do
       that if you are using MinGW).

    *  Many bundled modules have been updated to their latest versions:

           ANSIColor-1.12
           Archive-Tar-1.32
           Archive-Zip-1.20
           CGI-3.29
           CPAN-1.9102
           DBI-1.58
           Encode-2.23
           Filter_Util-Call-1.07
           PathTools-3.25
           Tie-RefHash-1.37
           Win32-0.30
           base-2.12
           libnet-1.21
           libwww-perl-5.806
           threads-1.63
           threads-shared-1.12

    *Known Issues*

    *  Build 822 is no longer compatible with the PDK 6 (Perl Dev Kit).
       Please stay with build 820 if you need to use PDK 6, or upgrade to
       PDK 7 if you want to use ActivePerl 822.

    *  The "diagnostics" module from build 822 will not work correctly
       with PerlApp from PDK 7 (on Windows only) because the perldiag.pod
       file has been moved from the lib/Pod to the lib/pods directory.
       This will be fixed in the PDK 7.1 release.

  Build 821 Wednesday, Jun 24, 2007
    Build 821 is based on Perl 5.8.8, but also includes all changes from
    the Perl 5.8 maintenance branch up to change 31223 plus additional
    selected changes from the Perl 5.9 development branch.

    Build 821 was only distributed for HP-UX.

    *Special configuration of build 821 for HP-UX*

    Build 821 on HP-UX does not include PPM4 or the Tkx module, and it
    also does not have the simplified directory layout nor the changed
    order of directories in @INC. These changes will be introduced for
    HP-UX in ActivePerl 5.10.

    *Bug Fixes and Changes since build 820*

    *  Many updates and bug fixes in the Perl internals have been applied.
       See the Changes file in the source distribution for the complete
       list.

    *  Setting the ACTIVEPERL_CONFIG_CC environment variable to "gcc" will
       force the ActivePerl::Config module to use a GCC configuration even
       when the vendor compiler is available on the PATH. This option is
       supported on HP-UX, Solaris, and Windows.

    *  Windows NT support (broken in build 820) has been restored.

    *  The command history of the debugger is now being saved and restored
       between debugging sessions.

    *  The various manpages including the FAQs have been updated in many
       places. Especially the documentation regarding regular expressions,
       and regarding Unicode has been expanded. The *Perl Unicode FAQ* has
       been added as perlunifaq.pod and the *Perl Unicode Tutorial* as
       perlunitut.pod.

    *  The *Unicode Character Database* was updated from version 4.1.0 to
       5.0.0.

    *  stat() and -X file tests now work on dirhandles too.

    *  sort() function can now be recursive.

    *  The ${^CHILD_ERROR_NATIVE} variable now contains the native status
       returned by the last pipe close, backtick (``) command, successful
       call to wait() or waitpid(), or from the system() operator.

    *  If the ${^WIN32_SLOPPY_STAT} variable is set to a true value, then
       stat() on Windows will not try to open the file. This means that
       the link count cannot be determined and file attributes may be out
       of date if additional hardlinks to the file exist. On the other
       hand, not opening the file is considerably faster, especially for
       files on network drives.

    *  The perl*.pod files are now installed into the lib/pods directory
       on Windows. Previously they were copied to the lib/Pod directory
       because the filesystem on Windows is not case sensitive.

    *  The $Config{d_pseudofork} variable has been introduced to
       differentiate between platforms with real fork() support and the
       fork() emulation currently implemented on Windows.

    *  The following module has been added to ActivePerl:

           Module-Pluggable-3.6

    *  Many bundled modules have been updated to their latest versions:

           ANSIColor-1.11
           AutoLoader-5.63
           Benchmark-1.10
           Carp-1.0701
           CGI-3.28
           CPAN-1.9101
           DB_File-1.815
           Data-Dumper-2.121_12
           Digest-1.15
           DynaLoader-1.08
           Encode-2.20
           Errno-1.10
           Exporter-5.60
           ExtUtils-Command-1.13
           ExtUtils-MakeMaker-6.32
           ExtUtils-Manifest-1.51
           ExtUtils-ParseXS-2.15
           Fatal-1.05
           File-Compare-1.1005
           File-Copy-2.10
           File-Find-1.11
           File-Glob-1.06
           File-Path-1.09
           File-Temp-0.18
           FindBin-1.48
           Getopt-Long-2.36
           Math-BigFloat-1.54
           Math-BigInt-1.82
           Math-BigInt-FastCalc-0.13
           Math-BigRat-0.18
           Math-Complex-1.37
           POSIX-1.12
           PathTools-3.24
           PerlIO-encoding-0.10
           PerlIO-scalar-0.05
           PerlIO-via-0.04
           Pod-Html-1.08
           Pod-Parser-1.35
           Scalar-List-Utils-1.19
           Shell-0.72
           Storable-2.16
           Switch-2.13
           Sys-Syslog-0.18
           Text-Balanced-2.0.0
           Test-Harness-2.64
           Test-Simple-0.70
           Text-Soundex-3.02
           Text-Tabs+Wrap-2006.1117
           Tie::RefHash-1.34
           Time-HiRes-1.9707
           Time-Local-1.17
           Unicode-Normalize-1.01
           Win32-0.29
           XSLoader-0.08
           bignum-0.20
           libnet-1.20
           threads-1.61
           threads-shared-1.11

  Build 820 Wednesday, Jan 24, 2007
    Build 820 is based on Perl 5.8.8.

    *Bug Fixes and Changes since build 819*

    *  PPM has been upgraded to version 4.01.

       *  The PPM UI now supports install and uninstall of modules with
          post-install or uninstall scripts.

       *  PPM now always uses package.xml for the ActiveState repository
          and doesn't fall back to downloading thousands of PPDs if the
          package.xml file is temporarily unavailable.

       *  PPM now runs post-install scripts in dependency order.

       *  The --force option to 'ppm install' now allows files already
          installed by other packages to be overwritten. Ownership of
          these files is transferred to the new package.

       *  Added --no-sync option to the 'ppm search', 'ppm install' and
          'ppm upgrade' commands.

       *  Added --max-ppd option to 'ppm repo sync' command.

       *  Added 'ppm config' command.

       *  Added 'ppm tree' command.

       *  The 'ppm repo sync' command now always checks the server to see
          if updates to the repository are available.

       *  Improved compatiblity with PPD files from PPM3 repositories.

       *  PPM4 now supports ZIP archives as the codebase of PPD files.

       *  The 'ppm-shell' command on Windows now uses Term::ReadLine::Stub
          for terminal I/O to provide command history recall.

       *  On Windows, PPM state data is now stored in LOCAL_APPDATA
          instead of APPDATA. The database can be quite large and is
          therefore not suitable for the roaming profile.

       *  PPM now picks up modules from site; but still looks in the perl
          area first. This allows you to install Crypt-SSLeay in order to
          be able to access "https://..."-repositories.

       *  Fixed a problem causing PPM to sometimes download package
          tarballs from the wrong repository.

       *  The PPM GUI now shows which repository a package comes from. The
          Repository column is hidden by default.

       *  The PPM GUI now warns about downgrades on modules selected for
          installation which have a lower version number than the
          currently installed version.

       *  The PPM GUI used to drop all dependencies if some of them
          failed. It now keeps any remaining dependencies.

       *  In the PPM GUI, package selection is not cleared if the install
          fails. This makes it possible to retry without having to select
          all the same packages again.

       *  The PPM GUI now shows a download progress bar.

       *  New PPM icon on Mac OS.

    *  There have been various improvements in Unicode handling on
       Windows. Most of them rely on the fact that Windows stores a short
       8.3 name for each filename that is longer, or contains characters
       not in the system codepage. By using the short name Perl is able to
       access these files throught the byte stream APIs that the Perl core
       is using.

       If the generation of short filenames has been disabled, then
       filenames containing characters outside the system codepage will
       still not be accessible. Since the short file names are stored by
       the file system, this mechanism will also only work for existing
       files. There is no way to determine a short file name for files
       that have not yet been created.

       *  readdir() and glob() will return the short name if the long name
          cannot be represented in the system codepage.

       *  The PATH environment variable is preprocessed and all entries
          using characters that are not in the system codepage will be
          replaced with their short name versions. This preprocessing step
          will also remove surrounding quote characters from all entries
          in the PATH variable.

          The PATH cleanup happens early enough that perl.exe will be able
          to find scripts via the "-S" commandline option in those
          "inaccessible" directories.

       *  Both $^X and the @INC entries derived from $^X (lib and site/lib
          directories) will be converted to the short form, if necessary.

          Note that installing ActivePerl into a directory whose name
          cannot be represented in the system codepage is still
          discouraged.

       *  Win32::GetCwd() will return a short name, if necessary, and
          Win32::SetCwd() can accept a Unicode name.

       *  The new Win32::GetANSIPathName() accepts a pathname that may
          contain Unicode characters and returns the name in the system
          codepage.

          The file or directory must already exist; otherwise characters
          not in the system codepage will be translated using replacement
          characters (usually '?'), resulting in a potentially invalid
          filename.

       *  Win32::GetLongPathName() may return Unicode characters now.

       *  Win32::GetFullPathName() will return a short name, if necessary.
          Call Win32::GetLongPathName() on the return value (in scalar
          context) to get the full pathname in Unicode:

       *  Win32::GetFolderPath() will return a short name, if necessary.
          Call Win32::GetLongPathName() on the return value to get the
          full pathname in Unicode.

       *  Win32::ExpandEnvironmentStrings() may return Unicode characters
          because it will use the Unicode process environment directly.

          Any changes to %ENV however will be propagated to the process
          environment, and %ENV only stores byte strings. There is
          currently no API to set environment variables to a Unicode
          string.

       *  Win32::MsgBox() now accepts Unicode strings for both the MESSAGE
          and TITLE paramters.

       *  Win32::LoginName() may return Unicode characters.

    *  The builtin Perl kill() function now support killing process trees
       by using negative signal numbers on Windows too. Currently kill()
       on Windows will still only terminate processes owned by the same
       user, even when the user is a member of the Administrators group.

    *  Perl on Windows could hang indefinitely under certain conditions
       involving more than one of: alarm(), sleep(), waitpid(), system()
       and a GUI toolkit like Tk, wxPerl, Win32::GUI (or any other
       function that uses a messageloop). This indefinite loop should no
       longer occur.

    *  The Windows installer now puts site\bin in the PATH.

    *  The Windows installer now detects and prevents installation on top
       of ActivePerl 817 or earlier. This is necessary because the changed
       order of lib and site/lib in @INC would otherwise put old modules
       from the previous installation in front of the new modules bundled
       with this release.

       Also see the installation guide for help on saving and restoring
       your installed PPM modules with PPM-Profile.

    *  The Windows installer for 64-bit ActivePerl will default the
       install location to C:\Perl64 instead of C:\Perl. Installing both
       the 32 and 64 bit versions of ActivePerl into the same directory is
       not supported.

       The Start menu shortcut and the *Add Remove Programs* entry for the
       64 bit version are marked with a " (64-bit)" suffix to
       differentiate them from the 32 bit versions.

    *  Improved MingW compatiblity on Windows.

    *  The lwp-request aliases GET, HEAD, POST are no longer installed;
       use lwp-request directly instead. These aliases created problems on
       case-insensitive systems where they shadowed other commands.

    *  Make HTTP::Daemon deal properly with 'HEAD' requests. It used to
       generate a content body for these causing confusion on persistent
       connections.

    *  The self-contained tkkits required by the Tcl module have been
       updated.

    *  Restored the old (pre 818) behaviour of
       "ActivePerl::DocTools::WriteTOC()". It now only warns if it can't
       write to the perltoc.html file.

    *  ActiveState::Browser now also looks for "xdg-open", "galeon" and
       "opera" on Unix. It also knows how to detect KDE/Gnome properly.

    *  ActiveState::Scineplex now has a JSON output mode.

    *  Long hostnames are now supported on HP-UX.

    *  Many bundled modules have been updated to their latest versions:

           Archive-Zip-1.18
           Data-Dump-1.08
           DBD-SQLite-1.13
           HTML-Parser-3.56
           HTML-Tree-3.23
           Mac-Apps-Launch-1.93
           Mac-Errors-1.13
           Mac-Glue-1.30
           Win32-0.28
           XML-Simple-2.16

    *  A patch has been applied to DBI-1.52 to make it more robust against
       drivers not handling multiple result sets with different numbers of
       columns correctly. DBI wasn't upgraded to version 1.53 because that
       one breaks compatibility with DBD-Sybase.

  Build 819 Wednesday, Aug 31, 2006
    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 Wednesday, Aug 16, 2006
    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 ppm 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

  Build 817.91 (818 Beta 2) Wednesday, Jul 19, 2006
    Introduce PPM graphical interface and Tkx.

  Build 817.90 (818 Beta 1) Wednesday, May 31, 2006
    Introduce rearranged order of @INC and the new PPM command line
    client.

  Build 817 Wednesday, Mar 22, 2006
    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 Thursday, Mar 2, 2006
    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-SHA1-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 Wednesday, Nov 2, 2005
    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 Tuesday, Jun 28, 2005
    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 Tuesday, Jun 7, 2005
    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 Monday, Jan 10, 2005
    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 Wednesday, Dec 1, 2004
    Build 811 is based on Perl 5.8.6.

    *Bug Fixes and Changes*

    *  Perl 5.8.6 has been incorporated. See perl585delta.pod and
       perl586delta 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 Monday, Jun 7, 2004
    Build 810 is based on Perl 5.8.4.

    *Bug Fixes and Changes*

    *  Perl 5.8.4 has been incorporated. See perl584delta 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 Monday, Feb 2, 2004
    Build 809 is based on Perl 5.8.3.

    *Bug Fixes and Changes*

    *  Perl 5.8.3 has been incorporated. See perl583delta 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 Saturday, Dec 6, 2003
    Build 808 is based on Perl 5.8.2.

    *Changes*

    *  Perl 5.8.2 has been incorporated. See perl582delta 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 Thursday, Nov 6, 2003
    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 perl581delta 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 perl581delta 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.

  Build 806 Monday, March 31, 2003
    *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.

  Build 805 Thursday, Feb 6, 2003
    *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.

  Build 804 Friday, Nov 29, 2002
    *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 perl58delta.

    *  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 perl58delta 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".

