Imported Upstream version 4.1
[platform/upstream/dosfstools.git] / NEWS
1 dosfstools 4.1 - released 2017-01-24
2 ====================================
3
4 A test suite is now included and can be run with "make check". The test suite
5 requires xxd from the vim distribution to recreate image files from hexdumps and
6 also adds a dependency on automake 1.11 or later for building from sources other
7 than the release tarball.
8
9 Now the default for mkfs for filesystems smaller than 512 MB is 64 heads / 32
10 sectors to make the defaults a bit more in line with the old defaults used up to
11 3.0.28.
12
13 Other changes are fixes, some of them user visible, such as setting the sector
14 size by command line option for mkfs working again after being broken in 4.0.
15
16 Fixed a possible fatlabel crash when writing a label to an unlabelled filesystem
17 and the given label contains printf style format specifiers.
18
19 When circular cluster chains were detected and the -t option was not given, fsck
20 used to truncate the file to zero length while not updating the free cluster
21 count. This required a second fsck run to clear. Now it always truncates to the
22 last cluster that begins the loop, as it is supposed to.
23
24 The parsing of octal character specifications for filenames in the -u and -d
25 options of fsck now works. It was broken in some ancient version and would
26 always fail.
27
28
29 dosfstools 4.0 - released 2016-05-06
30 ====================================
31
32 The programs are now portable to non-Linux operating systems. To that end, the
33 build system has been converted to use autotools. There have been Linux
34 specifics in a lot of places which have been either eliminated or should have
35 equivalents so that it should now work in other Unix-like environments. It has
36 been tested on FreeBSD and OS X.
37
38 As part of making it portable all the code that assumed 8 bit major/minor
39 numbers - and in fact masked out all other bits - has been cleaned up. Now
40 mkfs.vfat should not misidentify devices anymore and require the -I option to
41 override. The new device probing uses libudev (if available) to collect more
42 information.
43
44 Fixed data corruption errors in fsck.fat: Writing to the third to last cluster
45 on FAT12 with an odd number of clusters would corrupt the following cluster. In
46 mkfs.fat, long existing bugs in bad cluster marking (from scanning or user
47 supplied bad blocks list) were fixed so that it actually marks the correct
48 clusters.
49
50 The automatic alignment of data clusters that was added in 3.0.8 and broken for
51 FAT32 starting with 3.0.20 has been reinstated. If you need to create file
52 systems for finicky devices that have broken FAT implementations use the option
53 -a to disable alignment.
54
55
56 dosfstools 3.0.28 - released 2015-05-16
57 =======================================
58
59 The major user visible change in this release is that fsck.fat now defaults to
60 interactive repair mode which previously had to be selected with -r. The
61 previous default of a read only check mode was confusing to users who had to
62 repeat a potentially lengthy fsck.fat run with the right option in order to
63 actually fix their file system. It was also pointless – the interactive repair
64 mode already won't write anything without asking for confirmation.
65
66 mkfs.fat now allows choosing 0xF0 as the media byte which was previously
67 rejected.
68
69 mkfs.fat now supports the --invariant option to facilitate testing mkfs.fat
70 itself. It will reproducibly generate filesystems without random or time based
71 differences between them when all else is identical.
72
73 Bugs fixed in fsck.fat are a read one byte beyond the end of an allocated array
74 when checking some FAT12 filesystems, and checking that the first cluster of a
75 file as specified in the directory entry is not 1. Previously it could attempt
76 to follow a block chain starting on cluster 1 and segfault when the conditions
77 are right.
78
79
80 dosfstools 3.0.27 - released 2014-11-12
81 =======================================
82
83 This is a pure bug fix release. The major bugs fixed:
84
85 * fatlabel did not recognize long file names and mistook long file name
86   segments in the root directory for labels. This caused output of garbage when
87   asked to print the label and damage to the root directory (loss of long file
88   name after fsck) when used to set the label.
89
90 * A fsck.fat check introduced in 3.0.26 triggered use of uninitialized fields
91   in the constructed root directory entry, which randomly caused the code
92   checking file names to consider the empty "file name" of the root directory
93   to be bad:
94
95     $ /sbin/fsck.fat -y bad.img
96     fsck.fat 3.0.26 (2014-03-07)
97     /
98     Bad short file name ().
99     Auto-renaming it.
100     Renamed to
101     bad.img: 14 files, 19388/403266 clusters
102
103 * And finally fsck.fat will not print the version string anymore every time the
104   -v option is encountered.