Revision history for Perl extension libwin32.

0.26  17 September 2005

   + Updated the top level README file and some edits to this Changes file.
     Otherwise identical to 0.25.

0.25  16 September 2005

   + All libwin32 modules now compile with Microsoft VC++, cygwin and MingW.
     Thanks to Rafael Kitover and Reini Urban for all the work!

   + libwin32 now requires Perl 5.6.0 or later.

   + All support for Perl 5.005 style wide character Unicode support has been
     removed.  This code is incompatible with the way Perl 5.6 and later use
     Unicode (UTF8), and has been removed in Perl 5.8 (USING_WIDE is defined
     as constant 0).
   + Win32API::File

     - Added GetFileAttributes() function and corresponding constants.
       (Kenneth Olwing)

     - Applied cygwin patches from Rafael Kitover and Reini Urban.
       This includes the addition of the GetFileSize(), getFileSize()
       setFilePointer() and GetOverlappedResult() methods and the
       experimental new object oriented interface.  All file position
       operations use either Math::BigInt objects or 8 byte integers
      (cygwin) for file offsets.

   + Win32API::Registry

       (Tye McQueen)

   + Win32::Clipboard

     - GetBitmap() should now work correctly with 1 bit, 4 bit, 8 bit,
       16 bit, 24 bit, and 32 bit colors. (Hideyo Imazu)

   + Win32::Console

     - Rename GRAY to LIGHTGRAY and add definitions for the "real" GRAY
       colors. (James K. Lowden)

     - Add get_Win32_IPC_HANDLE() method so that Win32::IPC can wait
       on a console handle. (Christopher J. Madsen)

     - Add SetIcon() method to change the icon of the window.
       (Christopher J. Madsen)

     - Don't export the scalar variables to %main:: but into the
       callers namespace. (Christopher J. Madsen)

   + Win32::IPC

     - Revised how WaitForMultiple handles non-Win32::IPC objects.
       (Christopher J. Madsen)

   + Win32::Process

     - Add get_Win32_IPC_HANDLE() method for Win32::IPC compatibility.
       (Christopher J. Madsen)

     - Add STILL_ACTIVE constant for GetExitCode().
       (suggested by Michael Ellery)

     - Add GetCurrentProcessID() for cygwin. (Reini Urban)

     - Win32::Process::Open() now records the process ID correctly
       for GetProcessID().  It also creates handle now that can be
       used with the Wait() method. (Christopher Allan)

   + 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.

   + Win32::TieRegistry

     - Localize $@ in DESTORY method because it uses eval. (Eric Promislow)

0.24  14 February 2005

   + This release corresponds to libwin32 in ActivePerl
     It is intended to be the baseline for applying accumulated

0.22  (unreleased)

   + Win32::IsAdminUser() by Steve Hay has been added to Win32.xs.

0.21  (unreleased)

   + Win32::Internet had various bug fixes applied.  This includes a
     memory leak in SetOption() and argument handling of the accept()
     and HttpOpenRequest() methods.

   + Win32::OLE updated to 0.17
     See OLE/changes for list of changes.

   + Win32::GetOSName() now identifies Windows 2003 as "Win2003".

0.20  (unreleased)

   + Win32::EventLog updated to 0.074.  It fixes a bug that made some
     message texts containing positional parameters unretrievable.

   + Win32::GetFolderPath() and CSIDL_xxx constants added to Win32 module.

   + Win32::Job now propagates environment variables to the subprocesses.

   + Win32::OLE updated to 0.16
     See OLE/changes for list of changes.

   + Win32::Shortcut coredump during process exit has been fixed.

0.191 Mon Jul  8 17:30:53 2002

   + Win32::Job is now available (thanks to Neil Watkiss).  This
     extension allows you to manipulate "job" objects (which are
     groups of processes) in Windows 2000 or later.  See the pod
     documentation for details.

   + Most modules that autoloaded their constants could reset $!
     during autoloading.  Such locations now localize $! before
     potentially modifying it.

   + EventLog has been upgraded to 0.073 (thanks to Brett Williams).
     EventLog/Changes has a list of bug fixes.

   + NetResource has been upgraded to 0.053.  See NetResource/Changes
     for the change log.

   + A Win32::GetOSName() function is now available.  It is documented
     in the Win32.pod distributed with perl 5.8.0-RC2 and with

   + Some issues with building it under 5.8.0-RC2 have been fixed.

   + This release corresponds to the version of libwin32 included in

0.19  (unreleased)

