What’s New

macfuse macfuse-5.3.1

macfuse-5.3.1Pre-release

macFUSE 5.3.1

Added 2
  • Add initial support for macOS 27
  • Add initial support for Xcode 27
Changed 4
  • Use the node identifier and generation as the authoritative handle for file system items instead of the inode number, performing FUSE_LOOKUP to get authoritative handle of directory entries returned by FUSE_READDIR
  • Improve performance when preparing messages sent to the file system server
  • Improve performance when enumerating directories by using FUSE_BATCH_FORGET
  • Update the kernel extension version to 5.3.1
Fixed 5
  • Fix a bug in open file handle management in FSModule
  • Remove the file system item from the name cache when handling FUSE_NOTIFY_INVAL_ENTRY to ensure the next lookup triggers a FUSE_LOOKUP request
  • Address an incompatibility with the macOS 27 SDK included in Xcode 27.0 beta 1
  • Fix a path deadlock in the high level API when using VNOP_MONITOR by adding the missing free_path() call in fuse_lib_monitor() in libfuse
  • Fix a path deadlock in the high level API when using VNOP_MONITOR by adding the missing free_path() call in fuse_lib_monitor() in libfuse3
Deprecated 1
  • Turn MFChannelCreateWithDeviceFileDescriptor() into a weak import as this function will be removed once MFMount() supports mounting volumes using the kernel backend
General
  • Add initial support for macOS 27

  • Add initial support for Xcode 27

FSModule (FSKit Backend)
  • Use the node identifier and generation as the authoritative handle for file system items instead of the inode number. Perform FUSE_LOOKUP to get authoritative handle of directory entries returned by FUSE_READDIR

    Previous releases assumed that the node identifier and inode number were identical, as is the case when using the high level libfuse API without use_ino. This change removes that shortcut and resolves macfuse/macfuse#1166 and macfuse/macfuse#1167.

  • Improve stability by fixing a bug in open file handle management

  • Improve performance when preparing messages sent to the file system server

  • Improve performance when enumerating directories by using FUSE_BATCH_FORGET

Kernel Extension (Kernel Backend)
  • Update the kernel extension version to 5.3.1

  • Remove the file system item from the name cache when handling FUSE_NOTIFY_INVAL_ENTRY

    This ensures that the next lookup triggers a FUSE_LOOKUP request and resolves macfuse/macfuse#1160.

  • Address an incompatibility with the macOS 27 SDK included in Xcode 27.0 beta 1

MFMount.framework
  • Turn MFChannelCreateWithDeviceFileDescriptor() into a weak import

    This function will be removed once MFMount() supports mounting volumes using the kernel backend. Check that the symbol is available before calling it.

  • Please note that parts of the MFMount.framework API may still change in future releases.

libfuse
  • Fix a path deadlock in the high level API when using VNOP_MONITOR. This adds the missing free_path() call in fuse_lib_monitor() and resolves macfuse/macfuse#1168.
libfuse3
  • Fix a path deadlock in the high level API when using VNOP_MONITOR. This adds the missing free_path() call in fuse_lib_monitor() and resolves macfuse/macfuse#1168.
Sponsor
  • 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