PackageTrack
Sign in Get early access

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
Release Pre-release

Releases

latest 19
  1. 0.18.0 22 Jul 2026
    Release notes
    • Remove deprecated feature flags abi-*
    • Rename mount2() to mount()
    • Rename spawn_mount2() to spawn_mount()
    • Make Session::run() public, and check mount option conflicts in Session::new()
    • Add ReplyEntry::entry_with_ttls() to reply with distinct entry and attribute TTLs
    • Add support for raw marshalling of BackingIds across process boundaries via BackingId::create_raw(), BackingId::into_raw(), ReplyOpen::wrap_backing(), and ReplyCreate::wrap_backing()
    • Fix missing allow_other mount option on FreeBSD, which caused EPERM for non-owner users
    Open source →
  2. 0.17.0 14 Feb 2026
    Release notes

    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 Filesystem trait methods to use &self, and require mounted filesystems to be Send + Sync + 'static
    • Improve typed error handling across request/reply APIs
    • Replace Vec<MountOption> mount APIs with a structured Config API, including ACL option handling
    • Feature flags abi-7-xx are 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-9 through abi-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::join to umount_and_join, returning io::Result<()> instead of panicking
    • Add FUSE_DEV_IOC_CLONE support and improve passthrough descriptor handling (ReplyCreate, ReplyOpen, BackingId)
    • Improve passthrough descriptor handling (ReplyCreate, ReplyOpen, BackingId)
    • Add FileType conversion from std FileType
    • Add option to explicitly choose libfuse2 or libfuse3, prefer libfuse3 by default
    • Support building without libfuse on BSD
    • Remove remaining osxfuse support and improve macfuse compatibility
    • The path to the fusermount binary can be specified with the FUSERMOUNT_PATH environment variable
    • allow_root or allow_other must be enabled when using auto_unmount
    • Remove deprecated mount and spawn_mount -- use mount2 and spawn_mount2 instead
    • Update and expand documentation

    Internal changes:

    • Improve Linux/BSD/macOS test coverage by migrating mount tests to fuser-tests and expanding CI
    • Rework session lifecycle internals (handshake/session startup, destroy ordering, and unmount error propagation)
    Open source →
    Release notes

    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 Filesystem trait methods to use &self, and require mounted filesystems to be Send + Sync + 'static
    • Improve typed error handling across request/reply APIs
    • Replace Vec<MountOption> mount APIs with a structured Config API, including ACL option handling
    • Feature flags abi-7-xx are 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-9 through abi-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::join to umount_and_join, returning io::Result<()> instead of panicking
    • Add FUSE_DEV_IOC_CLONE support and improve passthrough descriptor handling (ReplyCreate, ReplyOpen, BackingId)
    • Improve passthrough descriptor handling (ReplyCreate, ReplyOpen, BackingId)
    • Add FileType conversion from std FileType
    • Add option to explicitly choose libfuse2 or libfuse3, prefer libfuse3 by default
    • Support building without libfuse on BSD
    • Remove remaining osxfuse support and improve macfuse compatibility
    • The path to the fusermount binary can be specified with the FUSERMOUNT_PATH environment variable
    • allow_root or allow_other must be enabled when using auto_unmount
    • Remove deprecated mount and spawn_mount -- use mount2 and spawn_mount2 instead
    • Update and expand documentation

    Internal changes:

    • Improve Linux/BSD/macOS test coverage by migrating mount tests to fuser-tests and expanding CI
    • Rework session lifecycle internals (handshake/session startup, destroy ordering, and unmount error propagation)
    Open source →
  3. 0.16.0 12 Sep 2025
    Release notes
    • Add support for passthrough file descriptors
    • Change KernelConfig capabilities flags parameters to u64
    • Remove feature flags abi-7-9 through abi-7-18
    • Remove libfuse feature flag from defaults. Linking with libfuse can be enabled with the libfuse feature flag
    • Improve macfuse compatibility (note that macfuse remains untested)
    • Fix unsound behavior when linking with libfuse3
    • Performance optimizations
    • Update documentation
    Open source →
    Release notes
    • Add support for passthrough file descriptors
    • Change KernelConfig capabilities flags parameters to u64
    • Remove feature flags abi-7-9 through abi-7-18
    • Remove libfuse feature flag from defaults. Linking with libfuse can be enabled with the libfuse feature flag
    • Improve macfuse compatibility (note that macfuse remains untested)
    • Fix unsound behavior when linking with libfuse3
    • Performance optimizations
    • Update documentation
    Open source →
  4. 0.15.1 28 Nov 2024
    Release notes
    • Fix crtime related panic that could occur on MacOS. See PR #322 for details.
    Open source →
    Release notes
    • Fix crtime related panic that could occur on MacOS. See PR #322 for details.
    Open source →
  5. 0.15.0 26 Oct 2024
    Release notes
    • Add file handle argument to getattr()
    • Change poll() to take a PollHandle instead of a u64
    • Add low level API for manually mounting or wrapping a fuse file descriptor into a Session
    • Fix compatibility with MacFUSE 4.x
    • Performance optimizations
    Open source →
    Release notes
    • Add file handle argument to getattr()
    • Change poll() to take a PollHandle instead of a u64
    • Add low level API for manually mounting or wrapping a fuse file descriptor into a Session
    • Fix compatibility with MacFUSE 4.x
    • Performance optimizations
    Open source →
  6. 0.14.0 05 Nov 2023
    Release notes
    • Add support for poll
    • Add support for notifications
    • ABI 7.11 support is now complete
    Open source →
    Release notes
    • Add support for poll
    • Add support for notifications
    • ABI 7.11 support is now complete
    Open source →
  7. 0.13.0 17 Aug 2023
    Release notes
    • Remove dependency on users crate
    • Performance optimizations
    Open source →
    Release notes
    • Remove dependency on users crate
    • Performance optimizations
    Open source →
  8. 0.12.0 13 Dec 2022
    Release notes
    • Add method to Session to unmount non-Send Filesystems
    Open source →
    Release notes
    • Add method to Session to unmount non-Send Filesystems
    Open source →
  9. 0.11.1 25 Aug 2022
    Release notes
    • Improve an error message when using libfuse2
    Open source →
    Release notes
    • Improve an error message when using libfuse2
    Open source →
  10. 0.11.0 06 Mar 2022
    Release notes
    • Add spawn_mount2()
    • Deprecate spawn_mount()
    Open source →
    Release notes
    • Add spawn_mount2()
    • Deprecate spawn_mount()
    Open source →
  11. 0.10.0 07 Jan 2022
    Release notes
    • Improve error messages
    • Support compiling with musl
    • Default link() & symlink() now return EPERM instead of ENOSYS
    Open source →
  12. 0.9.1 08 Sep 2021
    Release notes
    • forget and batch_forget no longer require that AllowRoot be set
    Open source →
  13. 0.9.0 01 Sep 2021
    Release notes
    • Ensure that Filesystem::destroy is always called, when the filesystem is unmounted
    • Remove request parameter from Filesystem::destroy.
    • Make fuse_forget_one public, so that Filesystem::batch_forget can 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::AutoUnmount so that it works when AllowRoot and AllowOther are both not set.
    • Make log messages more verbose (now includes the operation)
    Open source →
  14. 0.8.0 12 Jun 2021
    Release notes
    • 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
    Open source →
  15. 0.7.0 10 Jan 2021
    Release notes
    • Support building with MacFuse 4.x on OSX
    • Support configuring max_write & max_readahead via KernelConfig during init
    • Support configuring filesystem timestamp granularity via KernelConfig.set_time_granularity during init
    • Support requesting additional capability flags via KernelConfig.add_capabilities during init
    Open source →
  16. 0.6.0 22 Nov 2020
    Release notes
    • Make spawn_mount() safe
    • Change flags parameter of create(), open(), opendir(), release(), releasedir() to be signed, so that it matches libfuse and the associated constants in libc
    • Change flags parameter of setxattr() to be signed, so that it matches libfuse
    • Change mask parameter of access() to be signed, so that it matches libfuse and the associated constants in libc
    • Change lock type parameter of getlk() and setlk() 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_owner and file flags parameters to read() and write()
    • Add umask parameter to mknod(), mkdir() and create()
    • Add KernelConfig parameter to init() to allow Filesystem to configure the kernel connection attributes
    • Add support for fallocate(), ioctl(), copy_file_range(), and lseek()
    • 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() and setattr()
    Open source →
  17. 0.5.0 18 Oct 2020
    Release notes
    • 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
    Open source →
  18. 0.4.1 12 Oct 2020
    Release notes
    • Added new feature serializable that will enable serde serialization/deserialization for FileType, FileAttr
    Open source →
  19. 0.4.0 19 Jun 2020
    Release notes
    • Forked as fuser crate, at https://github.com/cberner/fuser
    • Add ATIME_NOW and MTIME_NOW support
    • Add stubs for ioctl, fallocate, and poll for ABI 7.11
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive