R0.07e, Nov 3, 2009
  Separated out configuration options from ff.h to ffconf.h.
  Added a configuration option, _LFN_UNICODE.
  Fixed f_unlink() fails to remove a sub-dir on _FS_RPATH.
  Fixed name matching error on the 13 char boundary.
  Changed f_readdir() to return the SFN with always upper case on non-LFN cfg.

R0.07c, Jun 21, 2009
  Fixed f_unlink() may return FR_OK on error.
  Fixed wrong cache control in f_lseek().
  Added relative path feature.
  Added f_chdir().
  Added f_chdrive().
  Added proper case conversion to extended characters.

R0.07a, Apr 14, 2009
  Separated out OS dependent code on re-entrant configuration.
  Added multiple sector size support.

R0.07, Apr 01, 2009
  Merged Tiny-FatFs into FatFs as a buffer configuration option.
  Added long file name support.
  Added multiple code page support.
  Added re-entrancy for multitask operation.
  Added auto cluster size selection to f_mkfs().
  Added rewind option to f_readdir().
  Changed result code of critical errors.
  Renamed string functions to avoid name collision.

R0.06, Apr 01, 2008
  Added f_forward. (Tiny-FatFs)
  Added string functions: fgets, fputc, fputs and fprintf.
  Improved performance of f_lseek on moving to the same or following cluster.

R0.05a, Feb 03, 2008
  Added f_truncate.
  Added f_utime.
  Fixed off by one error at FAT sub-type determination.
  Fixed btr in f_read can be mistruncated.
  Fixed cached sector is left not flushed when create and close without write.

R0.05, Aug 26, 2007
  Changed arguments of f_read, f_write.
  Changed arguments of f_mkfs. (FatFs)
  Fixed f_mkfs on FAT32 creates incorrect FSInfo. (FatFs)
  Fixed f_mkdir on FAT32 creates incorrect directory. (FatFs)

R0.04b, May 05, 2007
  Added _USE_NTFLAG option.
  Added FSInfo support.
  Fixed some problems corresponds to FAT32. (Tiny-FatFs)
  Fixed DBCS name can result FR_INVALID_NAME.
  Fixed short seek (<= csize) collapses the file object.

R0.04a, Apr 01, 2007
  Supported multiple partitions on a plysical drive. (FatFs)
  Added minimization level 3.
  Added a capability of extending file size to f_lseek.
  Fixed an endian sensitive code in f_mkfs. (FatFs)
  Fixed a problem corresponds to FAT32 support. (Tiny-FatFs)

R0.04, Feb 04, 2007
  Supported multiple drive system. (FatFs)
  Changed some APIs for multiple drive system.
  Added f_mkfs. (FatFs)
  Added _USE_FAT32 option. (Tiny-FatFs)

R0.03a, Dec 11, 2006
  Improved cluster scan algolithm to write files fast.
  Fixed f_mkdir creates incorrect directory on FAT32.

R0.03, Sep 22, 2006
  Added f_rename.
  Changed option _FS_MINIMUM to _FS_MINIMIZE.

R0.02a, Jun 10, 2006
  Added a configuration option _FS_MINIMUM.

R0.02, Jun 01, 2006
  Added FAT12.
  Removed unbuffered mode.
  Fixed a problem on small (<32M) patition.

R0.01, Apr 29, 2006
  First release

R0.00, Feb 26, 2006
  Prototype (not released)

