3 - Add "zero copy" support for kernel 2.6.35 or newer
5 - Make maximum background requests tunable on kernel 2.6.32 or newer
7 - Require --no-canonicalize in (u)mount (util-linux version 2.18 or
8 newer) to fix security problems with fusermount
10 - Use dynamically sized hash tables in high level library
12 - Memory use of filesystem daemon can shrink more easily
14 - Add "auto_unmount" option
16 - Add "remember" option
18 - Add man pages for fusermount, mount.fuse and ulockmgr_server
22 o Introduce "store" and "retrieve" for accessing kernel buffers on
23 kernel 2.6.36 or newer
25 o Introduce abstract buffer for zero copy operations
27 o Allow path calculation to be omitted on certain operations
29 o Allow batching forget requests
33 o Add support for ioctl on directories
35 o Add delete notification
37 o Add fallocate operation (linux kernel 3.5 or newer)
39 - Bug fixes and small improvements
41 ============================================================================
45 - More scalable directory tree locking
47 - Atomic open(O_TRUNC) support
49 - Support big write requests on kernels 2.6.26 and newer
51 - Out-of-tree fuse module removed
53 - Better NFS exporting support
55 - New ioctl and poll requests
57 - New CUSE (Character Device in Userspace) interface
59 - Allow umask processing in userspace
61 - Added cache invalidation notifications
63 - Bugfixes and small improvements
65 ============================================================================
69 - Stacking support for the high level API
71 - Add filename charset conversion module
75 ============================================================================
79 - Improved read characteristics (asynchronous reads)
81 - Support for aborting filesystem connection
83 - POSIX file locking support
85 - Request interruption support
87 - Building module for Linux kernels earlier than 2.6.9 not supported
89 - Allow block device based filesystems to support swap files
91 - Several bugs fixed, including a rare system hang on SMP
93 ============================================================================
97 - Merge library part of FreeBSD port
99 - New atomic create+open, access and ftruncate operations
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.
105 - New option parsing interface added to the library
107 - Lots of minor improvements and fixes
109 ============================================================================
113 - Simplify device opening. Now '/dev/fuse' is a requirement
115 - Allow module auto-loading if user has access to '/dev/fuse'
117 - Allow mounting over a regular file for unprivileged users
119 - Allow mounting of arbitrary FUSE filesystems from /etc/fstab
121 - New mount options: 'umask=M', 'uid=N', 'gid=N'
123 - Check for non-empty mountpoint, and refuse mount by default. New
124 mount option: 'nonempty'
126 - Low level (inode based) API added
128 - Allow 'direct_io' and 'keep_cache' options to be set on a
129 case-by-case basis on open.
131 - Add 'attr_timeout' and 'entry_timeout' mount options to the
132 high-level library. Until now these timeouts were fixed at 1 sec.
136 ============================================================================
140 - Add new directory related operations: opendir(), readdir(),
141 releasedir() and fsyncdir()
143 - Add init() and destroy() operations which are called before the
144 event loop is started and after it has exited
146 - Update kernel ABI so that on dual architectures (e.g. AMD64) 32bit
147 binaries work under a 64bit kernel
151 ============================================================================
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().
161 - Add source compatibility with 2.1 and 1.4 releases
163 - Binary compatibility with 2.1 release is retained
167 - Make requests interruptible. This prevents the filesystem to go
168 into an unbreakable deadlock with itself.
170 - Make readpages() synchronous. Asynchronous requests are deadlock
171 prone, since they cannot be interrupted (see above)
173 - Remove shared-writeable mapping support, which could deadlock the
176 - Remove INVALIDATE userspace initiated request
178 - Update ABI to be independent of sizeof(long), so dual-size archs
181 - Remove /sys/fs/fuse/version. Version checking is now done through
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.
188 ============================================================================
194 * Improved support for filesystems implementing a custom event-loop
196 * Add 'pkg-config' support
198 * Kernel module can be compiled separately
200 ============================================================================
206 * Minor modifications to the library API
208 * Improvements to the kernel/userspace interface
210 * Mounting by non-root made more secure
212 * Build shared library in addition to the static one
214 * Consolidated mount options
216 * Optimized reading under 2.6 kernels
220 * Support file I/O on deleted files
222 * Extended attributes support
224 ============================================================================
228 * Thanks to user bugreports and stress testing with LTP and sfx-linux
229 a number of bugs were fixed, some quite serious.
231 * Fix compile problems with recent SuSE kernles
233 ============================================================================
237 * Fix mount problems on recent 2.6 kernels with SELinux enabled
239 * Fixed writing files lager than 2GBytes
243 ============================================================================
247 * Support for the 2.6 kernels
249 * Support for exporting filesystem over NFS in 2.6 kernels
251 * Read efficiency improvements: read in 64k blocks instead of 4k
252 (Michael Grigoriev). Can be turned on with '-l' option of fusermount
254 * Lazy automatic unmount
256 * Added 'fsync()' VFS call to the FUSE interface
260 ============================================================================
264 * Cleanups and bugfixes
266 * Added 'release()' VFS call to the FUSE interface
268 * 64 bit file offsets (handling of > 4 GByte files)
270 * libfuse is now under LGPL
272 * New 'statfs' call (Mark Glines)
274 * Cleaned up mount procedure (mostly by Mark Glines)
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.
280 * Fix for problems under linux kernel 2.4.19
282 ============================================================================
286 * Optimized read/write operations. Raw throughput has increased to
287 about 60Mbyte/s on a Celeron/360
289 * Python bindings by Jeff Epler
291 * Perl bindings by Mark Glines
293 * Improved multithreaded operation
295 * Simplified library interface
299 ============================================================================