What is new in 2.9 - Add "zero copy" support for kernel 2.6.35 or newer - Make maximum background requests tunable on kernel 2.6.32 or newer - Require --no-canonicalize in (u)mount (util-linux version 2.18 or newer) to fix security problems with fusermount - Use dynamically sized hash tables in high level library - Memory use of filesystem daemon can shrink more easily - Add "auto_unmount" option - Add "remember" option - Add man pages for fusermount, mount.fuse and ulockmgr_server - API changes: o Introduce "store" and "retrieve" for accessing kernel buffers on kernel 2.6.36 or newer o Introduce abstract buffer for zero copy operations o Allow path calculation to be omitted on certain operations o Allow batching forget requests o Add "flock" method o Add support for ioctl on directories o Add delete notification o Add fallocate operation (linux kernel 3.5 or newer) - Bug fixes and small improvements ============================================================================ What is new in 2.8 - More scalable directory tree locking - Atomic open(O_TRUNC) support - Support big write requests on kernels 2.6.26 and newer - Out-of-tree fuse module removed - Better NFS exporting support - New ioctl and poll requests - New CUSE (Character Device in Userspace) interface - Allow umask processing in userspace - Added cache invalidation notifications - Bugfixes and small improvements ============================================================================ What is new in 2.7 - Stacking support for the high level API - Add filename charset conversion module - Improved mounting ============================================================================ What is new in 2.6 - Improved read characteristics (asynchronous reads) - Support for aborting filesystem connection - POSIX file locking support - Request interruption support - Building module for Linux kernels earlier than 2.6.9 not supported - Allow block device based filesystems to support swap files - Several bugs fixed, including a rare system hang on SMP ============================================================================ What is new in 2.5 - Merge library part of FreeBSD port - New atomic create+open, access and ftruncate operations - On filesystems implementing the new create+open operation, and running on Linux kernels 2.6.15 or later, the 'cp' operation will work correctly when copying read-only files. - New option parsing interface added to the library - Lots of minor improvements and fixes ============================================================================ What is new in 2.4 - Simplify device opening. Now '/dev/fuse' is a requirement - Allow module auto-loading if user has access to '/dev/fuse' - Allow mounting over a regular file for unprivileged users - Allow mounting of arbitrary FUSE filesystems from /etc/fstab - New mount options: 'umask=M', 'uid=N', 'gid=N' - Check for non-empty mountpoint, and refuse mount by default. New mount option: 'nonempty' - Low level (inode based) API added - Allow 'direct_io' and 'keep_cache' options to be set on a case-by-case basis on open. - Add 'attr_timeout' and 'entry_timeout' mount options to the high-level library. Until now these timeouts were fixed at 1 sec. - Some bugfixes ============================================================================ What is new in 2.3 - Add new directory related operations: opendir(), readdir(), releasedir() and fsyncdir() - Add init() and destroy() operations which are called before the event loop is started and after it has exited - Update kernel ABI so that on dual architectures (e.g. AMD64) 32bit binaries work under a 64bit kernel - Bugfixes ============================================================================ What is new in 2.2 Userspace changes: - Add fuse_file_info structure to file operations, this allows the filesystem to return a file handle in open() which is passed to read(), write(), flush(), fsync() and release(). - Add source compatibility with 2.1 and 1.4 releases - Binary compatibility with 2.1 release is retained Kernel changes: - Make requests interruptible. This prevents the filesystem to go into an unbreakable deadlock with itself. - Make readpages() synchronous. Asynchronous requests are deadlock prone, since they cannot be interrupted (see above) - Remove shared-writeable mapping support, which could deadlock the machine - Remove INVALIDATE userspace initiated request - Update ABI to be independent of sizeof(long), so dual-size archs don't cause problems - Remove /sys/fs/fuse/version. Version checking is now done through the fuse device - Replace directory reading method on the kernel interface. Instead of passing an open file descriptor to the kernel, send data through the FUSE device, like all other operations. ============================================================================ What is new in 2.1 * Bug fixes * Improved support for filesystems implementing a custom event-loop * Add 'pkg-config' support * Kernel module can be compiled separately ============================================================================ What is new in 1.9 * Lots of bugs fixed * Minor modifications to the library API * Improvements to the kernel/userspace interface * Mounting by non-root made more secure * Build shared library in addition to the static one * Consolidated mount options * Optimized reading under 2.6 kernels * Direct I/O support * Support file I/O on deleted files * Extended attributes support ============================================================================ What is new in 1.3 * Thanks to user bugreports and stress testing with LTP and sfx-linux a number of bugs were fixed, some quite serious. * Fix compile problems with recent SuSE kernles ============================================================================ What is new in 1.2 * Fix mount problems on recent 2.6 kernels with SELinux enabled * Fixed writing files lager than 2GBytes * Other bugfixes ============================================================================ What is new in 1.1 * Support for the 2.6 kernels * Support for exporting filesystem over NFS in 2.6 kernels * Read efficiency improvements: read in 64k blocks instead of 4k (Michael Grigoriev). Can be turned on with '-l' option of fusermount * Lazy automatic unmount * Added 'fsync()' VFS call to the FUSE interface * Bugfixes ============================================================================ What is new in 1.0 * Cleanups and bugfixes * Added 'release()' VFS call to the FUSE interface * 64 bit file offsets (handling of > 4 GByte files) * libfuse is now under LGPL * New 'statfs' call (Mark Glines) * Cleaned up mount procedure (mostly by Mark Glines) NOTE: Binaries linked with with a previous version of libavfs may not work with the new version of the fusermount program. In such case recompile the program after installing the new libavfs library. * Fix for problems under linux kernel 2.4.19 ============================================================================ What is new in 0.95 * Optimized read/write operations. Raw throughput has increased to about 60Mbyte/s on a Celeron/360 * Python bindings by Jeff Epler * Perl bindings by Mark Glines * Improved multithreaded operation * Simplified library interface * Bugfixes ============================================================================ What is new in 0.9: * Everything