1.2.2 (2015-11-09)

* Improved reliability in case of a sudden unplug: FS will be in a clean state
after closing all files and performing sync(1).
* Fixed compilation on Debian GNU/kFreeBSD and GNU/Hurd platforms.
* Updated mount.exfat-fuse man page.

1.2.1 (2015-09-24)

* Fixed compatibility with Zalman VE-200: now newly created directories do not
have archive bit set.
* Fixed heap corruption: malformed FS can use invalid sector or cluster size.
* Fixed hang on mount: malformed FS can have cyclic references in the clusters
map.

1.2.0 (2015-08-26)

* Switched from SCons to autotools.
* Added musl libc support [Brendan Heading].
* Worked around "FS is larger than device" error for memory cards formatted by
Panasonic Lumix cameras.
* Worked around "unknown entry type 0xe1" error for memory cards formatted by
Sony cameras.

1.1.1 (2014-11-15)

* Fixed mkfs crash on some sectors-per-cluster (-s option) values.

1.1.0 (2014-07-08)

* Relicensed the project from GPLv3+ to GPLv2+.
* OpenBSD support [Helg Bredow].
* Improved I/O errors handling.
* Implemented fsync() and fsyncdir().
* Fixed crash on Mac OS X 10.5 caused by non-standard use of realpath(). Also
fixed TrueCrypt disks unmounting.
* Avoid extra erase on writes to the end of a file. This should improve linear
write speed.
* Allow arbitrary changing of lower 9 bits of mode. Allow owner/group changing
to the same owner/group. This fixes rsync.
* Fixed buffers overflows when handling lengthy file names.
* Fixed "real size does not equal to size" error on volumes with pagefile.sys.
* Fixed negative IUsed in "df -i" output.

1.0.1 (2013-02-02)

* Fixed unexpected removal of a directory if it is moved into itself.
* Fixed "Operation not permitted" error on reading an empty file.

1.0.0 (2013-01-19)

* Fixed crash when renaming a file within a single directory and a new name
differs only in case.
* Fixed clusters allocation: a cluster beyond valid clusters range could be
allocated.
* Fixed crash when a volume is unmounted while some files are open.
* SConscript now respects AR and RANLIB environment variables.
* Improved error handling.

Linux:

* Enabled big_writes. This improves write speed (larger block size means less
switches between kernel- and user-space).
* Do BLKROGET ioctl to make sure the device is not read-only: after
"blockdev --setro" kernel still allows to open the device in read-write mode
but fails writes.

OS X:

* Fixed OS X 10.8 support.
* Switched to 64-bit inode numbers (now Mac OS X 10.5 or later is required).
* Switched from unmaintained MacFUSE to OSXFUSE (http://osxfuse.github.com).
* Fixed device size detection. Now mkfs works.
* Workarounded some utilities failures due to missing chmod() support.
* Disabled (senseless) permission checks made by FUSE.

0.9.8 (2012-08-09)

* The mkfs utility can now create huge file systems (up to several exabytes).
* Fixed handling of characters beyond Basic Multilingual Plane.
* Echo messages to syslog only if stderr is not connected to a terminal.

0.9.7 (2012-03-08)

* Out-of-the-box FreeBSD support (via ublio library).
* Fixed "missing EOD entry" error (could happen while reading directory that
consists of several clusters).
* Fixed interpretation of minutes field in files timestamps (minutes could be
displayed incorrectly).
* Fixed mtime seconds field initialization for newly created file (mtime could
be 1 sec less than creation time).
* SConscript now respects CC, CCFLAGS and LDFLAGS environment variables.

0.9.6 (2012-01-14)

* Fixed write performance regression introduced in 0.9.4.
* Mount in read-only mode if the device is write-protected.
* Set ctime to mtime to ensure we don't break programs that rely on ctime
(e.g. rsync considered that all files are outdated) [Eldad Zack].
* Indicate that FS in not clean when it was not cleanly unmounted.
* Utilities are now compatible with GNU/Hurd.
* Fixed several memory leaks that could occur on error handling paths.
* Improved handling of corrupted file systems.

0.9.5 (2011-05-15)

* Fixed erasing of the root directory cluster when creating a new FS with
mkexfatfs. This bug could cause mkexfatfs to produce invalid FS.
* Utilities are not linked with libfuse anymore.
* Ensure that the path being opened is either a device or a regular file.

0.9.4 (2011-03-05)

* Introduced exfat-utils: dumpexfat, exfatfsck, mkexfatfs, exfatlabel.
* Fixed "Invalid argument" error while mounting a volume from a disk with sector size greater than 512 bytes.
* Wait for all data to be flushed to disk on unmount.
* Kernel cache is no longer flushed on open. This can slightly improve read performance by avoiding extra read requests from kernel to user-space.
* Allow to unmount volumes as user (fusermount -u) if they were mounted from the very same user [Tino Lange].
* Errors and warnings are now duplicated to syslog.

0.9.3 (2010-09-25)

* Directories now can shrink.
* Improved timestamps resolution from 2 sec to 1 sec.
* Fixed timestamps displaying under Mac OS X when compiled for i386 or ppc.
* Fixed FS size displaying for non-GNU systems.

0.9.2 (2010-07-24)

* Fixed a bug which could cause the whole directory to become unreadable after renaming a file in it.
* Support for Solaris and various *BSD [Albert Lee].
* Improved error handling on corrupted volumes.
* Improved allowed file name characters filter.
* Added man page.

0.9.1 (2010-06-12)

* Implemented automounting (util-linux-ng 2.18 or later is required).
* Fixed mounting when cluster bitmap is larger than expected.
* Fixed crash on statfs() when root directory contains error.
* Fixed bugs specific to big-endian machines.
* Other bugfixes.

0.9.0 (2010-03-21)

* Initial release.
