aboutsummaryrefslogtreecommitdiffstats
path: root/NEWS
blob: 559ee861e6068d5d0751d2ab279476c149f35aa2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
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