fuser
Filesystem in Userspace (FUSE) for Rust
0.18.0
4.7M downloads/mo
#4634 most downloaded on crates.io
cberner/fuser
What this package is like to depend on
Last release 1 months ago
22 Jul 2026
Ships fairly regularly
a new release about every 5 months
Nearly every release is documented
notes for 19 of 19 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
19 releases · first in 2020
3 releases in the last 12 months
see the full history below
Release timeline
19 releases · Jun 2020 to Jul 2026
2021
2022
2023
2024
2025
2026
Releases
latest 19-
0.18.022 Jul 2026Release notes
Open source →- Remove deprecated feature flags
abi-* - Rename
mount2()tomount() - Rename
spawn_mount2()tospawn_mount() - Make
Session::run()public, and check mount option conflicts inSession::new() - Add
ReplyEntry::entry_with_ttls()to reply with distinct entry and attribute TTLs - Add support for raw marshalling of
BackingIds across process boundaries viaBackingId::create_raw(),BackingId::into_raw(),ReplyOpen::wrap_backing(), andReplyCreate::wrap_backing() - Fix missing
allow_othermount option on FreeBSD, which causedEPERMfor non-owner users
- Remove deprecated feature flags
-
0.17.014 Feb 2026Release notes
Open source →Major changes:
- Change many integer-based public API parameters to strongly-typed newtypes and bitflags.
This breaking changes affects many of the methods onFilesystem - Change
Filesystemtrait methods to use&self, and require mounted filesystems to beSend + Sync + 'static - Improve typed error handling across request/reply APIs
- Replace
Vec<MountOption>mount APIs with a structuredConfigAPI, including ACL option handling - Feature flags
abi-7-xxare now ignored and will be removed in 0.18, with compatibility checks moved to runtime behavior - Remove the old ABI-specific feature-flag surface (
abi-7-9throughabi-7-19, plus tooling/docs/examples references) - Add support for multiple event loops per session, which can be enabled via
Config::n_threads - Add experimental async API (
AsyncFilesystem)
Minor changes:
- Rename
BackgroundSession::jointoumount_and_join, returningio::Result<()>instead of panicking - Add
FUSE_DEV_IOC_CLONEsupport and improve passthrough descriptor handling (ReplyCreate,ReplyOpen,BackingId) - Improve passthrough descriptor handling (
ReplyCreate,ReplyOpen,BackingId) - Add
FileTypeconversion from stdFileType - Add option to explicitly choose
libfuse2orlibfuse3, preferlibfuse3by default - Support building without libfuse on BSD
- Remove remaining
osxfusesupport and improvemacfusecompatibility - The path to the
fusermountbinary can be specified with theFUSERMOUNT_PATHenvironment variable allow_rootorallow_othermust be enabled when usingauto_unmount- Remove deprecated
mountandspawn_mount-- usemount2andspawn_mount2instead - Update and expand documentation
Internal changes:
- Improve Linux/BSD/macOS test coverage by migrating mount tests to
fuser-testsand expanding CI - Rework session lifecycle internals (handshake/session startup, destroy ordering, and unmount error propagation)
Release notes
Open source →Major changes:
- Change many integer-based public API parameters to strongly-typed newtypes and bitflags.
This breaking changes affects many of the methods on
Filesystem - Change
Filesystemtrait methods to use&self, and require mounted filesystems to beSend + Sync + 'static - Improve typed error handling across request/reply APIs
- Replace
Vec<MountOption>mount APIs with a structuredConfigAPI, including ACL option handling - Feature flags
abi-7-xxare now ignored and will be removed in 0.18, with compatibility checks moved to runtime behavior - Remove the old ABI-specific feature-flag surface (
abi-7-9throughabi-7-19, plus tooling/docs/examples references) - Add support for multiple event loops per session, which can be enabled via
Config::n_threads - Add experimental async API (
AsyncFilesystem)
Minor changes:
- Rename
BackgroundSession::jointoumount_and_join, returningio::Result<()>instead of panicking - Add
FUSE_DEV_IOC_CLONEsupport and improve passthrough descriptor handling (ReplyCreate,ReplyOpen,BackingId) - Improve passthrough descriptor handling (
ReplyCreate,ReplyOpen,BackingId) - Add
FileTypeconversion from stdFileType - Add option to explicitly choose
libfuse2orlibfuse3, preferlibfuse3by default - Support building without libfuse on BSD
- Remove remaining
osxfusesupport and improvemacfusecompatibility - The path to the
fusermountbinary can be specified with theFUSERMOUNT_PATHenvironment variable allow_rootorallow_othermust be enabled when usingauto_unmount- Remove deprecated
mountandspawn_mount-- usemount2andspawn_mount2instead - Update and expand documentation
Internal changes:
- Improve Linux/BSD/macOS test coverage by migrating mount tests to
fuser-testsand expanding CI - Rework session lifecycle internals (handshake/session startup, destroy ordering, and unmount error propagation)
- Change many integer-based public API parameters to strongly-typed newtypes and bitflags.
-
0.16.012 Sep 2025Release notes
Open source →- Add support for passthrough file descriptors
- Change
KernelConfigcapabilities flags parameters tou64 - Remove feature flags
abi-7-9throughabi-7-18 - Remove
libfusefeature flag from defaults. Linking with libfuse can be enabled with thelibfusefeature flag - Improve macfuse compatibility (note that macfuse remains untested)
- Fix unsound behavior when linking with libfuse3
- Performance optimizations
- Update documentation
Release notes
Open source →- Add support for passthrough file descriptors
- Change
KernelConfigcapabilities flags parameters tou64 - Remove feature flags
abi-7-9throughabi-7-18 - Remove
libfusefeature flag from defaults. Linking with libfuse can be enabled with thelibfusefeature flag - Improve macfuse compatibility (note that macfuse remains untested)
- Fix unsound behavior when linking with libfuse3
- Performance optimizations
- Update documentation
-
0.15.128 Nov 2024Release notes
Open source →- Fix crtime related panic that could occur on MacOS. See PR #322 for details.
Release notes
Open source →- Fix crtime related panic that could occur on MacOS. See PR #322 for details.
-
0.15.026 Oct 2024Release notes
Open source →- Add file handle argument to
getattr() - Change
poll()to take aPollHandleinstead of au64 - Add low level API for manually mounting or wrapping a fuse file descriptor into a
Session - Fix compatibility with MacFUSE 4.x
- Performance optimizations
Release notes
Open source →- Add file handle argument to
getattr() - Change
poll()to take aPollHandleinstead of au64 - Add low level API for manually mounting or wrapping a fuse file descriptor into a
Session - Fix compatibility with MacFUSE 4.x
- Performance optimizations
- Add file handle argument to
-
0.14.005 Nov 2023Release notes
Open source →- Add support for poll
- Add support for notifications
- ABI 7.11 support is now complete
Release notes
Open source →- Add support for poll
- Add support for notifications
- ABI 7.11 support is now complete
-
0.13.017 Aug 2023 -
0.12.013 Dec 2022 -
0.11.125 Aug 2022 -
0.11.006 Mar 2022 -
0.10.007 Jan 2022Release notes
Open source →- Improve error messages
- Support compiling with musl
- Default
link()&symlink()now return EPERM instead of ENOSYS
-
0.9.108 Sep 2021 -
0.9.001 Sep 2021Release notes
Open source →- Ensure that
Filesystem::destroyis always called, when the filesystem is unmounted - Remove request parameter from
Filesystem::destroy. - Make
fuse_forget_onepublic, so thatFilesystem::batch_forgetcan be implemented by users. - Fix
batch_forget. Previously, it always received an empty list of inodes. - Fix
MountOption::AllowRoot. Previously, using it resulted in a crash. - Fix
MountOption::AutoUnmountso that it works whenAllowRootandAllowOtherare both not set. - Make log messages more verbose (now includes the operation)
- Ensure that
-
0.8.012 Jun 2021Release notes
Open source →- Deprecate
mount() - Remove
FileAttr.padding. This field was added by mistake, and does nothing - Fix crash when receiving an unknown FUSE operation type
- Minor performance optimizations
- Deprecate
-
0.7.010 Jan 2021Release notes
Open source →- Support building with MacFuse 4.x on OSX
- Support configuring max_write & max_readahead via
KernelConfigduringinit - Support configuring filesystem timestamp granularity via
KernelConfig.set_time_granularityduringinit - Support requesting additional capability flags via
KernelConfig.add_capabilitiesduringinit
-
0.6.022 Nov 2020Release notes
Open source →- Make
spawn_mount()safe - Change
flagsparameter ofcreate(),open(),opendir(),release(),releasedir()to be signed, so that it matches libfuse and the associated constants in libc - Change
flagsparameter ofsetxattr()to be signed, so that it matches libfuse - Change
maskparameter ofaccess()to be signed, so that it matches libfuse and the associated constants in libc - Change lock type parameter of
getlk()andsetlk()to be signed, so that it matches libfuse and the associated constants in libc - Change atime & atime_now and mtime & mtime_now parameters of
setattr()to make their relationship more obvious - Add
lock_ownerand fileflagsparameters toread()andwrite() - Add
umaskparameter tomknod(),mkdir()andcreate() - Add
KernelConfigparameter toinit()to allowFilesystemto configure the kernel connection attributes - Add support for
fallocate(),ioctl(),copy_file_range(), andlseek() - Add support for FUSE_BATCH_FORGET
- Add support for FUSE_READDIRPLUS
- Add support for FUSE_RENAME2
- Add FUSE_WRITE_KILL_PRIV flag for
write() - Add FUSE_WRITEBACK_CACHE flag
- Add FUSE_NO_OPEN_SUPPORT flag
- Add FUSE_PARALLEL_DIROPS flag
- Add FUSE_HANDLE_KILLPRIV flag
- Add FUSE_POSIX_ACL flag
- Add FUSE_ABORT_ERROR flag
- Add FUSE_NO_OPENDIR_SUPPORT flag
- Add FUSE_CACHE_SYMLINKS flag
- Add FUSE_EXPLICIT_INVAL_DATA flag
- Add FUSE_IOCTL_COMPAT_X32 flag
- Add FOPEN_CACHE_DIR flag
- Add FOPEN_STREAM flag
- Add FUSE_MAX_PAGES flag
- Add max_pages, and time_gran support to init code path (these are not currently configurable)
- Add support for ctime in
setattr() - Add support for timestamps before the unix epoch in
getattr()andsetattr()
- Make
-
0.5.018 Oct 2020Release notes
Open source →- Enable FUSE_BIG_WRITES for ABI >= 7.10
- Add FUSE_AUTO_INVAL_DATA constant
- Add ABI 7.20 to 7.31 feature flags. Support for these are incomplete.
- Add support for building with libfuse3
- Add support for building without libfuse/libfuse3 on Linux (i.e. there's now a pure Rust implementation of all features)
- Add
mount2()with improved option API
-
0.4.112 Oct 2020Release notes
Open source →- Added new feature
serializablethat will enable serde serialization/deserialization forFileType,FileAttr
- Added new feature
-
0.4.019 Jun 2020Release notes
Open source →- Forked as
fusercrate, at https://github.com/cberner/fuser - Add ATIME_NOW and MTIME_NOW support
- Add stubs for ioctl, fallocate, and poll for ABI 7.11
- Forked as