|
| 1 | +---------------------------------------------------------------------------- |
| 2 | + Revision history of FatFs module |
| 3 | +---------------------------------------------------------------------------- |
| 4 | + |
| 5 | +R0.00 (February 26, 2006) |
| 6 | + |
| 7 | + Prototype. |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | +R0.01 (April 29, 2006) |
| 12 | + |
| 13 | + The first release. |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | +R0.02 (June 01, 2006) |
| 18 | + |
| 19 | + Added FAT12 support. |
| 20 | + Removed unbuffered mode. |
| 21 | + Fixed a problem on small (<32M) partition. |
| 22 | + |
| 23 | + |
| 24 | + |
| 25 | +R0.02a (June 10, 2006) |
| 26 | + |
| 27 | + Added a configuration option (_FS_MINIMUM). |
| 28 | + |
| 29 | + |
| 30 | + |
| 31 | +R0.03 (September 22, 2006) |
| 32 | + |
| 33 | + Added f_rename(). |
| 34 | + Changed option _FS_MINIMUM to _FS_MINIMIZE. |
| 35 | + |
| 36 | + |
| 37 | + |
| 38 | +R0.03a (December 11, 2006) |
| 39 | + |
| 40 | + Improved cluster scan algorithm to write files fast. |
| 41 | + Fixed f_mkdir() creates incorrect directory on FAT32. |
| 42 | + |
| 43 | + |
| 44 | + |
| 45 | +R0.04 (February 04, 2007) |
| 46 | + |
| 47 | + Added f_mkfs(). |
| 48 | + Supported multiple drive system. |
| 49 | + Changed some interfaces for multiple drive system. |
| 50 | + Changed f_mountdrv() to f_mount(). |
| 51 | + |
| 52 | + |
| 53 | + |
| 54 | +R0.04a (April 01, 2007) |
| 55 | + |
| 56 | + Supported multiple partitions on a physical drive. |
| 57 | + Added a capability of extending file size to f_lseek(). |
| 58 | + Added minimization level 3. |
| 59 | + Fixed an endian sensitive code in f_mkfs(). |
| 60 | + |
| 61 | + |
| 62 | + |
| 63 | +R0.04b (May 05, 2007) |
| 64 | + |
| 65 | + Added a configuration option _USE_NTFLAG. |
| 66 | + Added FSINFO support. |
| 67 | + Fixed DBCS name can result FR_INVALID_NAME. |
| 68 | + Fixed short seek (<= csize) collapses the file object. |
| 69 | + |
| 70 | + |
| 71 | + |
| 72 | +R0.05 (August 25, 2007) |
| 73 | + |
| 74 | + Changed arguments of f_read(), f_write() and f_mkfs(). |
| 75 | + Fixed f_mkfs() on FAT32 creates incorrect FSINFO. |
| 76 | + Fixed f_mkdir() on FAT32 creates incorrect directory. |
| 77 | + |
| 78 | + |
| 79 | + |
| 80 | +R0.05a (February 03, 2008) |
| 81 | + |
| 82 | + Added f_truncate() and f_utime(). |
| 83 | + Fixed off by one error at FAT sub-type determination. |
| 84 | + Fixed btr in f_read() can be mistruncated. |
| 85 | + Fixed cached sector is not flushed when create and close without write. |
| 86 | + |
| 87 | + |
| 88 | + |
| 89 | +R0.06 (April 01, 2008) |
| 90 | + |
| 91 | + Added fputc(), fputs(), fprintf() and fgets(). |
| 92 | + Improved performance of f_lseek() on moving to the same or following cluster. |
| 93 | + |
| 94 | + |
| 95 | + |
| 96 | +R0.07 (April 01, 2009) |
| 97 | + |
| 98 | + Merged Tiny-FatFs as a configuration option. (_FS_TINY) |
| 99 | + Added long file name feature. (_USE_LFN) |
| 100 | + Added multiple code page feature. (_CODE_PAGE) |
| 101 | + Added re-entrancy for multitask operation. (_FS_REENTRANT) |
| 102 | + Added auto cluster size selection to f_mkfs(). |
| 103 | + Added rewind option to f_readdir(). |
| 104 | + Changed result code of critical errors. |
| 105 | + Renamed string functions to avoid name collision. |
| 106 | + |
| 107 | + |
| 108 | + |
| 109 | +R0.07a (April 14, 2009) |
| 110 | + |
| 111 | + Septemberarated out OS dependent code on reentrant cfg. |
| 112 | + Added multiple sector size feature. |
| 113 | + |
| 114 | + |
| 115 | + |
| 116 | +R0.07c (June 21, 2009) |
| 117 | + |
| 118 | + Fixed f_unlink() can return FR_OK on error. |
| 119 | + Fixed wrong cache control in f_lseek(). |
| 120 | + Added relative path feature. |
| 121 | + Added f_chdir() and f_chdrive(). |
| 122 | + Added proper case conversion to extended character. |
| 123 | + |
| 124 | + |
| 125 | + |
| 126 | +R0.07e (November 03, 2009) |
| 127 | + |
| 128 | + Septemberarated out configuration options from ff.h to ffconf.h. |
| 129 | + Fixed f_unlink() fails to remove a sub-directory on _FS_RPATH. |
| 130 | + Fixed name matching error on the 13 character boundary. |
| 131 | + Added a configuration option, _LFN_UNICODE. |
| 132 | + Changed f_readdir() to return the SFN with always upper case on non-LFN cfg. |
| 133 | + |
| 134 | + |
| 135 | + |
| 136 | +R0.08 (May 15, 2010) |
| 137 | + |
| 138 | + Added a memory configuration option. (_USE_LFN = 3) |
| 139 | + Added file lock feature. (_FS_SHARE) |
| 140 | + Added fast seek feature. (_USE_FASTSEEK) |
| 141 | + Changed some types on the API, XCHAR->TCHAR. |
| 142 | + Changed .fname in the FILINFO structure on Unicode cfg. |
| 143 | + String functions support UTF-8 encoding files on Unicode cfg. |
| 144 | + |
| 145 | + |
| 146 | + |
| 147 | +R0.08a (August 16, 2010) |
| 148 | + |
| 149 | + Added f_getcwd(). (_FS_RPATH = 2) |
| 150 | + Added sector erase feature. (_USE_ERASE) |
| 151 | + Moved file lock semaphore table from fs object to the bss. |
| 152 | + Fixed f_mkfs() creates wrong FAT32 volume. |
| 153 | + |
| 154 | + |
| 155 | + |
| 156 | +R0.08b (January 15, 2011) |
| 157 | + |
| 158 | + Fast seek feature is also applied to f_read() and f_write(). |
| 159 | + f_lseek() reports required table size on creating CLMP. |
| 160 | + Extended format syntax of f_printf(). |
| 161 | + Ignores duplicated directory separators in given path name. |
| 162 | + |
| 163 | + |
| 164 | + |
| 165 | +R0.09 (September 06, 2011) |
| 166 | + |
| 167 | + f_mkfs() supports multiple partition to complete the multiple partition feature. |
| 168 | + Added f_fdisk(). |
| 169 | + |
| 170 | + |
| 171 | + |
| 172 | +R0.09a (August 27, 2012) |
| 173 | + |
| 174 | + Changed f_open() and f_opendir() reject null object pointer to avoid crash. |
| 175 | + Changed option name _FS_SHARE to _FS_LOCK. |
| 176 | + Fixed assertion failure due to OS/2 EA on FAT12/16 volume. |
| 177 | + |
| 178 | + |
| 179 | + |
| 180 | +R0.09b (January 24, 2013) |
| 181 | + |
| 182 | + Added f_setlabel() and f_getlabel(). |
| 183 | + |
| 184 | + |
| 185 | + |
| 186 | +R0.10 (October 02, 2013) |
| 187 | + |
| 188 | + Added selection of character encoding on the file. (_STRF_ENCODE) |
| 189 | + Added f_closedir(). |
| 190 | + Added forced full FAT scan for f_getfree(). (_FS_NOFSINFO) |
| 191 | + Added forced mount feature with changes of f_mount(). |
| 192 | + Improved behavior of volume auto detection. |
| 193 | + Improved write throughput of f_puts() and f_printf(). |
| 194 | + Changed argument of f_chdrive(), f_mkfs(), disk_read() and disk_write(). |
| 195 | + Fixed f_write() can be truncated when the file size is close to 4GB. |
| 196 | + Fixed f_open(), f_mkdir() and f_setlabel() can return incorrect value on error. |
| 197 | + |
| 198 | + |
| 199 | + |
| 200 | +R0.10a (January 15, 2014) |
| 201 | + |
| 202 | + Added arbitrary strings as drive number in the path name. (_STR_VOLUME_ID) |
| 203 | + Added a configuration option of minimum sector size. (_MIN_SS) |
| 204 | + 2nd argument of f_rename() can have a drive number and it will be ignored. |
| 205 | + Fixed f_mount() with forced mount fails when drive number is >= 1. (appeared at R0.10) |
| 206 | + Fixed f_close() invalidates the file object without volume lock. |
| 207 | + Fixed f_closedir() returns but the volume lock is left acquired. (appeared at R0.10) |
| 208 | + Fixed creation of an entry with LFN fails on too many SFN collisions. (appeared at R0.07) |
| 209 | + |
| 210 | + |
| 211 | + |
| 212 | +R0.10b (May 19, 2014) |
| 213 | + |
| 214 | + Fixed a hard error in the disk I/O layer can collapse the directory entry. |
| 215 | + Fixed LFN entry is not deleted on delete/rename an object with lossy converted SFN. (appeared at R0.07) |
| 216 | + |
| 217 | + |
| 218 | + |
| 219 | +R0.10c (November 09, 2014) |
| 220 | + |
| 221 | + Added a configuration option for the platforms without RTC. (_FS_NORTC) |
| 222 | + Changed option name _USE_ERASE to _USE_TRIM. |
| 223 | + Fixed volume label created by Mac OS X cannot be retrieved with f_getlabel(). (appeared at R0.09b) |
| 224 | + Fixed a potential problem of FAT access that can appear on disk error. |
| 225 | + Fixed null pointer dereference on attempting to delete the root direcotry. (appeared at R0.08) |
| 226 | + |
| 227 | + |
| 228 | + |
| 229 | +R0.11 (February 09, 2015) |
| 230 | + |
| 231 | + Added f_findfirst(), f_findnext() and f_findclose(). (_USE_FIND) |
| 232 | + Fixed f_unlink() does not remove cluster chain of the file. (appeared at R0.10c) |
| 233 | + Fixed _FS_NORTC option does not work properly. (appeared at R0.10c) |
| 234 | + |
| 235 | + |
| 236 | + |
| 237 | +R0.11a (September 05, 2015) |
| 238 | + |
| 239 | + Fixed wrong media change can lead a deadlock at thread-safe configuration. |
| 240 | + Added code page 771, 860, 861, 863, 864, 865 and 869. (_CODE_PAGE) |
| 241 | + Removed some code pages actually not exist on the standard systems. (_CODE_PAGE) |
| 242 | + Fixed errors in the case conversion teble of code page 437 and 850 (ff.c). |
| 243 | + Fixed errors in the case conversion teble of Unicode (cc*.c). |
| 244 | + |
| 245 | + |
| 246 | + |
| 247 | +R0.12 (April 12, 2016) |
| 248 | + |
| 249 | + Added support for exFAT file system. (_FS_EXFAT) |
| 250 | + Added f_expand(). (_USE_EXPAND) |
| 251 | + Changed some members in FINFO structure and behavior of f_readdir(). |
| 252 | + Added an option _USE_CHMOD. |
| 253 | + Removed an option _WORD_ACCESS. |
| 254 | + Fixed errors in the case conversion table of Unicode (cc*.c). |
| 255 | + |
| 256 | + |
| 257 | + |
| 258 | +R0.12a (July 10, 2016) |
| 259 | + |
| 260 | + Added support for creating exFAT volume with some changes of f_mkfs(). |
| 261 | + Added a file open method FA_OPEN_APPEND. An f_lseek() following f_open() is no longer needed. |
| 262 | + f_forward() is available regardless of _FS_TINY. |
| 263 | + Fixed f_mkfs() creates wrong volume. (appeared at R0.12) |
| 264 | + Fixed wrong memory read in create_name(). (appeared at R0.12) |
| 265 | + Fixed compilation fails at some configurations, _USE_FASTSEEK and _USE_FORWARD. |
| 266 | + |
| 267 | + |
| 268 | + |
| 269 | +R0.12b (September 04, 2016) |
| 270 | + |
| 271 | + Improved f_rename() to be able to rename objects with the same name but case. |
| 272 | + Fixed an error in the case conversion teble of code page 866. (ff.c) |
| 273 | + Fixed writing data is truncated at the file offset 4GiB on the exFAT volume. (appeared at R0.12) |
| 274 | + Fixed creating a file in the root directory of exFAT volume can fail. (appeared at R0.12) |
| 275 | + Fixed f_mkfs() creating exFAT volume with too small cluster size can collapse unallocated memory. (appeared at R0.12) |
| 276 | + Fixed wrong object name can be returned when read directory at Unicode cfg. (appeared at R0.12) |
| 277 | + Fixed large file allocation/removing on the exFAT volume collapses allocation bitmap. (appeared at R0.12) |
| 278 | + Fixed some internal errors in f_expand() and f_lseek(). (appeared at R0.12) |
| 279 | + |
0 commit comments