CHANGES FROM VERSION 11 TO 12
=============================

  - fixed typo in diagnostic printk in read_super.
  - fixed buffer leak in msdos_rmdir.
  - renaming to existing files/directories now complies with POSIX.1.
  - fixed possible division by zero when trying to mount non-DOS file
    systems.
  - new mount option "quiet" to suppress EPERM on chmod/chown.
  - changed version string from "alpha.##" to "##".
  - fromdos/todos: added conversion between PC and Latin-1 character
    set.


CHANGES FROM VERSION 10 TO 11
=============================

  - some minor changes for 0.99pl7 compatibility.
  - added a check for creation of '.' and '..' to the regression test.
  - removed some gcc 2.3.3 warnings from smount.c and todos.c


CHANGES FROM VERSION 9 TO 10
============================

  - lowered the 12 bit FAT limit from 4086 to 4078 clusters.
  - added new mount option "fat".
  - bad sectors in files now imply EOF.
  - disallowed creation of directories '.' and '..' in root.
  - improved boot sector sanity checks.
  - fixed a race condition in RSS_FREE (misc.c)


CHANGES FROM VERSION 8 TO 9
===========================

  - FS errors are now handled by reporting the error and setting the
    file system read-only rather than generating a kernel panic.
  - renaming to a directory now extends the directory if it is full.
  - execute bits of regular files are now automatically set unless the
    file system is mounted noexec.
  - mode changes are automatically normalized, attempts to change
    uid/gid are denied.
  - added support for logical sectors > 512 bytes. (Based on a patch
    from Drew Eckhardt.)
  - the last free cluster pointer is now maintained on a per-FS
    basis. This should give better performance when using multiple
    MS-DOS filesystems in parallel.
  - directory lookups are now performed per cluster rather than per
    directory entry. This should be much faster.
  - FAT entries of open moved files are now cached and the cache
    entries are invalidated on the last close. So we'll get decent
    performance even in this case.
  - 0xF6-filled directory entries are now recognized as being empty.
  - spaces are now disallowed in file names if "strict" checking is
    enabled.
  - on-disk data structures are now accessed through macros to allow
    for easy addition of byte order conversion.
  - added new binary extensions TAZ, TZP and TPZ
  - added more comments, miscellaneous cleanup.
  - smount now supports -o remount.
  - added a file system performance tester.
  - updated and extended the regression test.
  - removed compiler warnings from fromdos.c


INTERIM CHANGES SINCE VERSION 8
===============================

  - fixed FS corruption after renaming of directories.
  - fixed accidential disabling of the FAT cache in alpha.8.


CHANGES FROM VERSION 7 TO 8
===========================

  - fixed a subtle FAT cache corruption problem when renaming files
    accross directories.
  - added link count computation.
  - disallowed deletion of ..
  - improved statfs performance.
  - uses struct msdos_inode_info now.
  - i_blocks, i_blksize, f_bsize and f_blocks, etc. are now counted in
    clusters.
  - removed compiler warnings in fat.c
  - moved the changes sections into a separate CHANGES file.
  - regression test: a few additions.


CHANGES FROM VERSION 6 TO 7
===========================

  - changed name checking rules: "normal" now also accepts upper case
    characters and "normal" and "strict" are now pickier about special
    characters (*, =, etc.).
  - fixed a bug that caused allocation of all available clusters when
    filling "holes" in files.
  - cluster are now properly deallocated when running out of disk space
    while filling a "hole".
  - file modification dates are now in local time.
  - regression test: update and minor bug fixes.


CHANGES FROM VERSION 5 TO 6
===========================

  - corrected spelling of "relaxed".
  - msdos_rmdir did not deallocate clusters of removed directory files.
  - ATTR_HIDDEN is no longer interpreted by the FS.
  - fixed a bug in MS-DOS to UNIX date conversion that changed all
    months to January or April.
  - fixed a kernel panic when trying to mkdir on a full FS.
  - added new binary extensions "PCX" and "TZ".
  - added two entries to the "Known problems" section.
  - minor cosmetic changes.


CHANGES FROM VERSION 4 TO 5
===========================

  - fixed mount option parsing and error handling.
  - changed mount option "conv" to "check".
  - added adaptive text conversion. (conv=auto)
  - added FAT caching. This speeds floppy accesses by a factor of 2 to 5
    on large files. Hard disk accesses gain probably even more.
  - more cosmetic changes.


CHANGES FROM VERSION 3 TO 4
===========================

  - fixed '..' lookup for sub-directories with more than 16 entries.
  - fixed inode access after iput in msdos_lookup.
  - truncate now verifies that it is working on a regular file.
  - added checks to reject file names that contain backslashes and names
    that begin with a dot.
  - allowed msdos_readdir to return leading and embedded spaces.
  - changed error code EEXIST back to ENOTEMPTY in rename, because both
    conform to POSIX.
  - added user-selectable name conversion.
  - added more sanity checks.
  - test.pl now needs the conversion mode as its second argument.
  - test.pl now invokes pwd to get the current directory.
  - added more tests to test.pl
  - more cosmetic changes.


CHANGES FROM VERSION 2 TO 3
===========================

  - fixed format detection (16+ MB partitions and one overly paranoid
    sanity check.)
  - improved write performance by using getblk instead of sread where
    possible.
  - made I/O errors during file expansion non-fatal.
  - removed obsolete entries from the Makefile.
  - improved the cluster allocation strategy.
  - removed extra free_super from msdos_read_super.
  - corrected some error codes.
  - some cosmetic changes.


CHANGES FROM VERSION 1 TO 2
===========================

  - some minor changes for 0.96c compatibility.
  - removed standard tools (ls, mount and df) from the distribution
    because the new rootimage has them now.
  - updated the documentation to reflect the changes.


CHANGES FROM VERSION 0 TO 1
===========================

  - bug fix: '../..' could have had an invalid inode number if '..' has
    been removed from the inode cache after '.' was accessed.
  - rename can now move accross directories and implicitly delete its
    target.
  - mount checks for divisions by zero. (Can happen if mounting bad file
    systems.)
  - unlink now correctly reserves directory slots of files that are
    still in use.
  - a warning message is printed if a program attempts to read a
    directory file.
  - a regression test script is provided.
  - the archive attribute is now set whenever a regular file is
    modified.
  - many little documentation changes. Please (re-)read everything.
  - other minor changes.
