3 - Improved read characteristics (asynchronous reads)
5 - Support for aborting filesystem connection
7 - POSIX file locking support
9 - Request interruption support
11 - Building module for Linux kernels earlier than 2.6.9 not supported
15 - Merge library part of FreeBSD port
17 - New atomic create+open, access and ftruncate operations
19 - On filesystems implementing the new create+open operation, and
20 running on Linux kernels 2.6.15 or later, the 'cp' operation will
21 work correctly when copying read-only files.
23 - New option parsing interface added to the library
25 - Lots of minor improvements and fixes
29 - Simplify device opening. Now '/dev/fuse' is a requirement
31 - Allow module auto-loading if user has access to '/dev/fuse'
33 - Allow mounting over a regular file for unprivileged users
35 - Allow mounting of arbitrary FUSE filesystems from /etc/fstab
37 - New mount options: 'umask=M', 'uid=N', 'gid=N'
39 - Check for non-empty mountpoint, and refuse mount by default. New
40 mount option: 'nonempty'
42 - Low level (inode based) API added
44 - Allow 'direct_io' and 'keep_cache' options to be set on a
45 case-by-case basis on open.
47 - Add 'attr_timeout' and 'entry_timeout' mount options to the
48 high-level library. Until now these timeouts were fixed at 1 sec.
54 - Add new directory related operations: opendir(), readdir(),
55 releasedir() and fsyncdir()
57 - Add init() and destroy() operations which are called before the
58 event loop is started and after it has exited
60 - Update kernel ABI so that on dual architectures (e.g. AMD64) 32bit
61 binaries work under a 64bit kernel
69 - Add fuse_file_info structure to file operations, this allows the
70 filesystem to return a file handle in open() which is passed to
71 read(), write(), flush(), fsync() and release().
73 - Add source compatibility with 2.1 and 1.4 releases
75 - Binary compatibility with 2.1 release is retained
79 - Make requests interruptible. This prevents the filesystem to go
80 into an unbreakable deadlock with itself.
82 - Make readpages() synchronous. Asynchronous requests are deadlock
83 prone, since they cannot be interrupted (see above)
85 - Remove shared-writeable mapping support, which could deadlock the
88 - Remove INVALIDATE userspace initiated request
90 - Update ABI to be independent of sizeof(long), so dual-size archs
93 - Remove /sys/fs/fuse/version. Version checking is now done through
96 - Replace directory reading method on the kernel interface. Instead
97 of passing an open file descriptor to the kernel, send data through
98 the FUSE device, like all other operations.
100 ============================================================================
106 * Improved support for filesystems implementing a custom event-loop
108 * Add 'pkg-config' support
110 * Kernel module can be compiled separately
112 ============================================================================
118 * Minor modifications to the library API
120 * Improvements to the kernel/userspace interface
122 * Mounting by non-root made more secure
124 * Build shared library in addition to the static one
126 * Consolidated mount options
128 * Optimized reading under 2.6 kernels
132 * Support file I/O on deleted files
134 * Extended attributes support
136 ============================================================================
140 * Thanks to user bugreports and stress testing with LTP and sfx-linux
141 a number of bugs were fixed, some quite serious.
143 * Fix compile problems with recent SuSE kernles
145 ============================================================================
149 * Fix mount problems on recent 2.6 kernels with SELinux enabled
151 * Fixed writing files lager than 2GBytes
155 ============================================================================
159 * Support for the 2.6 kernels
161 * Support for exporting filesystem over NFS in 2.6 kernels
163 * Read efficiency improvements: read in 64k blocks instead of 4k
164 (Michael Grigoriev). Can be turned on with '-l' option of fusermount
166 * Lazy automatic unmount
168 * Added 'fsync()' VFS call to the FUSE interface
172 ============================================================================
176 * Cleanups and bugfixes
178 * Added 'release()' VFS call to the FUSE interface
180 * 64 bit file offsets (handling of > 4 GByte files)
182 * libfuse is now under LGPL
184 * New 'statfs' call (Mark Glines)
186 * Cleaned up mount procedure (mostly by Mark Glines)
188 NOTE: Binaries linked with with a previous version of libavfs may
189 not work with the new version of the fusermount program. In such
190 case recompile the program after installing the new libavfs library.
192 * Fix for problems under linux kernel 2.4.19
194 ============================================================================
198 * Optimized read/write operations. Raw throughput has increased to
199 about 60Mbyte/s on a Celeron/360
201 * Python bindings by Jeff Epler
203 * Perl bindings by Mark Glines
205 * Improved multithreaded operation
207 * Simplified library interface
211 ============================================================================