Mac Winlink v1.0.0 Beta 24
Pre-releaseMac Winlink v1.0.0 Beta 24
Download: MacWinlink_2026-07-16_ff9a86f.dmg (17 MB) — see Assets below.
First-time install? Read the Gatekeeper bypass instructions — since macOS Sequoia, Control-click-to-open no longer works and you'll need to go through System Settings → Privacy & Security → Open Anyway. If ARDOP throws an "access denied" error on first session start, that's a separate quarantine flag on the bundled ardopcf binary — the fastest fix is to run xattr -dr com.apple.quarantine /Applications/MacWinlink.app in Terminal after installing.
What's in this build
Beta24 is the fourth safety-and-polish patch cut in the current cycle. Two focused fixes from beta-tester reports plus one troubleshooting-doc entry:
-
Gateway browser auto-tune sent plain USB / FM instead of DATA-USB / DATA-FM. When you clicked a gateway row in the browser, MacWinlink helpfully tuned your radio to the gateway's dial frequency — but for HF transports (VARA HF, ARDOP) it was asking the radio for plain USB instead of the digital data mode (DATA-USB / USB-D / DIGI depending on your radio's labels). For radios that honour CAT literally (QRP Labs QMX via Hamlib was the reported case), every gateway click kicked you out of DIGI and you had to switch it back by hand. For radios with sticky DATA-mode memory (Icom 7600, others) the bug was masked by radio-side behaviour, which is why it took a QMX tester's detailed report to surface. Fixed via a new
TransportMode.digitalRadioModesingle-source-of-truth, backed by six regression tests that iterate every transport and refuse to let a future change flip the behaviour back. See commit 6ff9c10 for detail. Reported by a QMX operator on QRZ.com. -
ARDOP audio device picker showed two checkmarks for duplicate-named devices. If your Mac had two audio devices sharing the same friendly name — the common case being two Burr-Brown PCM2900-family USB radio interfaces both reporting as
"USB Audio CODEC"— SwiftUI's picker flagged both entries as selected, showing two checkmarks in the dropdown. Worse, the stored selection was the name string, soardopcfat session launch got an ambiguous identifier and picked whichever of the two devices CoreAudio returned first — with no way for the user to know it went wrong. Fixed by capturingkAudioDevicePropertyDeviceUIDon enumeration (stable per-instance identifier), tagging picker items by UID, storing the UID rather than the name, and appending the manufacturer inline for disambiguation when needed ("USB Audio CODEC — Burr-Brown"). Includes a silent one-shot migration from legacy name-based storage. Nine new regression tests. Tracked as ARSFI/MacWinlink#275. -
New TROUBLESHOOTING entry: "VARA Reacts to Room Sounds / Wrong Audio Device (macOS Tahoe)." Captures the recipe for a Wine-under-Tahoe CoreAudio state-drift issue that can make VARA appear to be listening to the wrong microphone even when its own SoundCard dialog shows the correct device selected. Not a MacWinlink bug — Wine's
winecoreaudio.drvdoesn't gracefully recover when CoreAudio state drifts, which Tahoe apparently does more aggressively than prior macOS versions. Recipe:sudo killall coreaudiod(possibly several times), force the device to 44.1 kHz in Audio MIDI Setup, reselect the device in VARA's SoundCard dialog. Guide entry is bundled and reachable from Help → Documentation… (⌘⇧?). Credit to @kg6nlw for the diagnostic work at releases#4.
V1.1 roadmap additions
Two beta-tester feature requests were reviewed and added to the V1.1 roadmap (not scheduled for the current beta cycle):
- #8 — busy-channel detect for ARDOP. VARA already has this since beta19; ARDOP is the remaining gap.
- #9 — sequential "best channel" auto-connect on manual Open Session. The engine (
AutoConnectService) already ships and is used by scheduled auto-poll — this exposes it in the manual flow.
Detail in ROADMAP_V1.0_PLUS.md.
What's unchanged
Everything else in beta23 is unchanged. No functionality removed; no protocol changes; no UI restructuring. SwiftRigControl 1.1.2 remains pinned.
Test suite: 2,110 main-app + 238 Helper = 2,348 total, 0 real failures. One integration test flaked once in the full-suite run (SIDHandlerResponderGreetingTests, mock-server timing) and passes cleanly in isolation — tracked separately.
System requirements
- macOS 15.0 (Sequoia) or later
- Apple Silicon Mac (M1 / M2 / M3 / M4 / M5)
- Intel Macs are not supported
Full changelog
The complete beta24 release notes are in ARSFI/MacWinlink CHANGELOG.md and CHANGELOG-Helper.md.
Reporting problems
File a bug report or feature request.
Verification
SHA-256 of the DMG: a6d451f4c5a49a2114791448b668879f8d6233399d1051d90cc5a5d8eacc135a
You can verify with shasum -a 256 MacWinlink_2026-07-16_ff9a86f.dmg after downloading.