NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #4620 most downloaded on crates.io
Filesystem in Userspace (FUSE) for Rust
Last release 2 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
One column per quarter.
Remove deprecated feature flags abi-*
abi-*mount2() to mount()spawn_mount2() to spawn_mount()Session::run() public, and check mount option conflicts in Session::new()ReplyEntry::entry_with_ttls() to reply with distinct entry and attribute TTLsBackingIds across process boundaries via BackingId::create_raw(),
BackingId::into_raw(), ReplyOpen::wrap_backing(), and ReplyCreate::wrap_backing()allow_other mount option on FreeBSD, which caused EPERM for non-owner usersChange many integer-based public API parameters to strongly-typed newtypes and bitflags. This breaking changes affects many of the methods on Filesyst…
FilesystemFilesystem trait methods to use &self, and require mounted filesystems to be Send + Sync + 'staticVec<MountOption> mount APIs with a structured Config API, including ACL option handlingabi-7-xx are now ignored and will be removed in 0.18, with compatibility checks moved to runtime behaviorabi-7-9 through abi-7-19, plus tooling/docs/examples references)Config::n_threadsAsyncFilesystem)BackgroundSession::join to umount_and_join, returning io::Result<()> instead of panickingFUSE_DEV_IOC_CLONE support and improve passthrough descriptor handling (ReplyCreate, ReplyOpen, BackingId)ReplyCreate, ReplyOpen, BackingId)FileType conversion from std FileTypelibfuse2 or libfuse3, prefer libfuse3 by defaultosxfuse support and improve macfuse compatibilityfusermount binary can be specified with the FUSERMOUNT_PATH environment variableallow_root or allow_other must be enabled when using auto_unmountmount and spawn_mount -- use mount2 and spawn_mount2 insteadfuser-tests and expanding CIAdd support for passthrough file descriptors
KernelConfig capabilities flags parameters to u64abi-7-9 through abi-7-18libfuse feature flag from defaults. Linking with libfuse can be enabled with the libfuse feature flagFix crtime related panic that could occur on MacOS. See PR #322 for details.
Add file handle argument to getattr()
getattr()poll() to take a PollHandle instead of a u64SessionABI 7.11 support is now complete
Remove dependency on users crate
users crateAdd method to Session to unmount non- Send Filesystem s
Session to unmount non-Send FilesystemsImprove an error message when using libfuse2
Add spawn_mount2() Deprecate spawn_mount()
spawn_mount2()spawn_mount()Default link() & symlink() now return EPERM instead of ENOSYS
link() & symlink() now return EPERM instead of ENOSYSforget and batch_forget no longer require that AllowRoot be set
forget and batch_forget no longer require that AllowRoot be setEnsure that Filesystem::destroy is always called, when the filesystem is unmounted
Filesystem::destroy is always called, when the filesystem is unmountedFilesystem::destroy.fuse_forget_one public, so that Filesystem::batch_forget can be implemented by users.batch_forget. Previously, it always received an empty list of inodes.MountOption::AllowRoot. Previously, using it resulted in a crash.MountOption::AutoUnmount so that it works when AllowRoot and AllowOther are both not set.Remove FileAttr.padding. This field was added by mistake, and does nothing
mount()FileAttr.padding. This field was added by mistake, and does nothingSupport building with MacFuse 4.x on OSX
KernelConfig during initKernelConfig.set_time_granularity during initKernelConfig.add_capabilities during initChange flags parameter of create(), open(), opendir(), release(), releasedir() to be signed, so that it matches libfuse and the associated constants i
spawn_mount() safeflags parameter of create(), open(), opendir(), release(), releasedir() to be signed, so that it matches
libfuse and the associated constants in libcflags parameter of setxattr() to be signed, so that it matches libfusemask parameter of access() to be signed, so that it matches libfuse and the associated constants in libcgetlk() and setlk() to be signed, so that it matches libfuse and the associated constants in libcsetattr() to make their relationship more obviouslock_owner and file flags parameters to read() and write()umask parameter to mknod(), mkdir() and create()KernelConfig parameter to init() to allow Filesystem to configure the kernel connection attributesfallocate(), ioctl(), copy_file_range(), and lseek()write()setattr()getattr() and setattr()Enable FUSE_BIG_WRITES for ABI >= 7.10
mount2() with improved option APIAdded new feature serializable that will enable serde serialization/deserialization for FileType, FileAttr
serializable that will enable serde serialization/deserialization for FileType, FileAttrForked as fuser crate, at https://github.com/cberner/fuser
fuser crate, at https://github.com/cberner/fuserYour coding agent can read these notes before it upgrades. Set up the MCP server →