0.18  Mon Nov 12 22:58:34 2001

   + Support for Borland 5.5 has been added.

   + Win32API-Net has been upgraded to v0.09 (thanks to Bret Giddings).
     See APINet/Changes for list of changes.

   + Win32-EventLog has been upgraded to v0.072 (thanks to Jan Dubois).
     EventLog/Changes has a list of changes.

   + Win32-Internet has a fix for passive FTP mode (thanks to Steve
     Raynesford and Jan Dubois).  The version number has been bumped to
     v0.082.  See the POD documentation in Win32::Internet for more

   + Win32-NetAdmin has been upgraded to v0.08 (thanks to Doug Lankshear).
     See NetAdmin/Changes for more info.

   + Win32-NetResource has been upgraded to v0.052. See NetResource/Changes
     for details.

   + Win32-OLE has been upgraded to v0.1502 (thanks to Jan Dubois).
     OLE/Changes has a comprehensive list of changes.

   + Win32-Process has had a few incremental improvements (thanks to
     Doug Lankshear, Jand Dubois and Blair Zajac).  The version number
     is now v0.09.  Process/Changes describes the changes.

   + Win32-TieRegistry has been upgraded to v0.24 (thanks to Tye McQueen).
     See TieRegistry/Changes for the list of fixes.

   + A Win32::GuidGen() function has been added.  This function generates
     a new GUID every time it is called.

   + Support for building it under Win64 has been added (with additional
     help from Randolf Werner <>).

   + Various other minor cleanups and bug fixes.

   + This release has only been verified to work with Perl 5.6.0 or
     later.  If you find problems building it with older releases, please
     send patches.

0.17  (unreleased)

0.16  Mon May 22 22:16:41 2000

   + Support for building under Perl 5.6.0.
   + Partial support for passing Unicode strings to many of the extensions,
     under Perl 5.6.0.  Not all extensions support this yet.

   + Win32API-File has been upgraded to v0.09 (thanks to Tye McQueen).
     See APIFile/Changes for the detailed list of changes.  The
     APIFile/ex directory contains several new examples.

   + Win32API-Registry has been upgraded to v0.22 (thanks again to
     Tye McQueen).  See APIRegistry/Changes for the details on what's

   + Win32-Clipboard has been upgraded to v0.51 (thanks to Aldo
     Calpini).  This version has documentation in POD format, and
     supports three different formats to access clipboard data,
     and comes with sample code.  See Clipboard/README and the
     Clipboard/samples directory.

   + Win32-OLE has been upgraded to v0.13 (thanks to Jan Dubois
     <>).  The article on Win32::OLE from The Perl Journal
     is now included in POD format.  For the detailed list of changes, see
     OLE/Changes and OLE/lib/Win32/OLE/NEWS.pod.

   + Various minor cleanups and bug fixes.

   + A TODO file has been added.

0.151 Sun Sep 26 16:29:29 1999

   + The 5.00402 binaries were missing from the package.  Doh!

0.15  Sat Sep 25 15:53:02 1999

   + Win32API-File-0.07 has been added (thanks to Tye McQueen).  This module
     provides low-level access to file and directory functions.

   + Win32-OLE has been upgraded to v0.1101 (thanks to Jan Dubois).
     Be sure to check out the cool new component browser (needs IE5).
     Type "perldoc Win32::OLE::NEWS" and/or see OLE/Changes for detailed

   + Win32API-Net has been upgraded to v0.08 (thanks to Bret Giddings).
     NOTE: There is a POTENTIAL INCOMPATIBILITY in how empty string values
     are handled in input hashes.
     See APINet/Changes and the pod documentation for detailed notes.

   + Win32API-Registry has been upgraded to v0.17 (from Tye McQueen).
     See APIRegistry/Changes for detailed notes.

   + Win32-TieRegistry has been upgraded to v0.23 (from Tye McQueen).
     See TieRegistry/Changes for detailed notes.

   + Win32-Sound has been upgraded to v0.45 (from Aldo Calpini).  The new
     version supports wave devices and volume controls, and also sports pod

   + A few bugs in Win32-EventLog have been fixed (thanks to Bret Giddings
     and Jan Dubois).  There is also newer documentation in pod format.
     NOTE: There is a POTENTIAL INCOMPATIBILITY in the Report() method,
     which will now use the "Source" and "Computer" fields in the passed
     hashref if they exist.
     See EventLog/Changes and the pod documentation for details.

   + A typo in Win32::Console::GenerateCtrlEvent() has been fixed.
     Documentation in pod format has been added (from Jan Dubois).

   + Win32::NetResource::GetSharedResources() now continues the enumeration
     when there are "Access denied" errors; on other errors, it enumerates
     all the resources seen until the point the error occurred.

   + Minor changes in Win32-ODBC from various people have been included.
     See ODBC/Changes for a summary.

   + Other small changes for Perl 5.005xx compatibility and minor bug
     fixes round out this release.

