Blame NEWS

Packit Service 48855a
dosfstools 4.1 - released 2017-01-24
Packit Service 48855a
====================================
Packit Service 48855a
Packit Service 48855a
A test suite is now included and can be run with "make check". The test suite
Packit Service 48855a
requires xxd from the vim distribution to recreate image files from hexdumps and
Packit Service 48855a
also adds a dependency on automake 1.11 or later for building from sources other
Packit Service 48855a
than the release tarball.
Packit Service 48855a
Packit Service 48855a
Now the default for mkfs for filesystems smaller than 512 MB is 64 heads / 32
Packit Service 48855a
sectors to make the defaults a bit more in line with the old defaults used up to
Packit Service 48855a
3.0.28.
Packit Service 48855a
Packit Service 48855a
Other changes are fixes, some of them user visible, such as setting the sector
Packit Service 48855a
size by command line option for mkfs working again after being broken in 4.0.
Packit Service 48855a
Packit Service 48855a
Fixed a possible fatlabel crash when writing a label to an unlabelled filesystem
Packit Service 48855a
and the given label contains printf style format specifiers.
Packit Service 48855a
Packit Service 48855a
When circular cluster chains were detected and the -t option was not given, fsck
Packit Service 48855a
used to truncate the file to zero length while not updating the free cluster
Packit Service 48855a
count. This required a second fsck run to clear. Now it always truncates to the
Packit Service 48855a
last cluster that begins the loop, as it is supposed to.
Packit Service 48855a
Packit Service 48855a
The parsing of octal character specifications for filenames in the -u and -d
Packit Service 48855a
options of fsck now works. It was broken in some ancient version and would
Packit Service 48855a
always fail.
Packit Service 48855a
Packit Service 48855a
Packit Service 48855a
dosfstools 4.0 - released 2016-05-06
Packit Service 48855a
====================================
Packit Service 48855a
Packit Service 48855a
The programs are now portable to non-Linux operating systems. To that end, the
Packit Service 48855a
build system has been converted to use autotools. There have been Linux
Packit Service 48855a
specifics in a lot of places which have been either eliminated or should have
Packit Service 48855a
equivalents so that it should now work in other Unix-like environments. It has
Packit Service 48855a
been tested on FreeBSD and OS X.
Packit Service 48855a
Packit Service 48855a
As part of making it portable all the code that assumed 8 bit major/minor
Packit Service 48855a
numbers - and in fact masked out all other bits - has been cleaned up. Now
Packit Service 48855a
mkfs.vfat should not misidentify devices anymore and require the -I option to
Packit Service 48855a
override. The new device probing uses libudev (if available) to collect more
Packit Service 48855a
information.
Packit Service 48855a
Packit Service 48855a
Fixed data corruption errors in fsck.fat: Writing to the third to last cluster
Packit Service 48855a
on FAT12 with an odd number of clusters would corrupt the following cluster. In
Packit Service 48855a
mkfs.fat, long existing bugs in bad cluster marking (from scanning or user
Packit Service 48855a
supplied bad blocks list) were fixed so that it actually marks the correct
Packit Service 48855a
clusters.
Packit Service 48855a
Packit Service 48855a
The automatic alignment of data clusters that was added in 3.0.8 and broken for
Packit Service 48855a
FAT32 starting with 3.0.20 has been reinstated. If you need to create file
Packit Service 48855a
systems for finicky devices that have broken FAT implementations use the option
Packit Service 48855a
-a to disable alignment.
Packit Service 48855a
Packit Service 48855a
Packit Service 48855a
dosfstools 3.0.28 - released 2015-05-16
Packit Service 48855a
=======================================
Packit Service 48855a
Packit Service 48855a
The major user visible change in this release is that fsck.fat now defaults to
Packit Service 48855a
interactive repair mode which previously had to be selected with -r. The
Packit Service 48855a
previous default of a read only check mode was confusing to users who had to
Packit Service 48855a
repeat a potentially lengthy fsck.fat run with the right option in order to
Packit Service 48855a
actually fix their file system. It was also pointless – the interactive repair
Packit Service 48855a
mode already won't write anything without asking for confirmation.
Packit Service 48855a
Packit Service 48855a
mkfs.fat now allows choosing 0xF0 as the media byte which was previously
Packit Service 48855a
rejected.
Packit Service 48855a
Packit Service 48855a
mkfs.fat now supports the --invariant option to facilitate testing mkfs.fat
Packit Service 48855a
itself. It will reproducibly generate filesystems without random or time based
Packit Service 48855a
differences between them when all else is identical.
Packit Service 48855a
Packit Service 48855a
Bugs fixed in fsck.fat are a read one byte beyond the end of an allocated array
Packit Service 48855a
when checking some FAT12 filesystems, and checking that the first cluster of a
Packit Service 48855a
file as specified in the directory entry is not 1. Previously it could attempt
Packit Service 48855a
to follow a block chain starting on cluster 1 and segfault when the conditions
Packit Service 48855a
are right.
Packit Service 48855a
Packit Service 48855a
Packit Service 48855a
dosfstools 3.0.27 - released 2014-11-12
Packit Service 48855a
=======================================
Packit Service 48855a
Packit Service 48855a
This is a pure bug fix release. The major bugs fixed:
Packit Service 48855a
Packit Service 48855a
* fatlabel did not recognize long file names and mistook long file name
Packit Service 48855a
  segments in the root directory for labels. This caused output of garbage when
Packit Service 48855a
  asked to print the label and damage to the root directory (loss of long file
Packit Service 48855a
  name after fsck) when used to set the label.
Packit Service 48855a
Packit Service 48855a
* A fsck.fat check introduced in 3.0.26 triggered use of uninitialized fields
Packit Service 48855a
  in the constructed root directory entry, which randomly caused the code
Packit Service 48855a
  checking file names to consider the empty "file name" of the root directory
Packit Service 48855a
  to be bad:
Packit Service 48855a
Packit Service 48855a
    $ /sbin/fsck.fat -y bad.img
Packit Service 48855a
    fsck.fat 3.0.26 (2014-03-07)
Packit Service 48855a
    /
Packit Service 48855a
    Bad short file name ().
Packit Service 48855a
    Auto-renaming it.
Packit Service 48855a
    Renamed to
Packit Service 48855a
    bad.img: 14 files, 19388/403266 clusters
Packit Service 48855a
Packit Service 48855a
* And finally fsck.fat will not print the version string anymore every time the
Packit Service 48855a
  -v option is encountered.