Add doc/Makefile.am
[fuse.git] / NEWS
blobb3e1bc3476a59eeda4563fb701bd1834ba5e0bd4
1 What is new in 2.9
3  - Add "zero copy" support for kernel 2.6.35 or newer
5  - Make maximum background requests tunable on kernel 2.6.32 or newer
7  - Require --no-canonicalize in (u)mount (util-linux version 2.18 or
8    newer) to fix security problems with fusermount
10  - Use dynamically sized hash tables in high level library
12  - Memory use of filesystem daemon can shrink more easily
14  - Add "auto_unmount" option
16  - API changes:
18     o Introduce "store" and "retrieve" for accessing kernel buffers on
19       kernel 2.6.36 or newer
21     o Introduce abstract buffer for zero copy operations
23     o Allow path calculation to be omitted on certain operations
25     o Allow batching forget requests
27  - Bug fixes and small improvements
29 ============================================================================
31 What is new in 2.8
33  - More scalable directory tree locking
35  - Atomic open(O_TRUNC) support
37  - Support big write requests on kernels 2.6.26 and newer
39  - Out-of-tree fuse module removed
41  - Better NFS exporting support
43  - New ioctl and poll requests
45  - New CUSE (Character Device in Userspace) interface
47  - Allow umask processing in userspace
49  - Added cache invalidation notifications
51  - Bugfixes and small improvements
53 ============================================================================
55 What is new in 2.7
57  - Stacking support for the high level API
59  - Add filename charset conversion module
61  - Improved mounting
63 ============================================================================
65 What is new in 2.6
67  - Improved read characteristics (asynchronous reads)
69  - Support for aborting filesystem connection
71  - POSIX file locking support
73  - Request interruption support
75  - Building module for Linux kernels earlier than 2.6.9 not supported
77  - Allow block device based filesystems to support swap files
79  - Several bugs fixed, including a rare system hang on SMP
81 ============================================================================
83 What is new in 2.5
85  - Merge library part of FreeBSD port
87  - New atomic create+open, access and ftruncate operations
89  - On filesystems implementing the new create+open operation, and
90    running on Linux kernels 2.6.15 or later, the 'cp' operation will
91    work correctly when copying read-only files.
93  - New option parsing interface added to the library
95  - Lots of minor improvements and fixes
97 ============================================================================
99 What is new in 2.4
101  - Simplify device opening.  Now '/dev/fuse' is a requirement
103  - Allow module auto-loading if user has access to '/dev/fuse'
105  - Allow mounting over a regular file for unprivileged users
107  - Allow mounting of arbitrary FUSE filesystems from /etc/fstab
109  - New mount options: 'umask=M', 'uid=N', 'gid=N'
111  - Check for non-empty mountpoint, and refuse mount by default.  New
112    mount option: 'nonempty'
114  - Low level (inode based) API added
116  - Allow 'direct_io' and 'keep_cache' options to be set on a
117    case-by-case basis on open.
119  - Add 'attr_timeout' and 'entry_timeout' mount options to the
120    high-level library.  Until now these timeouts were fixed at 1 sec.
122  - Some bugfixes
124 ============================================================================
126 What is new in 2.3
128  - Add new directory related operations: opendir(), readdir(),
129    releasedir() and fsyncdir()
131  - Add init() and destroy() operations which are called before the
132    event loop is started and after it has exited
134  - Update kernel ABI so that on dual architectures (e.g. AMD64) 32bit
135    binaries work under a 64bit kernel
137  - Bugfixes
139 ============================================================================
141 What is new in 2.2
143 Userspace changes:
145  - Add fuse_file_info structure to file operations, this allows the
146    filesystem to return a file handle in open() which is passed to
147    read(), write(), flush(), fsync() and release().
149  - Add source compatibility with 2.1 and 1.4 releases
151  - Binary compatibility with 2.1 release is retained
153 Kernel changes:
155  - Make requests interruptible.  This prevents the filesystem to go
156    into an unbreakable deadlock with itself.
158  - Make readpages() synchronous.  Asynchronous requests are deadlock
159    prone, since they cannot be interrupted (see above)
161  - Remove shared-writeable mapping support, which could deadlock the
162    machine
164  - Remove INVALIDATE userspace initiated request
166  - Update ABI to be independent of sizeof(long), so dual-size archs
167    don't cause problems
169  - Remove /sys/fs/fuse/version.  Version checking is now done through
170    the fuse device
172  - Replace directory reading method on the kernel interface.  Instead
173    of passing an open file descriptor to the kernel, send data through
174    the FUSE device, like all other operations.
176 ============================================================================
178 What is new in 2.1
180 * Bug fixes
182 * Improved support for filesystems implementing a custom event-loop
184 * Add 'pkg-config' support
186 * Kernel module can be compiled separately
188 ============================================================================
190 What is new in 1.9
192 * Lots of bugs fixed
194 * Minor modifications to the library API
196 * Improvements to the kernel/userspace interface
198 * Mounting by non-root made more secure
200 * Build shared library in addition to the static one
202 * Consolidated mount options
204 * Optimized reading under 2.6 kernels
206 * Direct I/O support
208 * Support file I/O on deleted files
210 * Extended attributes support
212 ============================================================================
214 What is new in 1.3
216 * Thanks to user bugreports and stress testing with LTP and sfx-linux
217 a number of bugs were fixed, some quite serious.
219 * Fix compile problems with recent SuSE kernles
221 ============================================================================
223 What is new in 1.2
225 * Fix mount problems on recent 2.6 kernels with SELinux enabled
227 * Fixed writing files lager than 2GBytes
229 * Other bugfixes
231 ============================================================================
233 What is new in 1.1
235 * Support for the 2.6 kernels
237 * Support for exporting filesystem over NFS in 2.6 kernels
239 * Read efficiency improvements: read in 64k blocks instead of 4k
240 (Michael Grigoriev).  Can be turned on with '-l' option of fusermount
242 * Lazy automatic unmount
244 * Added 'fsync()' VFS call to the FUSE interface
246 * Bugfixes
248 ============================================================================
250 What is new in 1.0
252 * Cleanups and bugfixes
254 * Added 'release()' VFS call to the FUSE interface
256 * 64 bit file offsets (handling of > 4 GByte files)
258 * libfuse is now under LGPL
260 * New 'statfs' call (Mark Glines)
262 * Cleaned up mount procedure (mostly by Mark Glines)
264   NOTE: Binaries linked with with a previous version of libavfs may
265   not work with the new version of the fusermount program.  In such
266   case recompile the program after installing the new libavfs library.
268 * Fix for problems under linux kernel 2.4.19
270 ============================================================================
272 What is new in 0.95
274 * Optimized read/write operations.  Raw throughput has increased to
275 about 60Mbyte/s on a Celeron/360
277 * Python bindings by Jeff Epler
279 * Perl bindings by Mark Glines
281 * Improved multithreaded operation
283 * Simplified library interface
285 * Bugfixes
287 ============================================================================
289 What is new in 0.9:
291 * Everything