0.14  Sat Nov 14 23:02:59 1998

   + Support for building with mingw32/GCC from Nick Ing-Simmons.  Building
     many of the extensions is skipped, since the mingw32 libraries don't
     yet support all of the Win32 API.

   + Memory leaks fixed in PerfLib (thanks to Artur Silveira da Cunha).

   + EventLog now returns 'User' and 'Message' fields (thanks to Martin

   + Other minor bugfixes.

0.13  Thu Sep 17 19:35:20 1998

   + New modules from Tye McQueen: Win32API-Registry-0.15 and
     Win32-TieRegistry-0.21.  These are much better designed and implemented
     than Win32-Registry.  They also begin the concerted effort to layer
     user-friendly implementations of Win32 functionality on top of a
     comprehensive set of Win32API-* modules.

   + New module from Bret Giddings: Win32API-Net-0.04 provides access to the
     Lan Manager API.  Currently supports only the account management
     functions, but the long-term intent is to support most of the Net* API.

   + Newer version of Win32::OLE from Jan Dubois.  See OLE/Changes for
     detailed list.

   + PerfLib bugs fixed (thanks to Jutta Klebe and Henry Ptasinski

   + Subversive use of LDLOADLIBS in Internet/Makefile.PL fixed.

   + Fixed GPF in NetAdmin::LocalGroupIsMember()

   + Win32::Registry now supports setting REG_NONE entries.  Spurious
     warnings on 'use' fixed.

   + install.bat has improved sanity checks (thanks to Tye McQueen).

   + Various tweaks to help PERL_OBJECT build

0.12  Mon May 11 00:32:33 1998

   + Applied serious OLE bugfixes from Jan Dubois for public release.

0.11  (unreleased)

   + Jutta Klebe has contributed a new module, Win32::PerfLib. It
     provides comprehensive facilities for accessing performance counters
     on Windows NT.  See the documentation in PerfLib/

   + Many, many fixes and enhancements in Win32::OLE, thanks to Jan Dubois
     See OLE/Changes for a detailed list.

   + Win32::NetAdmin supports new functions: GetAliasFromRID(),
     GetUserGroupFromRID(), LocalGroupGetMembersWithDomain(), and
     GetServerDisks() (thanks to David Gardiner and Jutta Klebe).
     A few broken constants have been fixed and missing ones added
     (thanks to Dave Roth).  Most symbols are exported on request
     (thanks to Tye McQueen).

   + Bug fixes for Win32::ChangeNotify (from Chris Madsen, thanks).

   + Win32::Registry exports older symbols for compatibility (thanks to
     Tye McQueen).  Reg*Key() functions enable priveleges as needed
     (thanks to Jutta Klebe).

   + Win32::Service now reports stopped services (merged from ActiveState's
     sources, thanks).

   + Win32::GetArchName() and Win32::GetChipName() functions have been
     added, for compatibility.

   + The bug whereby Win32::Process couldn't be loaded on Win95 should be

0.10  Fri Feb  6 21:32:33 1998

   + Chris Madsen <> has rethought and rewritten
     the IPC related modules.  The Win32::Event module is new.  In his own

	The Win32::IPC modules


	have been almost completely rewritten and are now at version 1.00.
	The rather inconsistent ActiveWare interface is still supported, but
	you should really use the newer and more powerful interface (using
	lower case method names).

	Consult the documentation for each module for details on how to
	convert from the old interface.

	In addition, Win32::Process has been slightly altered to work with
	Win32::IPC.  Process objects should now work with Win32::IPC's wait_*
	functions (they were supposed to work before, but they didn't).  You
	will have to load Win32::IPC yourself, because Win32::Process does

   + Yet more OLE fixes from Jan Dubois <>.

   + NetAdmin enhancements from Jutta Klebe <>

   + Updated FileSecurity to base version 0.67.

   + Win32::Registry sports additional functions that correspond to the
     Win32 Registry API functions.

   + Misc. changes
	- fixed buggy InitiateSystemShutdown()
	- New compatibility XSUBs: MsgBox(), LoadLibrary(), FreeLibrary(),
	  GetProcAddress(), RegisterServer(), UnregisterServer()

   + Other minor bugs have been fixed.  See "Changes" files in individual
     module subdirectories.

0.09  Sun Dec 14 12:14:08 1997

   + OLE has been seriously overhauled, thanks largely to the valiant efforts
     of Jan Dubois <>.  Jan has added many exciting new
     features, and a much more streamlined implementation.  See the pod
     documentation for compatibility info.

   + The AdminMisc extension has been dropped, because newer versions with
     support (and binaries) for the standard perl port are available from the
     original author.  See "" for details.

   + New compatibility functions (got via C<use Win32;>) : LookupAccountName(),
     LookupAccountSID(), InitiateSystemShutdown(), AbortSystemShutdown(),

   + Numerous bugs have been fixed.  See "Changes" files in individual module

0.08  and earlier

   Lost in the mists of time