Announcing macFUSE 5.3.3 Posted on 04 Jul 2026
Release Notes
General
-
Update build process to use Xcode 26.6 (macOS 26.5 SDK)
-
Improve daemonization compatibility for file systems using the
FSKitbackend throughlibfuseandlibfuse3
Kernel Extension (Kernel Backend)
-
Update the kernel extension version to 5.3.3
-
Add support for interrupting readers blocked on the FUSE device
This is used by
MFMount.frameworkto wake worker threads during teardown.
MFMount.framework
-
Add
MFChannelInterrupt()functionThis allows callers to interrupt threads blocked in
MFChannelCopyNextMessage()without closing the channel. -
Make channel receives interruptible by
SIGHUP,SIGINT,SIGTERM, andSIGPIPE -
Add a cancel-safe C trampoline for Swift API entry points
Swift code now runs with
pthreadcancellation disabled. Pending cancellation is delivered after returning from Swift to the C trampoline in the framework. -
Use XPC lightweight code requirements on macOS 14.4 and later when verifying the mount service
-
Please note that parts of the
MFMount.frameworkAPI may still change in future releases.
libfuse
-
Defer the actual macOS mount process until first session use
This prevents XPC,
DiskArbitration,CoreFoundation, andMFMountstate from being created before daemonization in the normalfuse_main()flow. -
Avoid forking in
fuse_daemonize()after the macOS mount process has started -
Improve signal handling on macOS by requesting an interrupt from the signal handler and performing the actual unmount from regular library code
-
Improve multithreaded loop teardown by interrupting the
MFChannelafter cancelling worker threads -
Replace
dispatch_semaphore_twith apthread-based fallback and use timed waits where signal responsiveness is required
libfuse3
-
Defer the actual macOS mount process until first session use
This prevents XPC,
DiskArbitration,CoreFoundation, andMFMountstate from being created before daemonization in the normalfuse_main()flow. -
Avoid forking in
fuse_daemonize()after the macOS mount process has started -
Improve signal handling on macOS by routing interrupts through the normal unmount path
For
custom_iosessions, interrupts fall back to the regular session-exit behavior becauselibfuse3does not own the mount lifecycle. -
Improve multithreaded loop teardown by interrupting the
MFChannelafter cancelling worker threads -
Replace
dispatch_semaphore_twith apthread-based fallback and use timed waits where signal responsiveness is required
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.


