What’s New

macfuse macfuse-5.2.0

macfuse-5.2.0

macFUSE 5.2.0

Added 2
  • Introduce a new open source API for mounting volumes using the FSKit backend that enables fully sandboxed file systems
  • Add support for a file system item's allocation size in FSModule FSKit backend
Changed 5
  • Update build process to use Xcode 26.4 (macOS 26.4 SDK)
  • FSKit backend mount operation is now performed over XPC instead of relying on fork()/exec()
  • Improve the built-in log command to detect whether the output destination supports colored output
  • Improve the built-in install command to support selecting which components to install with privileged-helpers, file-system-extensions, and all options
  • Update libfuse3 to version 3.18.2
Fixed 2
  • 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
  • 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
Removed 1
  • Remove the obsolete broker launch daemon io.macfuse.app.launchservice.broker
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.

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

  • Your support is important to sustaining the future development of this project. If macFUSE makes your life easier, consider sponsoring the project through GitHub Sponsors.

View original

Discussion