= 1.2.1 - 25-Aug-2011
* The strcpy, mbscpy and wsccpy functions in the Windows::MSVCRT::String
  module have been made friendlier. They will now accept either a string
  or an address for the second argument.
* Minor modification to one GetFinalPathNameByHandle test.

= 1.2.0 - 24-Mar-2011
* All methods and constants are now private. These methods were never meant
  to be used by individual objects, but are only meant to be used internally.
  Note that, because of an issue currently in the windows-api library, some
  methods may still be currently public, but users of this library should not
  count on that for long.
* Added the Windows::WSA and Windows::Socket modules.
* Fixed the MAKEWORD and MAKELONG macro methods in the SystemInfo module.
* Added many more functions and some constants to the Windows::Registry module.
  Thanks go to Dan Rathbun for the suggestion.
* Fixed the HKEY_CURRENT_USER constant in the Windows::Registry module.
* The custom GetFinalPathNameByHandle method for Windows XP and 2000 has been
  fixed and reworked. It is limited to a defacto VOLUME_NAME_NT flag value,
  however. See the comments for details.

= 1.1.3 - 20-Jan-2011
* Added the windows_7? method to the Windows::SystemInfo module.
* Some minor cosmetic updates to other files.

= 1.1.2 - 6-Nov-2010
* Fixed a job security flag name.

= 1.1.1 - 6-Nov-2010
* Added some security flags for Job objects to the Windows::Process module.
* Added namespace functions to the Windows::Synchronize module.

= 1.1.0 - 5-Nov-2010
* Added the get_volume_type method to the Windows::Volume module.
* Added more tests for the Windows::Volume module.
* Removed the non-gem installation task and added a clean task.

= 1.0.9 - 6-Feb-2010
* A couple of modules that were checking against $KCODE now check against
  __ENCODING__ or the string encoding for Ruby 1.9.x.
* Removed an indentation warning that was revealed by Ruby 1.9.x.
* Refactored the Rakefile, scoping and adding additional tasks.
* Updated some tests to handling Ruby 1.9.x better. All tests now pass
  without warning with 1.9.x.
* Added SERVICE_ACCEPT_PRESHUTDOWN constant to service.rb.

= 1.0.8 - 24-Aug-2009
* Several return value constants that were set at -1 are now set to
  0xFFFFFFFF instead because win32-api returns unsigned longs.
* Removed the two mailslot constants from the Windows::File module. They're
  defined in the Windows::Mailslot module.
* Added the windows_version method to the Windows::SystemInfo module. It
  returns a float in 'major.minor' format.

= 1.0.7 - 20-Aug-2009
* Added the Windows::Mailslot module.
* The IsProcessInJob function in the Windows::Process module is now wrapped
  properly so that it doesn't cause an error on Windows 2000. Thanks go to
  Finbar Clenaghan for the spot.
* Minor updates to the conversion guide.

= 1.0.6 - 19-Jul-2009
* Added several job functions to the Windows::Process module.
* Updated license to Artistic 2.0.

= 1.0.5 - 21-May-2009
* Fixed VARIANT_TRUE value in the Windows::COM::Variant module.
* Added some functions to the Windows::National module, and handled some
  Vista only functions properly.
* Updated the return types of the SafeArrayCreate and SafeArrayCreateVector
  functions in the Windows::COM::Automation module.

= 1.0.4 - 15-May-2009
* Created the Windows::COM::Variant module.
* Created the Windows::COM::Accessibility module.
* Added some IDispatch constants to the Windows::COM module.
* Added some IDispatch error constants to the Windows::Error module.
* Added many more constants to the Windows::COM::Automation module.
* Added a couple of functions to the Windows::National module.
* Corrected the return type for various SysXXX functions in the
  Windows::COM::Automation module.
* Corrected the prototype for the RegEnumKeyEx function in the
  Windows::Registry module.

