== 1.4.3 - 8-May-2014 * The #writable? method now ignores the readonly attribute if it's a directory. * Replaced File.exists? with File.exist? to avoid warnings in Ruby 2.1.x. == 1.4.2 - 28-Apr-2014 * Allow the File::Stat.new method to accept objects that respond to to_str or to_path to mimic MRI. == 1.4.1 - 12-Feb-2014 * The #writable? and #writable_real? methods now always return false if the file has been marked readonly. * Fixed an rdev test and added a writable test. == 1.4.0 - 16-Dec-2013 * Conversion to FFI. * Now requires Ruby 1.9 or later. * The #mode method now more closely matches core MRI. * The #executable? method now simply checks the extension name. The Windows API method I was using before (GetBinaryType) was limited to .exe files and could return false positives. The current version checks for .bat, .cmd, .com and .exe. * The #dev method returns the volume serial number instead of a drive letter. * The #symlink? method was implemented. * The #uid method was implemented. It now returns an actual user id. It can optionally be passed a boolean argument. If true, it will return the full string SID. * The #owned? method was implemented. * The #gid method was implemented. It now returns an actual group id. It can optionally be passed a boolean argument. If true, it will return the full string SID. * The #grpowned? method was implemented. * The #ino method was implemented. * Added working implementations of the #readable?, #writable?, #world_readable? and #world_writable? methods. * The VERSION constant was changed to WIN32_FILE_STAT_VERSION. == 1.3.6 - 24-Mar-2012 * Eliminated some warnings for Ruby 1.9.3. == 1.3.5 - 21-Nov-2011 * Fixed a bug in the dev method for 1.9.x. * Fixed some method redefinition warnings. * Refactored the Rakefile and gemspec. The old install task has been removed from the Rakefile. == 1.3.4 - 13-Aug-2009 * Changed license to Artistic 2.0. * Some gemspec updates, including the addition of a license, an updated description, and changing test-unit from a runtime dependency to a development dependency. * Some documentation updates, mostly to make certain things invisible that aren't meant for public consumption. * One test now skipped on 64-bit versions of Windows. == 1.3.3 - 9-Feb-2009 * Fixed a bug where File::Stat.new failed on locked files. Thanks go to Montgomery Kosma for the spot. * Now requires windows-pr 1.0.0 or later. * Updated the README to note that 32 bit versions of Ruby which attempt to access locked system files on 64 bit versions of MS Windows will fail. == 1.3.2 - 1-Oct-2008 * Fixed an issue with the private get_blksize method. * Updated the test suite to use Test::Unit 2.x, which also makes it a required dependency. * Removed the pre-generated .txt and .exe files that were used for testing. These are now generated within the test suite itself. * Fixed two broken size tests, and now omits one blockdev test if there's no media in the drive. == 1.3.1 - 9-Aug-2008 * Fixed the stat buf to be the proper size (I had too many struct members). * Modified the tests slightly. == 1.3.0 - 1-Aug-2008 * Fixed a couple of function calls where I had forgotten to call an explicitly wide version. * No longer ignores failures on empty block devices, e.g. CD-ROM drives without any media in them. A SystemCallError is raised instead. * Added blockdev boolean to the inspect/pp output. * Fixed a potential issue with an internal helper function and the new 'S' prototype from win32-api 1.2.0 or later. == 1.2.8 - 29-Jul-2008 * Internally now always uses wide character functions. * A private alias was made private. * Now requires windows-pr 0.9.1 or later. == 1.2.7 - 1-Oct-2007 * Changed an error type in a private method in order to maintain compatibility with the FileUtils module. == 1.2.6 - 29-Sep-2007 * Minor tweak to the way I handle redefining the initialize method. The old_init alias is now removed. * Now handles a potential failure in getting the atime, ctime and mtime, caused by the underlying filesystem, e.g. Samba. If it fails, these fields are set to the epoch. Thanks go an anonymous user for the spot. * Added a Rakefile that includes tasks for installation and testing. * Removed the install.rb file. That has been inlined into the Rakefile. == 1.2.5 - 5-Apr-2007 * Now runs -w clean. == 1.2.4 - 22-Jan-2007 * Improved block device handling. == 1.2.3 - 4-Nov-2006 * Bug fix for file sizes over 4gb. == 1.2.2 - 13-May-2006 * Yet another blksize bug fix. * Minor tweak to the pretty_print method with regards to handling nil values. * Bumped the minimum required windows-pr version to 0.4.0 in the gemspec. == 1.2.1 - 12-May-2006 * Fixed a bug with regards to the block count where the constructor would die with a FloatDomainError if the blksize returned 0 or nil. It now defaults to nil in that event. == 1.2.0 - 23-Apr-2006 * Removed the attribute setters. From now on this class provides readonly methods. Use the win32-file library for attribute setters. * Added the content_indexed? alias for the indexed? method. * Corresponding test suite changes. * Fixed the pp issue by writing a custom pretty_print method. == 1.1.0 - 15-Apr-2006 * Added the chardev?, dev_major, dev_minor directory?, file?, executable?, executable_real?, ftype, grpowned?, owned?, pipe?, readable?, readable_real?, rdev_major, rdev_minor, setgid?, setuid?, size?, socket?, sticky?, symlink?, writable?, writable_real? and zero? methods. Note that not all of these methods return meaningful values and were merely added to match the current spec. See documentation for details. * Added a VERSION constant. * Some optimization in the constructor. == 1.0.0 - 13-Apr-2006 * Initial release