1What is new in 2.9
2
3 - Add "zero copy" support for kernel 2.6.35 or newer
4
5 - Make maximum background requests tunable on kernel 2.6.32 or newer
6
7 - Require --no-canonicalize in (u)mount (util-linux version 2.18 or
8   newer) to fix security problems with fusermount
9
10 - Use dynamically sized hash tables in high level library
11
12 - Memory use of filesystem daemon can shrink more easily
13
14 - Add "auto_unmount" option
15
16 - Add "remember" option
17
18 - Add man pages for fusermount, mount.fuse and ulockmgr_server
19
20 - API changes:
21
22    o Introduce "store" and "retrieve" for accessing kernel buffers on
23      kernel 2.6.36 or newer
24
25    o Introduce abstract buffer for zero copy operations
26
27    o Allow path calculation to be omitted on certain operations
28
29    o Allow batching forget requests
30
31    o Add "flock" method
32
33    o Add support for ioctl on directories
34
35    o Add delete notification
36
37    o Add fallocate operation (linux kernel 3.5 or newer)
38
39 - Bug fixes and small improvements
40
41============================================================================
42
43What is new in 2.8
44
45 - More scalable directory tree locking
46
47 - Atomic open(O_TRUNC) support
48
49 - Support big write requests on kernels 2.6.26 and newer
50
51 - Out-of-tree fuse module removed
52
53 - Better NFS exporting support
54
55 - New ioctl and poll requests
56
57 - New CUSE (Character Device in Userspace) interface
58
59 - Allow umask processing in userspace
60
61 - Added cache invalidation notifications
62
63 - Bugfixes and small improvements
64
65============================================================================
66
67What is new in 2.7
68
69 - Stacking support for the high level API
70
71 - Add filename charset conversion module
72
73 - Improved mounting
74
75============================================================================
76
77What is new in 2.6
78
79 - Improved read characteristics (asynchronous reads)
80
81 - Support for aborting filesystem connection
82
83 - POSIX file locking support
84
85 - Request interruption support
86
87 - Building module for Linux kernels earlier than 2.6.9 not supported
88
89 - Allow block device based filesystems to support swap files
90
91 - Several bugs fixed, including a rare system hang on SMP
92
93============================================================================
94
95What is new in 2.5
96
97 - Merge library part of FreeBSD port
98
99 - New atomic create+open, access and ftruncate operations
100
101 - On filesystems implementing the new create+open operation, and
102   running on Linux kernels 2.6.15 or later, the 'cp' operation will
103   work correctly when copying read-only files.
104
105 - New option parsing interface added to the library
106
107 - Lots of minor improvements and fixes
108
109============================================================================
110
111What is new in 2.4
112
113 - Simplify device opening.  Now '/dev/fuse' is a requirement
114
115 - Allow module auto-loading if user has access to '/dev/fuse'
116
117 - Allow mounting over a regular file for unprivileged users
118
119 - Allow mounting of arbitrary FUSE filesystems from /etc/fstab
120
121 - New mount options: 'umask=M', 'uid=N', 'gid=N'
122
123 - Check for non-empty mountpoint, and refuse mount by default.  New
124   mount option: 'nonempty'
125
126 - Low level (inode based) API added
127
128 - Allow 'direct_io' and 'keep_cache' options to be set on a
129   case-by-case basis on open.
130
131 - Add 'attr_timeout' and 'entry_timeout' mount options to the
132   high-level library.  Until now these timeouts were fixed at 1 sec.
133
134 - Some bugfixes
135
136============================================================================
137
138What is new in 2.3
139
140 - Add new directory related operations: opendir(), readdir(),
141   releasedir() and fsyncdir()
142
143 - Add init() and destroy() operations which are called before the
144   event loop is started and after it has exited
145
146 - Update kernel ABI so that on dual architectures (e.g. AMD64) 32bit
147   binaries work under a 64bit kernel
148
149 - Bugfixes
150
151============================================================================
152
153What is new in 2.2
154
155Userspace changes:
156
157 - Add fuse_file_info structure to file operations, this allows the
158   filesystem to return a file handle in open() which is passed to
159   read(), write(), flush(), fsync() and release().
160
161 - Add source compatibility with 2.1 and 1.4 releases
162
163 - Binary compatibility with 2.1 release is retained
164
165Kernel changes:
166
167 - Make requests interruptible.  This prevents the filesystem to go
168   into an unbreakable deadlock with itself.
169
170 - Make readpages() synchronous.  Asynchronous requests are deadlock
171   prone, since they cannot be interrupted (see above)
172
173 - Remove shared-writeable mapping support, which could deadlock the
174   machine
175
176 - Remove INVALIDATE userspace initiated request
177
178 - Update ABI to be independent of sizeof(long), so dual-size archs
179   don't cause problems
180
181 - Remove /sys/fs/fuse/version.  Version checking is now done through
182   the fuse device
183
184 - Replace directory reading method on the kernel interface.  Instead
185   of passing an open file descriptor to the kernel, send data through
186   the FUSE device, like all other operations.
187
188============================================================================
189
190What is new in 2.1
191
192* Bug fixes
193
194* Improved support for filesystems implementing a custom event-loop
195
196* Add 'pkg-config' support
197
198* Kernel module can be compiled separately
199
200============================================================================
201
202What is new in 1.9
203
204* Lots of bugs fixed
205
206* Minor modifications to the library API
207
208* Improvements to the kernel/userspace interface
209
210* Mounting by non-root made more secure
211
212* Build shared library in addition to the static one
213
214* Consolidated mount options
215
216* Optimized reading under 2.6 kernels
217
218* Direct I/O support
219
220* Support file I/O on deleted files
221
222* Extended attributes support
223
224============================================================================
225
226What is new in 1.3
227
228* Thanks to user bugreports and stress testing with LTP and sfx-linux
229a number of bugs were fixed, some quite serious.
230
231* Fix compile problems with recent SuSE kernles
232
233============================================================================
234
235What is new in 1.2
236
237* Fix mount problems on recent 2.6 kernels with SELinux enabled
238
239* Fixed writing files lager than 2GBytes
240
241* Other bugfixes
242
243============================================================================
244
245What is new in 1.1
246
247* Support for the 2.6 kernels
248
249* Support for exporting filesystem over NFS in 2.6 kernels
250
251* Read efficiency improvements: read in 64k blocks instead of 4k
252(Michael Grigoriev).  Can be turned on with '-l' option of fusermount
253
254* Lazy automatic unmount
255
256* Added 'fsync()' VFS call to the FUSE interface
257
258* Bugfixes
259
260============================================================================
261
262What is new in 1.0
263
264* Cleanups and bugfixes
265
266* Added 'release()' VFS call to the FUSE interface
267
268* 64 bit file offsets (handling of > 4 GByte files)
269
270* libfuse is now under LGPL
271
272* New 'statfs' call (Mark Glines)
273
274* Cleaned up mount procedure (mostly by Mark Glines)
275
276  NOTE: Binaries linked with with a previous version of libavfs may
277  not work with the new version of the fusermount program.  In such
278  case recompile the program after installing the new libavfs library.
279
280* Fix for problems under linux kernel 2.4.19
281
282============================================================================
283
284What is new in 0.95
285
286* Optimized read/write operations.  Raw throughput has increased to
287about 60Mbyte/s on a Celeron/360
288
289* Python bindings by Jeff Epler
290
291* Perl bindings by Mark Glines
292
293* Improved multithreaded operation
294
295* Simplified library interface
296
297* Bugfixes
298
299============================================================================
300
301What is new in 0.9:
302
303* Everything
304