= 1.0.3 - 23-Apr-2009
* Created the Windows::GDI::MetaFile module.
* Added GetWindowLongPtr and SetWindowLongPtr to Windows::Window::Classes.
* Added DefWindowProc to Windows::Window::Message.
* Added more methods and format constants to the Windows::Clipboard module.
* Added more methods to the Windows::GDI::Bitmap module.
* Prototype update for DragQueryFile() in the Windows::Shell module.
* Return type change for GetClipboardData in the Windows::Clipboard module.

= 1.0.2 - 5-Mar-2009
* Fixed the library for the AttachThreadInput function in the Windows::Thread
  module. Thanks go to an anonymous user for the spot.
* Added the beginnings of the Windows::Security::Authentication module.

= 1.0.1 - 9-Feb-2009
* Added the Windows::Window::Menu module.
* Added the Windows::Window::Classes module.
* Added tests for several Windows::Window::XXX modules that weren't
  previously covered.
* Now properly wraps some methods in the Windows::Network::Winsock module
  that weren't supported on Windows 2000.
* Added the IsWow64Process function to the Windows::Process module.
* Added the windows_64? helper method to the Windows::Process module.

= 1.0.0 - 5-Feb-2009
* Fixed the prototype for DuplicateHandle() in the Windows::Handle module.

= 0.9.9 - 1-Feb-2009
* Now explicitly checks for Win32::API::LoadLibraryError in the method
  declarations instead of Windows::API::Error. The latter no longer exists,
  and the former is a better way to check for methods that don't exist on
  particular versions of Windows. This change requires windows-api 0.3.0
  and win32-api 1.3.0.
* Added a few functions to the Windows::Security module.
* Added the NtQuerySystemInformation function to the Windows::NTFS::Winternl
  module.
* Added tests for the Windows::NTFS::Winternl module.
* Declaration fix in Windows::Security module for Win2k.
* Fixed a directory test for Win2k.

= 0.9.8 - 15-Dec-2008
* Added many more functions and a few constants to the Windows::Security
  module.

= 0.9.7 - 5-Dec-2008
* Renamed Windows::NTFS::File to Windows::NTFS::Winternl.
* Updated the Windows::Network::Management and Windows::Shell modules to use
  the 'S' prototype where appropriate.
* Updated the Windows::File module to use the 'S' prototype where appropriate.
* Added the GetFinalPathNameByHandle function to the Windows::NTFS::Winternl
  module for Windows XP/2000.
* Added a few new functions to the Windows::Volume module and converted 'P'
  prototypes to 'S' where appropriate.
* Added SE_OBJECT_TYPE enumeration values to the Windows::Security module.

= 0.9.6 - 14-Nov-2008
* Updated the RegisterServiceCtrlHandler and RegisterServiceCtrlHandlerEx
  prototypes in the Windows::Service module. Changed old 'P' prototype to 'K'
  for callbacks.
* Added explicit ANSI and Wide character functions for GetFileSecurity and
  SetFileSecurity in the Windows::Security module (since automatic unicode
  generation is set to false for that particular module).
* Added IO reparse point tag constants to the Windows::File module.
* The multi_to_wide helper method in Windows::Unicode now returns the string
  as-is if it's already a Unicode string.
* A couple 'P' prototypes were switched to 'S' in Windows::Unicode functions.

= 0.9.5 - 21-Oct-2008
* Fixed the rescue clauses for unsupported functions for the Windows::Console
  and Windows::Debug modules. Thanks go to an anonymous user for the spot.
* Added a couple functions to the Windows::File and Windows::NIO modules.
* Removed the SetFilePointer and SetFilePointerEx functions from the
  Windows::File module since they're already in the Windows::NIO module.

= 0.9.4 - 27-Sep-2008
* Added some macros from windef.h to the Windows::SystemInfo module.
* Added the windows_2000?, windows_xp?, windows_2003? and windows_vista?
  helper methods to the Windows::SystemInfo module.
* Added the umask and umask_s functions to the Windows::MSVCRT::File module.
* Added SH_DENYNO and SHORT_LIVED constants to the Windows::MSVCRT::IO module.
* Fixed the prototype for open and wopen in the Windows::MSVCRT::IO module.
* Added SHGetFolderLocation to the Windows::Shell module.
* Added NT privilege constants to the Windows::Security module.
* The wide_to_multi helper function is now friendlier with regards to strings
  that may be missing a trailing double null.

