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 when 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 | Made f_rename() 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 |
|
---|
280 |
|
---|
281 |
|
---|
282 | R0.12c (March 04, 2017)
|
---|
283 |
|
---|
284 | Improved write throughput at the fragmented file on the exFAT volume.
|
---|
285 | Made memory usage for exFAT be able to be reduced as decreasing _MAX_LFN.
|
---|
286 | Fixed successive f_getfree() can return wrong count on the FAT12/16 volume. (appeared at R0.12)
|
---|
287 | Fixed configuration option _VOLUMES cannot be set 10. (appeared at R0.10c)
|
---|
288 |
|
---|