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

From macfuse

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

Upgraded? How did it go?

Discussion