= 0.9.3 - 12-Sep-2008
* Added event logging functions for Windows Vista and later to the
  Windows::EventLog module.

= 0.9.2 - 5-Sep-2008
* Added some WoW64 functions to Windows::File and Windows::SystemInfo.
* All modules now rescue Windows::API::Error for failed function loads.
  I was previously inconsistent on just what error I was rescuing.

= 0.9.1 - 28-Jul-2008
* Yet another refactoring of the multi_to_wide and wide_to_multi helper
  methods in the Windows::Unicode module. In addition to a bug fix, they
  now raise an ArgumentError if they fail.
* Yet another tweak to get_last_error in the Windows::Error module. It now
  always uses the explicit ANSI version of the FormatMessage function.
* Added tests for the multi_to_wide and wide_to_multi helper methods.

= 0.9.0 - 26-Jul-2008
* The process of converting prototypes from 'P' to 'S' has begun. This
  means that this library now requires win32-api 1.2.0 or later.
* Added the Windows::Window::Message module.
* Added the Windows::Window::Timer module.
* Added the Windows::Window::Dialog module.
* Added many more functions and constants to the Windows::Security module.
* All ACE related constants have been move from the Windows::File module and
  are instead defined in the Windows::Security module. Not to worry, though.
  The Windows::File module now mixes in the Windows::Security module.
* Added several profile related functions to the Windows::Shell module.
* Changed the prototype of ConvertSidToStringSid and ConvertStringSidToSid
  back to 'LP' in the Windows::Security module. I'm not sure why I changed
  those before. If this causes too much grief I'll change them back.

= 0.8.7 - 23-Jun-2008
* Wide character fix for the get_last_error helper function. Thanks go to
  Dave Whitley for the spot.
* Added local memory functions and constants to the Windows::Memory module.

= 0.8.6 - 14-Jun-2008
* Added the Windows::Network::Winsock module.
* Added the Windows::ToolHelper module.
* Added CLSCTX enum constants to the Windows::COM module.
* Added several WSA socket error constants to Windows::Error.
* Moved the Process32First and Process32Next functions from Windows::Process
  to Windows::ToolHelper.

= 0.8.5 - 28-May-2008
* Added more pipe related error codes to the Windows::Error module.
* Added the FlushFileBuffers function to the Windows::File module.

= 0.8.4 - 18-May-2008
* Added the Windows::NTFS::File module.
* Added several IOCTL macro methods to the Windows::DeviceIO module.
* Wrapped the GetLayeredWindowAttributes function in the Windows::Window
  module since it is only supported on Windows XP or later.
* Fixed the CreateThread prototype with regards to callback support.

= 0.8.3 - 26-Apr-2008
* Now requires windows-api 0.2.3 or later to take advantage of the
  improvements in auto constant generation.
* Fixed a scope resolution bug in the custom memcpy method in the
  Windows::MSVCRT::Buffer module.
* Added some more Windows::MSVCRT::String functions.
* Added the FSCTL_ENUM_USN_DATA macro method in Windows::DeviceIO.
* Some modules were refactored to take advantage of the improvements in
  windows-api 0.2.3. This resulted in a net reduction of code.

= 0.8.2 - 17-Apr-2008
* Most of the MSVCRT modules now use the MSVCRT_DLL from the Windows::API
  library. This helps resolve an obscure bug where state information from a
  statically linked runtime DLL is local to that runtime and not shared with
  the Ruby process.
* Now requires windows-api 0.2.2 or later.
* Added more MSVCRT tests.

= 0.8.1 - 27-Mar-2008
* Added waitable timer functions to the Windows::Synchronize module.
* Fixed params 3 and 4 in the CreateProcess function.

= 0.8.0 - 20-Jan-2008
* Added the Windows::COM::Automation module.
* Moved Windows::NetworkManagement to Windows::Network::Management.
* Added the Windows::Network::SNMP module.
* Added a MAXPATH constant to Windows::Limits, which is variable depending
  on whether or not $KCODE is set to UTF8.
* Added some macro methods to Windows::Error.
* Added many more methods to Windows::COM.
* Fixed the prototype for the SetConsoleCtrlHandler in the Windows::Console
  module, and added the CTRL_CLOSE_EVENT constant.

= 0.7.4 - 11-Dec-2007
* Added several more functions to Windows::Window.
* Added many more constants to the Windows::NetworkManagement module.
* Added several more functions and a few constants to the Windows::Process
  module.
* The multi_to_wide and wide_to_multi methods in Windows::Unicode will now
  return nil if you pass a nil argument. Also, they will raise a TypeError
  if you pass a non-nil, non-string object.

= 0.7.3 - 23-Nov-2007
* Several thread related methods were moved out of the Windows::Process
  module and into the Windows::Thread module.
* Added critical section methods to the Windows::Synchronize module.
* Added many more constants and methods to the Windows::Shell module.
* Created the Windows::Thread module.
* Fixed the PathCreateFromUrl return type in the Windows::Path module.
* Added the strncpy and wcsncpy functions to the Windows::MSVCRT::String
  module.
* Added several token related methods and constants to the Windows::Security
  module.
* The multi_to_wide and wide_to_multi methods were refactored slightly. Both
  now only use MSVCRT string functions internally in case any Ruby String
  methods are redefined.

= 0.7.2 - 15-Oct-2007
* Added the Windows::MSVCRT::Time module.
* Added the Windows::MSVCRT::Directory module.
* Added some SID related security constants to the Windows::Security module.
* Added more constants and the HasOverlappedIoCompleted macro to the
  Windows::Synchronize module.
* Added some 'find' methods to the Windows::File module.
* Some prototype fixes for the 'Virtual' functions in Windows::Memory.

= 0.7.1 - 21-Sep-2007
* Added USN (changejournal) macros to Windows::DeviceIO.
* Added the Heap functions to Windows::Memory.
* Added the Windows::Time module.
* Added a Rakefile with tasks for installation and testing.
* Added and refactored some tests.

= 0.7.0 - 9-Aug-2007
* All modules now use the windows-api library behind the scenes.
* Added the Windows::NIO module. This contains native Windows IO functions.
* Added several more functions to the Windows::GDI::PaintDrawing module.
* Fixed the prototype for the GetWindowsDirectory function in the
  Windows::SystemInfo module.

= 0.6.6 - 3-May-2007
* Added the Windows::MSVCRT::IO module.
* Removed the SetConsoleCommandHistoryMode method from the Windows::Console
  module. This was a preliminary function for Vista only, and it has since
  been removed. Thanks go to Drew Colthorp for the spot.

= 0.6.5 - 28-Feb-2007
* Important bug fixes for the Windows::Directory, Windows::Memory,
  Windows::Synchronize and Windows::Volume modules. These were either fixes
  for the function declaration or the wrapper method. Thanks go to Katsuyuki
  Miyamuko for the spot and the patches.

= 0.6.4 - 28-Feb-2007
* Add more string functions to the Windows::MSVCRT::String module.
* Minor enhancement to the multi_to_wide and wide_to_multi helper methods in
  the Windows::Unicode module. You can now pass an explicit encoding as an
  optional second argument.
* Added several more methods to the Windows::National module.
* Finer grained method wrapping/checking for the Windows::Volume module.
  Thanks go to Dave Rose for the spot.

= 0.6.3 - 2-Feb-2007
* Fixed the DLL for SetLastErrorEx in the Windows::Error module.
* Fixed an unitialized constant bug in the Windows::DeviceIO module.
* Fixed a bug in the NetWkstaSetInfo() method, from the
  Windows::NetworkManagement module.  Thanks go to Richard (???) for the spot.
* Added more security related methods and constants to the Windows::Security
  module.
