Quantcast

[ANNOUNCE] libfuse 3.0.0rc3 has been released

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[ANNOUNCE] libfuse 3.0.0rc3 has been released

Nikolaus Rath
Dear all,

I am very pleased to announce the third (and hopefully final) release
candidate of libfuse 3. As you may have already heard, FUSE 3 adds
several exiting new features and gets rid of several historical bugs
that could not be fixed without breaking backwards compatibility.

This is a release candidate, so functionality and API will correspond to
the final release unless any serious bugs are discovered.


The changes from the last release candidate look somewhat bigger than I
would like, but I think there are valid reasons for including
them. Apart from bugfixes for issues that were discovered when running
more exotic setups, the biggest change is that libfuse now defaults to
*enabling* most of the capabilities that were disabled by default in
libfuse 2. All of these features should be enabled whenever possible,
and the only reason libfuse 2 did not do so was to preserve backwards
compatibility. libfuse3 is the only chance that we have to switch to
saner defaults for quite some time, so it makes sense to make this
change.


From the changelog:

FUSE 3.0.0-rc3 (2016-11-29)
===========================

* Fixed test errors when running tests as root.

* Made check for util-linux version more robust.

* Added documentation for all fuse capability flags (`FUSE_CAP_*`) and
  `struct fuse_conn_info` fields.

* fuse_loop(), fuse_loop_mt(), fuse_session_loop() and
  fuse_session_loop_mt() now return more detailed error codes instead
  of just -1. See the documentation of fuse_session_loop() for details.

* The FUSE main loop is now aborted if the file-system requests
  capabilities that are not supported by the kernel. In this case, the
  session loop is exited with a return code of ``-EPROTO``.

* Most file-system capabilities that were opt-in in libfuse2 are now
  enabled by default. Filesystem developers are encouraged to review
  the documentation of the FUSE_CAP_* features to ensure that their
  filesystem is compatible with the new semantics. As before, a
  particular capability can still be disabled by unsetting the
  corresponding bit of `fuse_conn_info.wants` in the init() handler.

* Added FUSE_CAP_PARALLEL_DIROPS and FUSE_CAP_POSIX_ACL,
  FUSE_HANDLE_KILLPRIV feature flags.

* FUSE filesystems are now responsible for unsetting the setuid/setgid
  flags when a file is written, truncated, or its owner
  changed. Previously, this was handled by the kernel but subject to
  race conditions.

* The ``allow_other`` and ``allow_root`` mount options (accepted by
  `fuse_session_new()`) may now be specified together. In this case,
  ``allow_root`` takes precedence.



Please report any issues on this mailing list or the GitHub issue
tracker. The source code can be downloaded at
https://github.com/libfuse/libfuse/releases/tag/fuse-3.0.0rc3

Best,
-Nikolaus

--
GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F
Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F

             »Time flies like an arrow, fruit flies like a Banana.«

------------------------------------------------------------------------------

--
fuse-devel mailing list
To unsubscribe or subscribe, visit https://lists.sourceforge.net/lists/listinfo/fuse-devel

signature.asc (1016 bytes) Download Attachment
Loading...