3 * exfatfsck can now repair some errors.
4 * Added experimental Android support for exfat-utils [liminghao, LongPingWEI,
5 Pablo Mendez Hernandez, Pierre-Hugues Husson].
6 * Cleaned up FUSE code preparing for FUSE 3 support.
7 * Removed OpenBSD support as it does not handle -o option in fuse_main().
8 * Re-introduced FreeBSD support [Oleksii Samorukov].
9 * Fixed DragonFly BSD support [Tomohiro Kusumi].
10 * dirent->d_type in now filled on readdir() [Mark Browning].
14 * Fixed new files or directories creation in the root directory: ensure there
15 are no 0x00 entries before valid ones; otherwise Windows can corrupt them.
16 * Fixed compilation on GNU/HURD platform.
20 * Fixed handling of two last clusters: operations with files that occupy these
22 * Fixed crash when started with stdin, stdout or stderr closed.
26 * Operations with directories (except initial listing) now make less
27 read/write system calls.
28 * Fixed handling of files with optional tail entries (0xe0-0xff): videoclip
29 files created by Sony cameras were missing.
30 * Write operations now correctly return ENOSPC (instead of EIO) when there is
31 no free disk space left.
32 * Fixed max file name length: it's 255 16-bit code units (not 256).
36 * Added an option for dumpexfat to show file fragments [Daniel Drake].
37 * Fixed crash when directory starts with an invalid cluster.
38 * Daylight saving time in now properly reflected in file timestamps.
42 * Fixed wrong files names hashes when upper case table is compressed.
43 * Man pages are now installed by default.
44 * Commas and backslashes in device names are now escaped.
48 * Fixed clusters loss when file renaming replaces target.
52 * Improved reliability in case of a sudden unplug: FS will be in a clean state
53 after closing all files and performing sync(1).
54 * Fixed compilation on Debian GNU/kFreeBSD and GNU/Hurd platforms.
55 * Updated mount.exfat-fuse man page.
59 * Fixed compatibility with Zalman VE-200: now newly created directories do not
61 * Fixed heap corruption: malformed FS can use invalid sector or cluster size.
62 * Fixed hang on mount: malformed FS can have cyclic references in the clusters
67 * Switched from SCons to autotools.
68 * Added musl libc support [Brendan Heading].
69 * Worked around "FS is larger than device" error for memory cards formatted by
70 Panasonic Lumix cameras.
71 * Worked around "unknown entry type 0xe1" error for memory cards formatted by
76 * Fixed mkfs crash on some sectors-per-cluster (-s option) values.
80 * Relicensed the project from GPLv3+ to GPLv2+.
81 * OpenBSD support [Helg Bredow].
82 * Improved I/O errors handling.
83 * Implemented fsync() and fsyncdir().
84 * Fixed crash on Mac OS X 10.5 caused by non-standard use of realpath(). Also
85 fixed TrueCrypt disks unmounting.
86 * Avoid extra erase on writes to the end of a file. This should improve linear
88 * Allow arbitrary changing of lower 9 bits of mode. Allow owner/group changing
89 to the same owner/group. This fixes rsync.
90 * Fixed buffers overflows when handling lengthy file names.
91 * Fixed "real size does not equal to size" error on volumes with pagefile.sys.
92 * Fixed negative IUsed in "df -i" output.
96 * Fixed unexpected removal of a directory if it is moved into itself.
97 * Fixed "Operation not permitted" error on reading an empty file.
101 * Fixed crash when renaming a file within a single directory and a new name
102 differs only in case.
103 * Fixed clusters allocation: a cluster beyond valid clusters range could be
105 * Fixed crash when a volume is unmounted while some files are open.
106 * SConscript now respects AR and RANLIB environment variables.
107 * Improved error handling.
111 * Enabled big_writes. This improves write speed (larger block size means less
112 switches between kernel- and user-space).
113 * Do BLKROGET ioctl to make sure the device is not read-only: after
114 "blockdev --setro" kernel still allows to open the device in read-write mode
119 * Fixed OS X 10.8 support.
120 * Switched to 64-bit inode numbers (now Mac OS X 10.5 or later is required).
121 * Switched from unmaintained MacFUSE to OSXFUSE (http://osxfuse.github.com).
122 * Fixed device size detection. Now mkfs works.
123 * Workarounded some utilities failures due to missing chmod() support.
124 * Disabled (senseless) permission checks made by FUSE.
128 * The mkfs utility can now create huge file systems (up to several exabytes).
129 * Fixed handling of characters beyond Basic Multilingual Plane.
130 * Echo messages to syslog only if stderr is not connected to a terminal.
134 * Out-of-the-box FreeBSD support (via ublio library).
135 * Fixed "missing EOD entry" error (could happen while reading directory that
136 consists of several clusters).
137 * Fixed interpretation of minutes field in files timestamps (minutes could be
138 displayed incorrectly).
139 * Fixed mtime seconds field initialization for newly created file (mtime could
140 be 1 sec less than creation time).
141 * SConscript now respects CC, CCFLAGS and LDFLAGS environment variables.
145 * Fixed write performance regression introduced in 0.9.4.
146 * Mount in read-only mode if the device is write-protected.
147 * Set ctime to mtime to ensure we don't break programs that rely on ctime
148 (e.g. rsync considered that all files are outdated) [Eldad Zack].
149 * Indicate that FS in not clean when it was not cleanly unmounted.
150 * Utilities are now compatible with GNU/Hurd.
151 * Fixed several memory leaks that could occur on error handling paths.
152 * Improved handling of corrupted file systems.
156 * Fixed erasing of the root directory cluster when creating a new FS with
157 mkexfatfs. This bug could cause mkexfatfs to produce invalid FS.
158 * Utilities are not linked with libfuse anymore.
159 * Ensure that the path being opened is either a device or a regular file.
163 * Introduced exfat-utils: dumpexfat, exfatfsck, mkexfatfs, exfatlabel.
164 * Fixed "Invalid argument" error while mounting a volume from a disk with sector size greater than 512 bytes.
165 * Wait for all data to be flushed to disk on unmount.
166 * Kernel cache is no longer flushed on open. This can slightly improve read performance by avoiding extra read requests from kernel to user-space.
167 * Allow to unmount volumes as user (fusermount -u) if they were mounted from the very same user [Tino Lange].
168 * Errors and warnings are now duplicated to syslog.
172 * Directories now can shrink.
173 * Improved timestamps resolution from 2 sec to 1 sec.
174 * Fixed timestamps displaying under Mac OS X when compiled for i386 or ppc.
175 * Fixed FS size displaying for non-GNU systems.
179 * Fixed a bug which could cause the whole directory to become unreadable after renaming a file in it.
180 * Support for Solaris and various *BSD [Albert Lee].
181 * Improved error handling on corrupted volumes.
182 * Improved allowed file name characters filter.
187 * Implemented automounting (util-linux-ng 2.18 or later is required).
188 * Fixed mounting when cluster bitmap is larger than expected.
189 * Fixed crash on statfs() when root directory contains error.
190 * Fixed bugs specific to big-endian machines.