LATEST HOSTED BUILD · 20 OCT 2026ASFW 0.6.0 · build 33
Signed, notarized and stapled. SIP can remain enabled. For Apple silicon Macs running macOS 26 or later.
Download ASFW 0.6.0-33 · DMG · 13 MB ↓
SHA-256: bc91fb8895e134d0329a07316566fa948f1bf910efb3844c58f9e3e3c8104321
Download checksum file · Build 33 notes in Markdown · Installation guide
What changed
- Device Controls. A new device-aware console exposes supported hardware controls in ASFW.
- MIDI and round-trip latency. Adds MIDI support for DICE devices and a tool to measure audio latency through a physical output-to-input loopback.
- More interface support. Adds Prism Sound Orpheus support and improves RME Fireface 400/800 operation; Fireface 800 playback was confirmed by a hardware report.
- Reliability fixes. Improves device communication and discovery, and fixes Avid Mbox Pro mixer behavior.
PREVIOUS HOSTED BUILD · 15 OCT 2026ASFW 0.5.0 · build 25
Signed, notarized and stapled. SIP can remain enabled. For Apple silicon Macs running macOS 26 or later.
Download ASFW 0.5.0-25 · DMG · 13 MB ↓
SHA-256: 98e7de21361a8bac035b6e7ba04f184cdc5d2b7c4889287e0313f9edb683c786
Download checksum file · Build 25 notes in Markdown · Installation guide
What changed
- DICE capture compatibility. Updates capture audio handling across DICE interfaces. A Saffire Pro 24 DSP loopback passed 20 of 20 trials; the StudioLive 32.4.2 change still needs hardware validation.
- Device rate reporting. The audio device now reports the sample rate it published to Core Audio.
- DICE diagnostics. Reports now include receiver status and additional DICE III controller information.
PREVIOUS HOSTED BUILD · 15 OCT 2026ASFW 0.5.0 · build 24
Signed, notarized and stapled. SIP can remain enabled. For Apple silicon Macs running macOS 26 or later.
Download ASFW 0.5.0-24 · DMG · 13 MB ↓
SHA-256: ee016e6d4366b39120734f11274d9bd54af789c100a83e304f4efb3ddeed4739
Download checksum file · Build 24 notes in Markdown · Installation guide
What changed
- DICE reliability. Improves device setup and checks that DICE devices have locked to the audio stream after playback starts.
- DICE diagnostics. Adds receiver diagnostics to help investigate DICE audio and connection problems.
- RME Fireface 800 startup. Improves how the driver brings the interface into its transmitting state.
Build 20 has been withdrawn. Build 22 and earlier usable builds remain available below.
PREVIOUS HOSTED BUILD · 13 OCT 2026ASFW 0.5.0 · build 22
Signed, notarized and stapled. SIP can remain enabled. For Apple silicon Macs running macOS 26 or later.
Download ASFW 0.5.0-22 · DMG ↓
SHA-256: 089369f9d5a742be1d3b7c530cf14c8c0b78cda372b5aae48d7cb1df4747d8ed
Download checksum file · Build 22 notes in Markdown · Installation guide
What changed
- MOTU playback and device setup. Improves startup recovery and channel routing across supported FireWire models. Playback timing now follows the device’s incoming stream more consistently.
- Saffire and DICE startup. Improves cold starts and sample-rate changes, including recovery when a device needs to reconfigure before audio can begin.
- DICE diagnostics. Adds an advanced audio receiver diagnostics view to help inspect incoming audio and troubleshoot devices.
- FireWire device discovery. Corrects how the driver interprets a device’s reported transfer size, improving discovery and compatibility checks.
Notes summarize the maintainer’s local integration history through dddcb4ce; these changes are not published in the main Git repository. Build 20 has been withdrawn. Build 21 remains available below.
PREVIOUS HOSTED BUILD · 10 OCT 2026ASFW 0.5.0 · build 19
Signed, notarized and stapled. SIP can remain enabled. For Apple silicon Macs running macOS 26 or later.
Download ASFW 0.5.0-19 · DMG · 13 MB ↓
SHA-256: 0000b144ca9feecee684152aad3c45c7b274759a6365bdf9cb0c30b04a11b475
Download checksum file · Build 19 notes in Markdown · Installation guide
Changes since build 17
- Async regression fixed. The transmit ring now follows packet links across wrap padding and keeps one slot free. Failed enqueue attempts release their transaction labels. This fixes the regression that could stall async I/O across the bus in build 17. Commit ↗
- RME startup and saved settings. Internal clock readiness uses the correct status bit. The driver now applies decoded saved settings before each start, with the clock forced to internal master. No configuration is sent if the saved settings cannot be read and decoded. Commit ↗
- Mbox Pro line outputs. Each line output receives its own playback channel; headphones retain the full mix. Commit ↗
- App navigation. The sidebar is grouped by task, Bus Inspector replaces Device Discovery, and advanced tools are hidden behind a switch in Release builds. Commit ↗
- Release architecture. The release driver ships x86_64 and arm64 slices. Intel support is still not offered; installation of this architecture change needs hardware validation. Commit ↗
Validation and limitations
The async and RME fixes have software test coverage. Earlier contributor reports confirmed Fireface 800 outputs 1/2 at 48 kHz; they do not validate these new changes. Maintainer RME hardware validation remains outstanding; Fireface 400 has not been tested.
Builds 14 and 17 have been withdrawn. Build 15 and 0.4.0 build 6 remain available below for rollback. Notes checked against the build 19 commits through 3df4e8c7.
0.5.0 changes, upgrade instructions and known issues
Upgrade note
- The bundle identifiers changed: the app is now
net.asfw.app and the driver extension net.asfw.driver (previously net.mrmidi.ASFW and net.mrmidi.ASFW.ASFWDriver). macOS treats them as a different app and a different system extension. Uninstall the previous version's driver extension before installing this one.
Added
- DICE: sample-rate switching across every rate the device reports in its clock capabilities, with each rate mode's channel layout taken from the device's extended application space (EAP). Core Audio shows the right channel count per rate; on the Pro 24 DSP that is 16 inputs at 44.1/48 kHz and 12 at 88.2/96 kHz. Rate changes run inside Core Audio's configuration window and roll back if the device does not confirm the new rate. (#179)
- AV/C: sample-rate switching for devices that report several supported rates (Duet, Phase 88), applied in confirmed configuration transactions. Duet playback at 96 kHz confirmed clean on hardware. (#179)
- MOTU: a shared stack for FireWire-only models: 828mk2, 896HD, Traveler, UltraLite and 8pre (protocol V2); 828mk3, 896mk3, UltraLite mk3 and Traveler mk3 (V3, FireWire); the original 828 and 896 (V1) behind a validation flag. Per-rate channel layouts, bandwidth sizing for packed PCM, and a clock-readiness check before streaming starts. USB and hybrid models are recognized but not enabled. Builds on contributor work in #114, #116 and #172. Not tested on hardware. (#179)
- Audio: AV/C and DICE devices keep their isochronous streams running when Core Audio stops IO, as Apple's AppleFWAudio and the TCAT DICE drivers do. Switching outputs or restarting a player rejoins the running stream in milliseconds instead of re-negotiating with the device. A sample-rate change, an IO restart, a transport fault or driver stop release it. On the Phase 88 a 96 → 48 kHz switch settles in 2.2 s instead of 7.1 s; on the Pro 24 DSP a rejoin after 18 minutes idle took 1 ms. (#179, #180)
- Diagnostics: an Audio Geometry view with rate-dependent stream geometry, transport depth, observed interrupt cadence, HAL buffers and a declared-latency preview. (#179)
- Diagnostics: a
[TxContent] line after each 5 s transmit heartbeat reports the peak sample written into packet memory and whether every frame landed in a packet. It separates "Core Audio sent silence" from "the device muted what we sent". (#180) - Audio Analyzer: visual contrast themes, light plot styling and non-destructive metering calibration. (#176)
Changed
- Audio: one publication, recovery and teardown path (
AudioDeviceHost) for DICE, AV/C, MOTU and RME devices replaces four per-family copies. Every decision is one [AudioHost] log line. MOTU now restarts its stream after a bus reset while streaming, as the other families do. (#179) - Bus: the first bus reset after start is always issued. (#175, contributed by @cube666999)
- Driver: the PCI entitlement and controller matching follow the Developer ID profile; the driver extension uses the Hardened Runtime and the app the App Sandbox in Release builds.
Fixed
- DICE: a stream started right after the device lost lock during a clock change (a cold start, a reinstall or a replug while set to another rate) came up silent. The device was locked to the stream and the packets carried audio, but its outputs stayed muted until the next start. The driver now follows such a start with one restart once the device has settled, as the TCAT driver does on the device's configuration-change notification. This was the Saffire "silent cold start". (#180)
- DICE: a device that attached in a stale state no longer overwrites its 2x channel layout with the 1x one; every switch to 88.2/96 kHz used to roll back. (#179)
- Audio: a sample-rate change after a bus reset no longer fails and leaves the device unable to start until replugged; a failed first read now keeps the previous rate. (#180)
- Audio: unplugging a device while Core Audio plays no longer leaves Core Audio's IO loop spinning (about 60% CPU for minutes) and the driver objects unreleased; IO is stopped before the device is removed. Not yet confirmed on hardware. (#180)
- Audio: unplugging a device while its stream was kept across a Core Audio stop released nothing; driver stop now releases it. Confirmed on the Phase 88. (#179)
- AV/C: 96 kHz playback; the transmit path no longer scans the packet timeline once per sample. (#179)
- MOTU: a rate switch across rate modes no longer latches "geometry changed"; a republish is compared with the configuration Core Audio holds now. (#179)
- RME: Fireface 400 and 800 units that report their model ID in the unit directory instead of the root directory are matched.
- Audio Analyzer: goniometer channel deflection.
Known issues
- Saffire Pro 24 DSP: after a reinstall or replug while set to 96 kHz, the device can attach running at 96 kHz while its clock-select and stream registers describe the 48 kHz layout. The rate check treats that as unconfirmed and rolls back, which costs two extra clock changes before audio starts. Audio does start.
- MOTU, DICE devices other than the Pro 24 DSP (including the two-stream Pro 40), and RME have not been tested with this release's lifecycle changes.
- The driver-extension process lifetime after unplug, listed since 0.4.0-beta.2, is not confirmed resolved.
PREVIOUS HOSTED BUILD · 9 OCT 2026ASFW 0.5.0 · build 15
Signed, notarized and stapled. SIP can remain enabled. For Apple silicon Macs running macOS 26 or later.
Download ASFW 0.5.0-15 · DMG · 13 MB ↓
SHA-256: ab838d639b2ee02db54b5bfb99970a509944c81f4d1448cff6eecc7c79418ef8
Download checksum file · Notes in Markdown · Installation guide
Fixed
Fixes DV Capture’s “Choose Output File” action by granting the app read/write access to user-selected files. This addresses the missing sandbox entitlement reported in #182.
The read/write entitlement has been verified in the signed app. This packaging check does not verify capture on a camcorder.
Read the 0.5.0 changes, upgrade instructions and known issues.
PREVIOUS BUILDS0.4.0 · build 6
The previous signed and notarized hosted build. Available if you need to return to 0.4.0.
Download ASFW 0.4.0-6 · DMG · 13 MB ↓
SHA-256: 925b5c3731f15de374ec231eca35e96eff1c77bb45e7e6473d2951d759c9b6f4
Download checksum file
Before switching versions, uninstall the currently installed driver extension using its ASFW app, then install the earlier version.
0.4.0-beta.4 · 4 October 2026
Fixes AV/C device publication when playback and capture plugs initially report different sample rates, and hardens CMP connection cleanup. Phase 88 startup and streaming were confirmed on hardware.
Read the earlier changelog · GitHub release archive