Download Latest Version macFUSE 5.3.3 source code.zip (5.3 kB)
Email in envelope

Get an email when there's a new version of macFuse

Home / macfuse-5.3.3
Name Modified Size InfoDownloads / Week
Parent folder
macfuse-5.3.3.sha256.sig 2026-07-04 594 Bytes
macfuse-5.3.3.sha256 2026-07-04 262 Bytes
macfuse-5.3.3.dmg 2026-07-04 15.8 MB
macfuse-5.3.3-debug.tbz 2026-07-04 44.7 MB
macFUSE 5.3.3 source code.tar.gz 2026-07-04 4.0 kB
macFUSE 5.3.3 source code.zip 2026-07-04 5.3 kB
README.md 2026-07-04 3.0 kB
Totals: 7 Items   60.6 MB 14

General

  • Update build process to use Xcode 26.6 (macOS 26.5 SDK)

  • Improve daemonization compatibility for file systems using the FSKit backend through libfuse and libfuse3

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.framework to wake worker threads during teardown.

MFMount.framework

  • Add function MFChannelInterrupt()

This allows callers to interrupt threads blocked in MFChannelCopyNextMessage() and MFChannelWaitForNextMessage() without closing the channel. When interrupted, both functions return an error and set errno to EINTR.

  • Make channel receives interruptible by SIGHUP, SIGINT, SIGTERM, and SIGPIPE

  • Add a cancel-safe C trampoline for Swift API entry points

Swift code now runs with pthread cancellation 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.framework API may still change in future releases.

libfuse

  • Defer the actual macOS mount process until first session use

This prevents XPC, DiskArbitration, CoreFoundation, and MFMount state from being created before daemonization in the normal fuse_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 MFChannel after cancelling worker threads

  • Replace dispatch_semaphore_t with a pthread-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, and MFMount state from being created before daemonization in the normal fuse_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_io sessions, interrupts fall back to the regular session-exit behavior because libfuse3 does not own the mount lifecycle.

  • Improve multithreaded loop teardown by interrupting the MFChannel after cancelling worker threads

  • Replace dispatch_semaphore_t with a pthread-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.
Source: README.md, updated 2026-07-04