exfatprogs 1.3.0 - released 2025-10-15
======================================

NEW FEATURES :
 * defrag.exfat: add a tool to defragment an exFAT
   filesystem or assess its fragmentation status.
   See a man page.

CHANGES :
 * mkfs.exfat: minimize zero-out initialization work
   in quick format mode to reduce I/O time.
 * fsck.exfat: set the entry after an unused entry as unused.

BUG FIXES :
 * mkfs.exfat: fix incorrect FAT byte length calculation.
 * mkfs.exfat: avoid setting physical sector size into sector_size field.
 * fsck.exfat: fix a memory leaks in an error path.

exfatprogs 1.2.9 - released 2025-05-12
======================================

NEW FEATURES :
 * dump.exfat: support dumping directory entry sets,
   which prints all fields of directory entries and
   cluster chains. See a man page.

CHANGES :
 * exfatprogs: update the Github action for build test
   with Debain + clang + lld.

exfatprogs 1.2.8 - released 2025-03-04
======================================

BUG FIXES :
 * dump.exfat: fix an incorrect output of an entry
   position in 32-bit system.
 * mkfs.exfat: fill an oem sector with zero instead
   of one.
 * exfatprogs: fix compilation on musl based systems
   due to loff_t type. And update the Github action
   to validate builds on the system.

exfatprogs 1.2.7 - released 2025-02-03
======================================

NEW FEATURES :
 * fsck.exfat: support repairing the upcase table.

CHANGES :
 * exfatprogs: make sure to load the tbl preprocessor
   for man pages.

BUG FIXES :
 * exfatprogs: fix a double free memory error.
 * dump.exfat: fix a constraint that volume label, bitmap,
   upcase table must be located at the beginning of a root
   directory.

exfatprogs 1.2.6 - released 2024-11-20
======================================

CHANGES :
 * exfatprogs: replace obsolete autoconf and libtool
   macros.
 * mkfs.exfat: prefer the physical block size over
   the logical block size for the exFAT sector size.
 * mkfs.exfat: add notes about the format of the volume
   GUID to the man page.
 * mkfs.exfat: fix an incorrect calculation of the number
   of used clusters.

BUG FIXES :
 * exfatlabel: fix an user input error when setting
   a volume serial or label.

exfatprogs 1.2.5 - released 2024-08-06
======================================

CHANGES :
 * exfatprogs: remove the limitation that the device
   path length cannot exceed 254 bytes.
 * exfatprogs: include the test images in the release
   package.

NEW FEATURES :
 * fsck.exfat: check and repair the filename which has
   invalid characters.

BUG FIXES :
 * tune.exfat: check whether the volume has invalid
   characters correctly.
 * fsck.exfat: check whether the filename and volume
   has invalid characters correctly.
 * fsck.exfat: fix endianess issues which happen
   in the big-endian system.

exfatprogs 1.2.4 - released 2024-06-17
======================================

BUG FIXES :
 * tune.exfat: Fix "invalid serial number" error when
   setting an serial number.
 * fsck.exfat: Fix memory leak in an error path

exfatprogs 1.2.3 - released 2024-05-23
======================================

CHANGES :
 * dump.exfat: Report sector size in bytes and cluster size in
   terms of sectors.
 * fsck.exfat: Show checksum value if the SetChecksum of File
   directory entry is invalid.
 * mkfs.exfat: Improve FAT length calculation to reduce
   the FAT size.

NEW FEATURES :
 * mkfs.exfat: Add the option "--sector-size".
 * fsck.exfat: Support checking and repairing VendorAllcation and
   VendorExtension directory entries.

BUG FIXES :
 * exfatprogs: Remove unnecessary memory allocations.
 * fsck.exfat: Fix corruption that can occur if the cluster size
   is 512-byte.
 * fsck.exfat: Fix the SecondaryCount of File directory entry
   when the count of Name directory entries is 17 or higher.
 * tune.exfat: Fix an error that accepts invalid serial numbers.

exfatprogs 1.2.2 - released 2023-10-26
======================================

CHANGES :
 * exfat2img: Allow dumps for read-only devices.
 * fsck.exfat: Revert Repairing zero size directory.

NEW FEATURES :
 * fsck.exfat: Repair duplicated filename.
 * mkfs.exfat: Add the option "q" to print only error messages.
 * mkfs.exfat: Add the option "U" to set volume GUID.
 * tune.exfat: Add the option "U" / "-u" to set or print volume GUID.

BUG FIXES:
 * fsck.exfat: Fix some out-of-bounds memory accesses.
 * fsck.exfat: Change not to delete volume GUID directory entry.

exfatprogs 1.2.1 - released 2023-05-17
======================================

