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