* Fixed a bug in the GetComputerName method in the Windows::SystemInfo module.
  Thanks go to Russell Christopher for the spot and the fix.
* Changed method prototype for GetUserName and GetUserNameEx in the
  Windows::SystemInfo module.
* Added the PIPE_UNLIMITED_INSTANCES constant to the Windows::Pipe module.
* Altered the prototype for the ConvertSidToStringSid() and
  ConvertStringSidToSid() methods from the Windows::Security module.

= 0.6.2 - 21-Dec-2006
* Added file related constants from sys/stat.h to the Windows::MSVCRT::File
  module.
* Added the open_osfhandle method to the Windows::Handle module.
* Changed the signatures for the VirtualFree and VirtualFreeEx functions in
  the Windows::Memory module.
* Added the Windows::GDI::Bitmap, Windows::GDI::DeviceContext and
  Windows::GDI::PaintingDrawing modules.

= 0.6.1 - 22-Nov-2006
* Changed the signature for VirtualAlloc and VirtualAllocEx in the
  Windows::Memory module (long instead of pointer for first argument).
* Added the get_osfhandle method to the Windows::Handle module.

= 0.6.0 - 5-Nov-2006
* Added the Windows::Volume module.

= 0.5.6 - 22-Oct-2006
* Modified the memcpy method in Windows::MSVCRT::Buffer to do the right
  thing based on the type of the parameters, as well as automatically
  set the default size to the size of the source being copied.

= 0.5.5 - 11-Oct-2006
* Prototype modification for VirtualQuery and VirtualQueryEx in the
  Windows::Memory module.

= 0.5.4 - 8-Sep-2006
* Added the Windows::NetworkManagement module, which contains methods like
  NetUserAdd(), etc.
* Fixed bugs in SetLastError and SetLastErrorEx declarations.
* Finer grained method wrapping/checking for the Windows::Library module.
* Finer grained method wrapping/checking for the Windows::Console module.
* Added a test case for the Windows::Library module.
* Added the LOCKFILE_EXCLUSIVE_LOCK and LOCKFILE_FAIL_IMMEDIATELY constants
  to the Windows::File module.

= 0.5.3 - 10-Aug-2006
* Added wide character functions to the EventLog module.
* Added a test suite for the EventLog module.
* Fixed method wrapper for MapViewOfFileEx.
* Finer grained method wrapping/checking for the Windows::Registry module (the
  RegSaveKeyEx might not be defined).

= 0.5.2 - 29-Jul-2006
* Prototype fixes/changes for CreateProcess, GlobalLock, GlobalMemoryStatusEx,
  and CreateFileMapping.
* Finer grained method wrapping/checking for the Windows::Process module (only
  two methods might not be defined).
* Added method wrappers for the Handle constants.
* Added mmap related methods and constants.
* Added more test cases.
* Added wide character methods to the Windows::Directory class.
* Added wide character helper methods.
* Added a few more methods to MSVCRT::String.

= 0.5.1 - 26-May-2006
* Minor updates and fixes for the Unicode and DeviceIO modules.
* Added some wide character support, based on $KCODE values (which should
  not be used at this time).

= 0.5.0 - 23-May-2006
* Added the Registry module
* Added the EventLog module
* Added the National module
* Added the SystemInfo module

= 0.4.0 - 7-May-2006
* Bug fix for the WaitForMultipleObjects method in synchronize.rb
* Added the Window module (just a few constants for now)
* Added the Console module (AttachConsole, etc)
* Added the Library module (LoadLibrary, etc)
* Added the Directory module (CreateDirectory, etc)
* Added the Shell module (some constants, a few methods for now)
* Added the Unicode module (WideCharToMultiByte, etc)
* Added process creation, priority and startf flags to the Process module

= 0.3.0 - 22-Apr-2006
* Added the Limits module.
* Added the Security module.
* Fixed a signature bug in the MSVCRT/Buffer module.

= 0.2.0 - 13-Apr-2006
* Added the FileSystem module.
* Fixed signature and dll mistakes in the File module.

= 0.1.0 - 4-Apr-2006
* Initial release
