macFUSE 5.3.1
- Add initial support for macOS 27
- Add initial support for Xcode 27
- 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
- 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
- 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_LOOKUPto get authoritative handle of directory entries returned byFUSE_READDIRPrevious 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_ENTRYThis ensures that the next lookup triggers a
FUSE_LOOKUPrequest 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 importThis 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.frameworkAPI may still change in future releases.
libfuse
- Fix a path deadlock in the high level API when using
VNOP_MONITOR. This adds the missingfree_path()call infuse_lib_monitor()and resolves macfuse/macfuse#1168.
libfuse3
- Fix a path deadlock in the high level API when using
VNOP_MONITOR. This adds the missingfree_path()call infuse_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.