* Fix out-of-source build.
[fuse.git] / NEWS
blob7d8a14a68f967d2f815a1cd9f512ca9fa88bb857
1 What is new in 2.8
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
23 What is new in 2.7
25  - Stacking support for the high level API
27  - Add filename charset conversion module
29  - Improved mounting
31 What is new in 2.6
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
47 What is new in 2.5
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
61 What is new in 2.4
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.
84  - Some bugfixes
86 What is new in 2.3
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
97  - Bugfixes
99 What is new in 2.2
101 Userspace changes:
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
111 Kernel changes:
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
120    machine
122  - Remove INVALIDATE userspace initiated request
124  - Update ABI to be independent of sizeof(long), so dual-size archs
125    don't cause problems
127  - Remove /sys/fs/fuse/version.  Version checking is now done through
128    the fuse device
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 ============================================================================
136 What is new in 2.1
138 * Bug fixes
140 * Improved support for filesystems implementing a custom event-loop
142 * Add 'pkg-config' support
144 * Kernel module can be compiled separately
146 ============================================================================
148 What is new in 1.9
150 * Lots of bugs fixed
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
164 * Direct I/O support
166 * Support file I/O on deleted files
168 * Extended attributes support
170 ============================================================================
172 What is new in 1.3
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 ============================================================================
181 What is new in 1.2
183 * Fix mount problems on recent 2.6 kernels with SELinux enabled
185 * Fixed writing files lager than 2GBytes
187 * Other bugfixes
189 ============================================================================
191 What is new in 1.1
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
204 * Bugfixes
206 ============================================================================
208 What is new in 1.0
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 ============================================================================
230 What is new in 0.95
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
243 * Bugfixes
245 ============================================================================
247 What is new in 0.9:
249 * Everything