3 - More scalable directory tree locking
5 - Atomic open(O_TRUNC) support
7 - Support big write requests on kernels 2.6.26 and newer
9 - Out-of-tree fuse module removed
11 - Better NFS exporting support
13 - New ioctl and poll requests
15 - New CUSE (Character Device in Userspace) interface
17 - Allow umask processing in userspace
19 - Added cache invalidation notifications
21 - Bugfixes and small improvements
25 - Stacking support for the high level API
27 - Add filename charset conversion module
33 - Improved read characteristics (asynchronous reads)
35 - Support for aborting filesystem connection
37 - POSIX file locking support
39 - Request interruption support
41 - Building module for Linux kernels earlier than 2.6.9 not supported
43 - Allow block device based filesystems to support swap files
45 - Several bugs fixed, including a rare system hang on SMP
49 - Merge library part of FreeBSD port
51 - New atomic create+open, access and ftruncate operations
53 - On filesystems implementing the new create+open operation, and
54 running on Linux kernels 2.6.15 or later, the 'cp' operation will
55 work correctly when copying read-only files.
57 - New option parsing interface added to the library
59 - Lots of minor improvements and fixes
63 - Simplify device opening. Now '/dev/fuse' is a requirement
65 - Allow module auto-loading if user has access to '/dev/fuse'
67 - Allow mounting over a regular file for unprivileged users
69 - Allow mounting of arbitrary FUSE filesystems from /etc/fstab
71 - New mount options: 'umask=M', 'uid=N', 'gid=N'
73 - Check for non-empty mountpoint, and refuse mount by default. New
74 mount option: 'nonempty'
76 - Low level (inode based) API added
78 - Allow 'direct_io' and 'keep_cache' options to be set on a
79 case-by-case basis on open.
81 - Add 'attr_timeout' and 'entry_timeout' mount options to the
82 high-level library. Until now these timeouts were fixed at 1 sec.
88 - Add new directory related operations: opendir(), readdir(),
89 releasedir() and fsyncdir()
91 - Add init() and destroy() operations which are called before the
92 event loop is started and after it has exited
94 - Update kernel ABI so that on dual architectures (e.g. AMD64) 32bit
95 binaries work under a 64bit kernel
103 - Add fuse_file_info structure to file operations, this allows the
104 filesystem to return a file handle in open() which is passed to
105 read(), write(), flush(), fsync() and release().
107 - Add source compatibility with 2.1 and 1.4 releases
109 - Binary compatibility with 2.1 release is retained
113 - Make requests interruptible. This prevents the filesystem to go
114 into an unbreakable deadlock with itself.
116 - Make readpages() synchronous. Asynchronous requests are deadlock
117 prone, since they cannot be interrupted (see above)
119 - Remove shared-writeable mapping support, which could deadlock the
122 - Remove INVALIDATE userspace initiated request
124 - Update ABI to be independent of sizeof(long), so dual-size archs
127 - Remove /sys/fs/fuse/version. Version checking is now done through
130 - Replace directory reading method on the kernel interface. Instead
131 of passing an open file descriptor to the kernel, send data through
132 the FUSE device, like all other operations.
134 ============================================================================
140 * Improved support for filesystems implementing a custom event-loop
142 * Add 'pkg-config' support
144 * Kernel module can be compiled separately
146 ============================================================================
152 * Minor modifications to the library API
154 * Improvements to the kernel/userspace interface
156 * Mounting by non-root made more secure
158 * Build shared library in addition to the static one
160 * Consolidated mount options
162 * Optimized reading under 2.6 kernels
166 * Support file I/O on deleted files
168 * Extended attributes support
170 ============================================================================
174 * Thanks to user bugreports and stress testing with LTP and sfx-linux
175 a number of bugs were fixed, some quite serious.
177 * Fix compile problems with recent SuSE kernles
179 ============================================================================
183 * Fix mount problems on recent 2.6 kernels with SELinux enabled
185 * Fixed writing files lager than 2GBytes
189 ============================================================================
193 * Support for the 2.6 kernels
195 * Support for exporting filesystem over NFS in 2.6 kernels
197 * Read efficiency improvements: read in 64k blocks instead of 4k
198 (Michael Grigoriev). Can be turned on with '-l' option of fusermount
200 * Lazy automatic unmount
202 * Added 'fsync()' VFS call to the FUSE interface
206 ============================================================================
210 * Cleanups and bugfixes
212 * Added 'release()' VFS call to the FUSE interface
214 * 64 bit file offsets (handling of > 4 GByte files)
216 * libfuse is now under LGPL
218 * New 'statfs' call (Mark Glines)
220 * Cleaned up mount procedure (mostly by Mark Glines)
222 NOTE: Binaries linked with with a previous version of libavfs may
223 not work with the new version of the fusermount program. In such
224 case recompile the program after installing the new libavfs library.
226 * Fix for problems under linux kernel 2.4.19
228 ============================================================================
232 * Optimized read/write operations. Raw throughput has increased to
233 about 60Mbyte/s on a Celeron/360
235 * Python bindings by Jeff Epler
237 * Perl bindings by Mark Glines
239 * Improved multithreaded operation
241 * Simplified library interface
245 ============================================================================