1What is new in 2.9 2 3 - Add "zero copy" support for kernel 2.6.35 or newer 4 5 - Make maximum background requests tunable on kernel 2.6.32 or newer 6 7 - Require --no-canonicalize in (u)mount (util-linux version 2.18 or 8 newer) to fix security problems with fusermount 9 10 - Use dynamically sized hash tables in high level library 11 12 - Memory use of filesystem daemon can shrink more easily 13 14 - Add "auto_unmount" option 15 16 - Add "remember" option 17 18 - Add man pages for fusermount, mount.fuse and ulockmgr_server 19 20 - API changes: 21 22 o Introduce "store" and "retrieve" for accessing kernel buffers on 23 kernel 2.6.36 or newer 24 25 o Introduce abstract buffer for zero copy operations 26 27 o Allow path calculation to be omitted on certain operations 28 29 o Allow batching forget requests 30 31 o Add "flock" method 32 33 o Add support for ioctl on directories 34 35 o Add delete notification 36 37 o Add fallocate operation (linux kernel 3.5 or newer) 38 39 - Bug fixes and small improvements 40 41============================================================================ 42 43What is new in 2.8 44 45 - More scalable directory tree locking 46 47 - Atomic open(O_TRUNC) support 48 49 - Support big write requests on kernels 2.6.26 and newer 50 51 - Out-of-tree fuse module removed 52 53 - Better NFS exporting support 54 55 - New ioctl and poll requests 56 57 - New CUSE (Character Device in Userspace) interface 58 59 - Allow umask processing in userspace 60 61 - Added cache invalidation notifications 62 63 - Bugfixes and small improvements 64 65============================================================================ 66 67What is new in 2.7 68 69 - Stacking support for the high level API 70 71 - Add filename charset conversion module 72 73 - Improved mounting 74 75============================================================================ 76 77What is new in 2.6 78 79 - Improved read characteristics (asynchronous reads) 80 81 - Support for aborting filesystem connection 82 83 - POSIX file locking support 84 85 - Request interruption support 86 87 - Building module for Linux kernels earlier than 2.6.9 not supported 88 89 - Allow block device based filesystems to support swap files 90 91 - Several bugs fixed, including a rare system hang on SMP 92 93============================================================================ 94 95What is new in 2.5 96 97 - Merge library part of FreeBSD port 98 99 - New atomic create+open, access and ftruncate operations 100 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. 104 105 - New option parsing interface added to the library 106 107 - Lots of minor improvements and fixes 108 109============================================================================ 110 111What is new in 2.4 112 113 - Simplify device opening. Now '/dev/fuse' is a requirement 114 115 - Allow module auto-loading if user has access to '/dev/fuse' 116 117 - Allow mounting over a regular file for unprivileged users 118 119 - Allow mounting of arbitrary FUSE filesystems from /etc/fstab 120 121 - New mount options: 'umask=M', 'uid=N', 'gid=N' 122 123 - Check for non-empty mountpoint, and refuse mount by default. New 124 mount option: 'nonempty' 125 126 - Low level (inode based) API added 127 128 - Allow 'direct_io' and 'keep_cache' options to be set on a 129 case-by-case basis on open. 130 131 - Add 'attr_timeout' and 'entry_timeout' mount options to the 132 high-level library. Until now these timeouts were fixed at 1 sec. 133 134 - Some bugfixes 135 136============================================================================ 137 138What is new in 2.3 139 140 - Add new directory related operations: opendir(), readdir(), 141 releasedir() and fsyncdir() 142 143 - Add init() and destroy() operations which are called before the 144 event loop is started and after it has exited 145 146 - Update kernel ABI so that on dual architectures (e.g. AMD64) 32bit 147 binaries work under a 64bit kernel 148 149 - Bugfixes 150 151============================================================================ 152 153What is new in 2.2 154 155Userspace changes: 156 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(). 160 161 - Add source compatibility with 2.1 and 1.4 releases 162 163 - Binary compatibility with 2.1 release is retained 164 165Kernel changes: 166 167 - Make requests interruptible. This prevents the filesystem to go 168 into an unbreakable deadlock with itself. 169 170 - Make readpages() synchronous. Asynchronous requests are deadlock 171 prone, since they cannot be interrupted (see above) 172 173 - Remove shared-writeable mapping support, which could deadlock the 174 machine 175 176 - Remove INVALIDATE userspace initiated request 177 178 - Update ABI to be independent of sizeof(long), so dual-size archs 179 don't cause problems 180 181 - Remove /sys/fs/fuse/version. Version checking is now done through 182 the fuse device 183 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. 187 188============================================================================ 189 190What is new in 2.1 191 192* Bug fixes 193 194* Improved support for filesystems implementing a custom event-loop 195 196* Add 'pkg-config' support 197 198* Kernel module can be compiled separately 199 200============================================================================ 201 202What is new in 1.9 203 204* Lots of bugs fixed 205 206* Minor modifications to the library API 207 208* Improvements to the kernel/userspace interface 209 210* Mounting by non-root made more secure 211 212* Build shared library in addition to the static one 213 214* Consolidated mount options 215 216* Optimized reading under 2.6 kernels 217 218* Direct I/O support 219 220* Support file I/O on deleted files 221 222* Extended attributes support 223 224============================================================================ 225 226What is new in 1.3 227 228* Thanks to user bugreports and stress testing with LTP and sfx-linux 229a number of bugs were fixed, some quite serious. 230 231* Fix compile problems with recent SuSE kernles 232 233============================================================================ 234 235What is new in 1.2 236 237* Fix mount problems on recent 2.6 kernels with SELinux enabled 238 239* Fixed writing files lager than 2GBytes 240 241* Other bugfixes 242 243============================================================================ 244 245What is new in 1.1 246 247* Support for the 2.6 kernels 248 249* Support for exporting filesystem over NFS in 2.6 kernels 250 251* Read efficiency improvements: read in 64k blocks instead of 4k 252(Michael Grigoriev). Can be turned on with '-l' option of fusermount 253 254* Lazy automatic unmount 255 256* Added 'fsync()' VFS call to the FUSE interface 257 258* Bugfixes 259 260============================================================================ 261 262What is new in 1.0 263 264* Cleanups and bugfixes 265 266* Added 'release()' VFS call to the FUSE interface 267 268* 64 bit file offsets (handling of > 4 GByte files) 269 270* libfuse is now under LGPL 271 272* New 'statfs' call (Mark Glines) 273 274* Cleaned up mount procedure (mostly by Mark Glines) 275 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. 279 280* Fix for problems under linux kernel 2.4.19 281 282============================================================================ 283 284What is new in 0.95 285 286* Optimized read/write operations. Raw throughput has increased to 287about 60Mbyte/s on a Celeron/360 288 289* Python bindings by Jeff Epler 290 291* Perl bindings by Mark Glines 292 293* Improved multithreaded operation 294 295* Simplified library interface 296 297* Bugfixes 298 299============================================================================ 300 301What is new in 0.9: 302 303* Everything 304