CHANGES :
 * fsck.exfat: Repair zero size directory.
 * fsck.exfat: Four small clean-ups.

exfatprogs 1.2.0 - released 2022-10-28
======================================

CHANGES :
 * fsck.exfat: Keep traveling files even if there is a corrupted
directory entry set.
 * fsck.exfat: Introduce the option "b" to recover a boot sector even
if an exFAT filesystem is not found.
 * fsck.exfat: Introduce the option "s" to create files in
"/LOST+FOUND", which have clusters allocated but was not belonged to
any files.
 * fsck.exfat: Rename '.' and '..' entry name to the one user want.

NEW FEATURES :
 * fsck.exfat: Repair corruptions of an exFAT filesystem. Please refer
to fsck.exfat manpage to see what kind of corruptions can be repaired.
 * exfat2img: Dump metadata of an exFAT filesystem. Please refer to
exfat2img manpage to see how to use it.

BUG FIXES:
 * fsck.exfat: Fix an infinite loop while traveling files.
 * tune.exfat: Fix bitmap entry corruption when adding new volume lablel.

exfatprogs 1.1.3 - released 2021-11-11
======================================

CHANGES :
 * mkfs.exfat: ensure that the cluster size is greater than or
   equal than the sector size.
 * mkfs.exfat: replace lseek() + write() with pwrite().

BUG FIXES :
 * mkfs.exfat: prevent an integer overflow when computing the FAT
   length.
 * fsck.exfat: fix a double free memory error.

exfatprogs 1.1.2 - released 2021-05-20
======================================

CHANGES :
 * mkfs.exfat: set 0x80 to DriveSelect of the boot sector

BUG FIXES :
 * Fix issues on 4KB logical sector devices
 * Fix issues when the sector size of of a file system is different from
   that of a block device.

exfatprogs 1.1.1 - released 2021-04-21
======================================

CHANGES :
 * mkfs.exfat: adjust the boundary alignment calculations to compensate
   for the volume offset.

NEW FEATURES :
 * mkfs.exfat: add the "--pack-bitmap" option to relocate the allocation
   bitmap to allow the FAT and the bitmap to share the same allocation
   unit on flash media.

BUG FIXES :
 * Fix wrong bit operations on 64-bit big.
 * Fix memory leaks in error paths.

exfatprogs 1.1.0 - released 2021-02-09
======================================

CHANGES :
 * fsck.exfat: recover corrupted boot region.

NEW FEATURES :
 * exfatlabel: Print or Set volume label and serial.
 * dump.exfat: Show the on-disk metadata information and the statistics.

BUG FIXES :
 * set _FILE_OFFSET_BITS=64 for Android build.

exfatprogs 1.0.4 - released 2020-07-31
======================================

CHANGES :
 * fsck.exfat: display sector, cluster, and volume sizes in the human
   readable format.
 * fsck.exfat: reduce the elapsed time using read-ahead.

NEW FEATURES :
 * mkfs.exfat: generate pseudo unique serials while creating filesystems.
 * mkfs.exfat: add the "-b" option to align the start offset of FAT and
   data clusters.
 * fsck.exfat: repair zero-byte files which have the NoFatChain attribute.

BUG FIXES :
 * Fix memory leaks on error handling paths.
 * fsck.exfat: fix the bug that cannot access space beyond 2TB.

exfatprogs 1.0.3 - released 2020-05-12
======================================

CHANGES :
 * Rename label.exfat to tune.exfat.
 * tune.exfat: change argument style(-l option for print level,
   -L option for setting label)
 * mkfs.exfat: harmonize set volume label option with tune.exfat.

NEW FEATURES :
 * Add man page.

BUG FIXES :
 * Fix the reported build warnings/errors.
 * Add memset to clean garbage in allocation.
 * Fix wrong volume label array size.
 * Open a device using O_EXCL to avoid formatting it while it is mounted.
 * Fix incomplete "make dist" generated tarball.


exfatprogs 1.0.2 - released 2020-04-23
======================================

CHANGES :
 * Rename project name to exfatprogs.
 * Replace iconv library by standard C functions mbstowcs() and wcrtomb().

NEW FEATURES :
 * Add support for Android build system.
 * label.exfat: Add support for label.exfat to set/get exfat volume label.

BUG FIXES :
 * Fix the build warnings/errors and add warning options.
 * Fix several bugs(memory leak, wrong endian conversion, zero out beyond
   end of file) and cleanup codes
 * Fix issues on big endian system and on 32bit system.


exfatprogs 1.0.1 - released 2020-04-09
======================================

NEW FEATURES :
 * mkfs.exfat: quick/full format support
 * mkfs.exfat: specify cluster size
 * mkfs.exfat: set volume label
 * fsck.exfat: consistency check support
