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