github macfuse/macfuse macfuse-5.2.0
macFUSE 5.2.0

latest releases: macfuse-5.3.3, macfuse-5.3.2, macfuse-5.3.1...
3 months ago

General

  • Update build process to use Xcode 26.4 (macOS 26.4 SDK)

  • Introduce a new open source API for mounting volumes using the FSKit backend. The new API enables fully sandboxed file systems, which was not previously possible.

    • The actual mount operation is performed over XPC. This means the FSKit backend does no longer rely on fork()/exec() to mount volumes.
    • The new API is already used by libfuse and libfuse3
    • When sandboxing your file system server, add a Mach lookup exception for the io.macfuse.mount service
    • The new MFMount.framework is located in /Library/Filesystems/macfuse.fs/Contents/Frameworks
    • Please note that the new API may change in future releases

FSModule (FSKit Backend)

  • Add support for a file system item's allocation size. Sparse files are not currently supported, so the value of this attribute is the item's size.

  • Add a workaround for an FSKit/PluginKit issue that could prevent macFUSE volumes from being mounted after re-registering an already registered file system extension, requiring a restart of the FSKit subsystem.

  • Remove the obsolete broker launch daemon io.macfuse.app.launchservice.broker, which was previously used to establish a connection between the file system extension and the file system server.

  • Improve the built-in log command to detect whether the output destination supports colored output. This is useful when piping log output to a file.

    % /Library/Filesystems/macfuse.fs/Contents/Resources/macfuse.app/Contents/MacOS/macfuse log stream
    Executing /usr/bin/log stream --debug --info --predicate "subsystem in { 'com.apple.FSKit', 'com.apple.LiveFS', 'io.macfuse' }" --color always
    Filtering the log data using "subsystem IN {"com.apple.FSKit", "com.apple.LiveFS", "io.macfuse"}"
    ...
    
  • Improve the built-in install command to support selecting which components to install. Supported options are privileged-helpers, file-system-extensions, and all. Omitting the component is equivalent to specifying all.

    % /Library/Filesystems/macfuse.fs/Contents/Resources/macfuse.app/Contents/MacOS/macfuse install --help  
    USAGE: macfuse install [--components <components> ...] [--force]
    
    OPTIONS:
      -c, --components <components>
                              Components to install (default: all)
      -f, --force
      -h, --help              Show help information.
    
  • Introduce foundational changes in preparation for new features in macFUSE 5.3

libfuse

  • Use new mount API MFMount.framework for mounting volumes using the FSKit backend

libfuse3

  • Update libfuse3 to version 3.18.2

  • Use new mount API MFMount.framework for mounting volumes using the FSKit backend

  • Fix a bug when handling FUSE_RENAME messages with FUSE_DARWIN_CAP_RENAME_EXT enabled that could cause the source and destination file names to be parsed incorrectly.

Sponsors

  • Work on this release has been sponsored by uint24 and others

  • If you would like to help sustain future development, please consider sponsoring the project through GitHub Sponsors

Don't miss a new macfuse release

NewReleases is sending notifications on new releases.