]> cloudbase.mooo.com Git - z180-stamp.git/blob - fatfs/src/00history.txt
Import fatfs R0.12b
[z180-stamp.git] / fatfs / src / 00history.txt
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