Releases: libfuse/libfuse
libfuse 3.17.1-rc1
libfuse 3.17.1-rc1 Release Notes
Compared to 3.17.1-rc0
- several BSD fixes
- x86 (32bit) build fixes
- nested declarations moved out of the inlined functions to avoid
build warnings - signify public key added for future 3.18
libfuse 3.17.1-rc0 Release Notes
libfuse 3.17.1-rc0 Release Notes
First, we apologize for the extended time this release has taken. We wanted to ensure proper ABI compatibility and testing.
Major Changes:
- ABI/API Versioning:
- API version remains at 3.x as the API is stable
- SO version increased from 3 to 4 due to ABI issues introduced in 3.11.0 and 3.14.2
- Restored ABI compatibility to 3.10 (fixing incompatibilities introduced in 3.11 and 3.14.2)
- Added automated ABI compatibility tests
Note: Currently tests only verify against previous tag, not 3.10 yet due to too many false positives.
Further improvements to the ABI testing are planned.
- Version Encoding: The libfuse version is now encoded into programs at compile time using inlined functions in fuse_lowlevel.h and fuse.h
- Switched to posix_spawn for better performance with memory-heavy applications and to prevent RDMA-related issues
New Features:
- Added support for filesystem passthrough read/write when FUSE_PASSTHROUGH capability is enabled
- New API: fuse_passthrough_open() and fuse_passthrough_close()
- See example/passthrough_hp.cc for usage
- Added fmask and dmask options to high-level API for separate permission masks for files and directories
- Added signal handling with backtrace printing (fuse_set_fail_signal_handlers())
- Added syslog support for fuse_log() messages
- New API: fuse_log_enable_syslog() and fuse_log_close_syslog()
- Added thread names to libfuse threads
- Fixed buffer misalignment for FUSE_WRITE
libfuse 3.16.2
Various minor bugfixes and improvements.
libfuse 3.16.1
- Readdir kernel cache can be enabled from high-level API.
libfuse 3.15.1
libfuse 3.15.0
-
Improved support for some less common systems (32 bit, alternative libcs)
-
Unsupported mount options are no longer silently accepted.
-
auto_unmount is now compatible with allow_other.
libfuse 3.14.1
-
The extended attribute name passed to the setxattr() handler is no longer truncated at the beginning (bug introduced in 3.13.0).
-
As a result of the above, the additional setattr() flags introduced in 3.14 are no longer available for now. They will hopefully be reintroduced in the next release.
-
Further improvements of configuration header handling.
libfuse 3.14.0
-
Properly fix the header installation issue. The fix in 3.13.1 resulted in conflicts with other packages.
-
Introduce additional setattr() flags (FORCE, KILL_SUID, KILL_SGID, FILE, KILL_PRIV, OPEN, TIMES_SET)
libfuse 3.13.1
- Fixed an issue that resulted in errors when attempting to compile against installed libfuse headers (because libc symbol versioning support was not detected correctly in this case).
libfuse 3.13.0
-
There is a new low-level API function
fuse_session_custom_io
that allows to implement a daemon with a custom io. This can be used to create a daemon that can process incoming FUSE requests to other destinations than/dev/fuse
. -
A segfault when loading custom FUSE modules has been fixed.
-
There is a new
fuse_notify_expire_entry
function. -
A deadlock when resolving paths in the high-level API has been fixed.
-
libfuse can now be build explicitly for C libraries without symbol versioning support.