Releases: OpenHPSDR-Zeus-org/openhpsdr-zeus
🧪 TEST BUILD — CTUN click-tune (PS-safe) — NOT a release
🧪 Test build — not an official release
develop + the unmerged CTUN PR (#671), built for testing before merge. Version 0.9.1-dryrun.0d061ba so it won't be confused with the real v0.9.1.
CTUN (Click-Tune) was reverted three times before because it broke PureSignal. This rebuild snaps the radio LO to the dial on key-down so the transmitted carrier is always on-frequency — the goal of this test is to confirm PureSignal stays clean with CTUN on.
What to test 🎯
- Find the CTUN button and toggle it on. Tune around — the panadapter centre should stay put while your dial marker roams off-centre. Toggle off → the display recenters on the dial like before.
- ★ The important one — PureSignal with CTUN ON: enable CTUN, move your dial off the panadapter centre, then key up / run two-tone with PureSignal active. Confirm PS calibrates and stays clean (no IMD blow-up), exactly as it does with CTUN off. Please try this on both an ANAN (Protocol 2) and a Hermes-Lite 2 (Protocol 1) if you can.
- CW + CTUN: confirm CW transmits zero-beat on the dial with CTUN on.
- General tuning feel (wheel / click / drag) with CTUN on — note any lag.
Notes
- CTUN defaults OFF — with it off, everything behaves exactly like today.
- Test build, unsigned — your OS may warn when opening it; that's expected.
- Please report what you find (especially anything PureSignal-related) ASAP. 🙏
🧪 TEST BUILD — ANAN-10E line-in (issue #667) — NOT a release
🧪 Test build — not an official release
This is develop + the unmerged fix for issue #667 (PR #668), built so the ANAN-10E line-in fix can be tested before merge. Version is labelled 0.9.1-dryrun.caac2f7 so it won't be confused with the real v0.9.1.
What to test (ANAN-10E owners) 🎯
- Install + connect your ANAN-10E.
- Open Radio Settings → TX audio source. "Radio Line In" should now appear (it was missing before).
- Select Radio Line In, set the gain, and confirm the radio actually takes audio from the line-in jack on transmit.
- Confirm the other inputs (mic, etc.) still work as before.
Please report back on the issue as soon as you can — thank you! 🙏
PureSignal note (HL2 / P1 owners)
This touches the Protocol-1 codec frame, so if you run a Hermes-Lite 2, a quick two-tone / PureSignal check is appreciated — it should be unchanged.
Not for production
Unsigned/dry-run build for testing only. Don't treat this as a release.
Built from fix/anan10e-linein-667 @ caac2f7. arm64 Linux AppImage omitted from this test build (naming quirk); arm64 Linux tarball is included.
Openhpsdr Zeus nightly — 2026-06-18 (ce8298b)
Openhpsdr Zeus nightly build
Built from develop at commit ce8298b on 2026-06-18 (UTC).
Version string: 0.9.1-nightly.20260618.ce8298b
⚠️ This is a development build, not a release. It rolls forward
nightly and is not signed, tested, or supported in the same way as
tagged releases. Use it to try the latest changes; do not rely on it
for production operation. Uninstall before installing a tagged
release.
Same one-binary, three-launch-modes layout as a tagged release —
see the project README for headless / server / desktop semantics.
Downloads
- openhpsdr-zeus-0.9.1-nightly.20260618.ce8298b-win-x64-setup.exe — Windows x64 installer
- openhpsdr-zeus-0.9.1-nightly.20260618.ce8298b-win-arm64-setup.exe — Windows ARM64 installer
- openhpsdr-zeus-0.9.1-nightly.20260618.ce8298b-linux-x64.tar.gz — Linux x64 tarball
- OpenhpsdrZeus-0.9.1-nightly.20260618.ce8298b-linux-x86_64.AppImage — Linux desktop AppImage
- OpenhpsdrZeus-Server-0.9.1-nightly.20260618.ce8298b-linux-x86_64.AppImage — Linux server AppImage
- openhpsdr-zeus-0.9.1-nightly.20260618.ce8298b-linux-arm64.tar.gz — Linux arm64 tarball (Raspberry Pi 4/5)
- OpenhpsdrZeus-0.9.1-nightly.20260618.ce8298b-macos-arm64.dmg — macOS Apple Silicon DMG
The macOS DMG is signed and notarized — no xattr -cr workaround
needed even on nightlies. Linux AppImage dependencies are listed
in the latest tagged release notes.
Changes since v0.9.1
- Merge pull request #665 from Kb2uka/experiment/high-end-meters (ce8298b)
- feat(meters): high-end premium meter rendering + 60Hz liquid motion (b1a3529)
- Merge pull request #664 from Kb2uka/fix/hamclock-axios-cookiejar-esm (72707fd)
- fix(hamclock): pin axios-cookiejar-support to CommonJS v4 (#657) (d84d922)
- Merge pull request #663 from Kb2uka/fix/hamclock-node-absolute-path (e901c84)
- fix(hamclock): launch node by absolute path — the real macOS fix (#657) (686a93f)
- Merge pull request #662 from Kb2uka/ci/fftw-download-retry (e2d8bef)
- ci: retry fftw3 vcpkg install to survive transient fftw.org flakes (81a0570)
- Merge pull request #661 from Kb2uka/fix/hamclock-bundle-node (e7e7b8b)
- feat(hamclock): bundle Node in the macOS app so HamClock works on any Mac (#657) (f968893)
- Merge pull request #660 from Kb2uka/fix/hamclock-macos-node-path (d3da5ad)
- fix(hamclock): resolve system Node on macOS GUI launch (#657) (2e0ffc6)
- Merge pull request #659 from Kb2uka/fix/waterfall-lint-tickcounter (63a6513)
- fix(waterfall): remove dead tickCounter (lint) left by scroll-speed change (f4ce8ea)
- Merge pull request #658 from Kb2uka/feat/spectrum-scale-settings (0dd94a3)
- Merge pull request #655 from Kb2uka/feat/waterfall-engine (587a9a1)
- fix(waterfall): render flat when Signal Pop is off; relief is Pop-only (eaaba0d)
- feat(display): wire Spectrum Scale panel into Settings > Display (d3ed6e5)
- feat(display): Spectrum Scale settings panel — per-display dB windows (5e0b318)
- fix(waterfall): revert Signal Pop to default OFF (c3fa74b)
- feat(waterfall): add Relief/Smooth/Glow control panel (N9WAR engine) (571ec13)
- feat(waterfall): default Signal Pop on; restore N9WAR pop palette (fbee418)
- fix(waterfall): defer WebGL loseContext so reopen doesn't blank the canvas (49cafe1)
- chore(waterfall): wire the engine into the Zeus seam; keep Signal Pop byte-identical (ac7ef3d)
- feat(waterfall): new waterfall engine — 3D shaded relief + scroll-speed cadence (1f245f0)
- Merge pull request #654 from Kb2uka/fix/remove-snap-toggle (76891a2)
- fix(display): remove Snap-to-Signal from the UI, keep Signal Pop (1c04c58)
- Merge pull request #653 from Kb2uka/feat/christiano-hamclock (1029ca1)
- fix(hamclock): allow the HamClock origin through the rig-bridge CORS (7f0a1b8)
- fix(hamclock): get TCI click-to-tune connecting + stop the download crash (6859f96)
- feat(hamclock): auto-link TCI click-to-tune and handle desktop downloads (5b9a0bf)
- Revert "feat(hamclock): make tile resizable and scale dashboard proportionally" (10c37a6)
- feat(hamclock): make tile resizable and scale dashboard proportionally (8c10eb3)
- fix(hamclock): replace blocked iframe localStorage with a server-backed store (5a93da9)
- fix(hamclock): server-backed localStorage shim so settings persist (a25afa1)
- fix(hamclock): persist settings server-side via SETTINGS_SYNC (3bce6e2)
- feat(hamclock): IP-geo fallback for "Use My Current Location" on desktop webview (08c36de)
- fix(hamclock): persist settings via stable sidecar port + allow geolocation (2ebd518)
- fix(hamclock): allow downloads from the embed iframe (Rig Bridge installer) (d03c2d1)
- test: bump AddPanelModal panel count to 22 for the HamClock panel (054b3da)
- feat(hamclock): embed OpenHamClock as an installable workspace panel (b771d7d)
- feat(ports): external-port control (antenna / audio source / PTT-IN) across all radios (78c3c28)
- Merge pull request #652 from Kb2uka/feat/christiano-graphics (3b80681)
- chore(filter): wire FilterCursorOverlay into the panadapter (37cc114)
- feat(filter): Thetis-style hover cursor + passband preview overlay (81f495e)
- feat(filter): high-end smooth-line filter-window renderer (174be5e)
- Merge pull request #649 from Kb2uka/fix/panadapter-features-surface (e492a15)
- fix(display): surface Signal Pop / Snap / peak markers via a Display-tab control (91b3d8b)
- feat(waterfall): colormap picker + scroll cadence + signal pop + renderer fallback (f1bf5f8)
- feat(panadapter): ruler-drag LO pan on the frequency axis (339c5ec)
- feat(display): signal pop, snap-to-signal, peak markers + GL pop/remap (8d949e2)
- Merge pull request #648 from Kb2uka/feat/waterfall-height (1b97b83)
- feat(layout): resizable panadapter / waterfall split (8ebabfd)
- docs(claude): red-light — no change may break PureSignal on P1 or P2 (fbfa9ac)
- Merge pull request #646 from Kb2uka/fix/filter-drag-double-free (dc8092d)
- fix(dsp): serialize WDSP/FFTW bandpass recompute to stop filter-drag double-free (5eba5b8)
- docs(claude): visuals/UX/defaults authority is Brian OR Doug, not Brian alone (8958252)
- Merge pull request #638 from Kb2uka/fix/prefs-db-corruption-guard-637 (b786bcc)
- fix(server): guard prefs DB so a corrupt zeus-prefs.db can't stop Zeus launching (#637) (f97c060)
- Merge main into develop after v0.9.1 release (sync histories) (90e29db)
Source: ce8298b
Openhpsdr Zeus v0.9.1
Openhpsdr Zeus v0.9.1
Cross-platform SDR client for OpenHPSDR Protocol-1 and Protocol-2 radios.
[0.9.1] — 2026-06-14
🩹 Hotfix: the waterfall is back on Windows, plus a new amplifier-friendly TX delay. A regression in 0.9.0 left the waterfall blank on many Windows machines while the panadapter kept working. This release fixes that, and adds an optional pre-key TX delay that protects external amplifiers.
What's new (in plain English)
The waterfall works again on Windows. After upgrading to 0.9.0, a number of Windows operators found the waterfall went blank — sometimes right away, sometimes after a few minutes — while the panadapter kept running normally. The 0.9.0 smooth-tuning rework changed when the waterfall's scrolling history first gets allocated on the graphics card, and on Windows that step could be skipped at connect, leaving the waterfall black. It now seeds itself from the first real sweep of data, so it comes up reliably no matter the timing or the graphics driver. It's also been hardened to recover automatically if the graphics context is dropped during a long session (instead of freezing), and to fall back gracefully on virtual/limited GPUs. (#629)
New "TX delay" for external amplifiers. There's a new TX delay control in the PURESIGNAL → Timing panel. Set it to a few milliseconds (the operators who reported this found ~30 ms ideal) and Zeus will key your radio first, wait, and then let RF out — giving a linear amplifier's transmit/receive relay time to finish switching before any RF reaches it, which prevents "hot-switching" the relay. The default is 0 ms, so nothing changes unless you opt in. It applies to the on-screen MOX and TUNE buttons and is deliberately left out of CW and digital modes. (#630)
One binary, three launch modes:
- Headless service (no flag, default) — LAN-bound HTTP/HTTPS server on
port 6060/6443. Console banner only, no GUI. Use this for systemd, Docker,
Raspberry Pi, or any headless deploy. - Server mode (
--serverflag) — same backend as headless, plus a
small Photino status window showing the LAN URLs and a Stop Zeus button.
What the new Zeus Server desktop icon launches on Windows / macOS /
Linux. - Desktop mode (
--desktopflag) — full Photino native window with the
web UI inline. Loopback only, no browser tab. Use this for single-machine
local operation.
Downloads
Windows (x64 / ARM64)
- openhpsdr-zeus-0.9.1-win-x64-setup.exe
- openhpsdr-zeus-0.9.1-win-arm64-setup.exe
The installer drops two Start Menu shortcuts plus optional desktop
icons: Openhpsdr Zeus (Photino native window, --desktop) and
Openhpsdr Zeus Server (backend + small status window with the LAN
URLs and a Stop Zeus button, --server). The desktop-icon checkboxes
appear on the installer's "Additional Tasks" page — pick whichever
icons you want on the desktop. ARM64 build is native for Surface Pro X
/ Snapdragon X Elite hosts. .NET 10 runtime is bundled — no separate
install required.
Upgrade behaviour: this installer reuses the same AppId as the previous
service-mode installer, so it upgrades that install in place. If you
previously installed the separate "Zeus Desktop" edition it remains
alongside this install as cruft until you uninstall it manually from
Settings → Apps.
macOS (Apple Silicon)
- OpenhpsdrZeus-0.9.1-macos-arm64.dmg
Drag both OpenHPSDR Zeus.app and OpenHPSDR Zeus Server.app to Applications.
Double-clicking OpenHPSDR Zeus.app opens the Photino desktop window;
double-clicking OpenHPSDR Zeus Server.app runs the backend with a small
status window showing the LAN URLs and a Stop Zeus button.
OpenHPSDR Zeus Server.app is a thin wrapper — drag both, or drag just
OpenHPSDR Zeus.app if you only want the desktop window.
Intel Mac builds are no longer published — the macos-13 runner queue
on GitHub-hosted Actions is too slow to be practical. Build from source
if you need one.
The DMG and both .app bundles are signed with a Developer ID
Application certificate and notarized by Apple, so Gatekeeper
accepts them directly — no xattr -cr workaround needed.
Linux (x64)
- openhpsdr-zeus-0.9.1-linux-x64.tar.gz
— extract; run./install-icons.shto register Zeus + Zeus Server
in the application menu, or invoke any of the three launchers
directly:./openhpsdr-zeus(headless service),./openhpsdr-zeus-desktop
(Photino window),./openhpsdr-zeus-server(backend + status window).
Self-contained .NET runtime + statically-embedded FFTW3. - OpenhpsdrZeus-0.9.1-linux-x86_64.AppImage
— single-file Photino desktop launcher:chmod +xand run. - OpenhpsdrZeus-Server-0.9.1-linux-x86_64.AppImage
— single-file server launcher: backend + status window with the
LAN URLs and a Stop Zeus button. - Both AppImages require
libwebkit2gtk-4.1-0(apt install/dnf install).
Linux (arm64 — Raspberry Pi 4 / Pi 5)
- openhpsdr-zeus-0.9.1-linux-arm64.tar.gz
— headless server for Raspberry Pi 4/5 and other arm64 boards.
Extract and run./OpenhpsdrZeus; openhttp://<pi-ip>:6060in
any browser. Self-contained — no .NET install needed on the Pi.
Requires: 64-bit OS (Raspberry Pi OS 64-bit or Debian arm64).
No extra packages needed (libfftw3-double3is pre-installed on
Debian 13; statically linked on older distros).
Desktop/Photino mode requireslibwebkit2gtk-4.1-0.
Seedocs/lessons/raspberry-pi-deployment.mdfor the full setup guide.
License
GNU GPL v2 or later. See LICENSE for details.
Openhpsdr Zeus v0.9.0
Openhpsdr Zeus v0.9.0
Cross-platform SDR client for OpenHPSDR Protocol-1 and Protocol-2 radios.
[0.9.0] — 2026-06-13
🛰️ Smooth tuning, cleaner transmit, Raspberry Pi — and Voyeur Mode arrives as an optional plugin. Panadapter tuning now glides instead of jumping, PureSignal and the transmit path reach desktop-grade quality, Zeus runs on the Raspberry Pi 4/5 for the first time, and there's a live CW decoder and a reel-to-reel tape-deck recorder. Under the hood, the plugin system gained the hooks — an RX audio tap, host-mediated QRZ, and radio-state read — that let large features ship as optional add-ons instead of bloating every download. The first of those: Voyeur Mode, the unattended AI net monitor, is now an installable plugin — opt in only if you want it. Roughly 155 changes since v0.8.4.
What's new (in plain English)
Tuning that glides. Spinning the dial used to make the spectrum jump in steps. Now the panadapter animates smoothly to the new center, the receiver "catches up" faster after a big jump so the display isn't smeared, and the filter passband and dial marker stay locked to the center line the whole time. It just feels right now. (#597)
Voyeur Mode — your automatic net secretary, now an optional plugin. Voyeur is no longer baked into the main download — install it from Settings → Plugins so operators who don't use it carry none of its weight. Once installed, point it at a net and walk away: it records every over, turns the speech into text right on your machine, picks out callsigns and validates them against your QRZ account, builds a live roster of who checked in, and — with a small local AI model — writes a "what was discussed" summary so you don't re-listen to an hour of audio. Everything's saved in a searchable archive and any over replays with one click. The speech + AI engines download once, on first enable, on every platform (Windows, macOS Intel + Apple Silicon, Linux x64 + arm64). Privacy: transcription and summarization run entirely offline; the only thing that ever leaves your computer is the QRZ lookups you already use. (Install from the plugin browser; needs Zeus 0.9.0+. If you used the in-core Voyeur from a nightly, the plugin adopts your existing logs, engines, and models automatically — nothing is lost.)
CW decoder + redesigned Telegraph Console. Zeus now decodes received Morse to on-screen text in real time, streamed live from the radio's audio. The CW console was rebuilt and its settings persist across restarts, you get a proper host-side sidetone monitor, and the Hermes-Lite 2's on-board iambic keyer can be configured from Zeus.
Cleaner, more reliable transmit (PureSignal). A large body of work brought PureSignal and the transmit path on the desktop build up to the quality of the web build and Thetis: two-tone and voice are noticeably cleaner, PureSignal holds its correction instead of "jumping," your per-radio feedback-attenuation calibration is now saved and restored, and there's a two-tone IMD measurement overlay so you can see your transmit purity. Arming/disarming PureSignal mid-transmit no longer wedges it. (#556, #557, #558, #559)
Runs on Raspberry Pi. Zeus now has official arm64 Linux builds — an AppImage and a tarball — plus a headless deployment guide, so you can run the backend on a Raspberry Pi 4 or 5.
Tape-deck recorder. A new reel-to-reel style panel records your receive or transmit audio to a WAV file and plays it back, either locally or back out over the air.
Polish all over. Lots of settings now survive a restart that didn't before — panadapter dB scale, tuning step, band favorites, mic gain and Leveler. Every meter now shares the same smooth needle behavior. macOS signed builds can use the microphone and no longer depend on a Homebrew library being installed. Windows machines with multiple network adapters now discover the radio and draw the panadapter correctly. And the plugin system gained receive/transmit audio taps so audio plugins can see and shape the signal.
Added
- Voyeur Mode — now an installable plugin (
com.kb2uka.voyeur, in the plugin browser), not a core feature. Unattended net-monitor capture + log management; whisper speech-to-text with callsign extraction and host-mediated QRZ enrichment; roster report, searchable archive, per-over audio replay; a local-LLM "what was discussed" digest; in-app, terminal-free, cross-platform download of the speech + AI engines and models. Adopts any existing in-core Voyeur data (logs/engines/models) on first run. - Plugin SDK seams for receive-side feature plugins —
AudioBlockContext.Receiver(RX taps can filter to one receiver),IQrzLookup(plugins reuse the operator's stored QRZ credentials), and a registeredIRadioStateReader(current VFO/mode/band). These are what let Voyeur live outside core; SDK bumped to 1.2.0. - Raspberry Pi 4/5 support — linux-arm64 AppImage and tarball in the release matrix, with a headless deployment script and guide.
- WAV tape-deck recorder — record RX/TX to WAV and play back locally or over the air, from a reel-to-reel panel (#579).
- CW decoder + Telegraph Console — server-side CW decode streamed to the panel, redesigned console with persisted settings, host-side sidetone monitor, TCI raw-key sidetone, and HL2 on-board iambic-keyer configuration.
- Two-tone IMD measurement overlay for transmit-purity checks (Thetis parity).
- Smooth panadapter tuning — animated view-center with fast-attack averaging on retune (#597).
- Plugin audio pipeline — read-only RX audio tap, TX audio taps + playback sink, a post-demod insert seam, and an
IRadioControllerso plugins can key TX. - TCI spots rendered on the panadapter.
Changed
- Tuning the dial now glides the spectrum smoothly and keeps the passband + dial marker pinned to center during the move (#597).
- PureSignal runs continuous auto-mode (Thetis parity) and persists/restores per-board feedback attenuation with manual override (#557).
- CESSB now matches Thetis/piHPSDR/desktop defaults — off while PureSignal is armed, on otherwise — fixing voice-peak splatter (#559).
- Many settings now persist server-side across restarts: panadapter dB scale (#478, #496), tuning step + favorites (#515), mic gain + Leveler.
- All meters share a unified ballistics hook for consistent needle response.
Fixed
- Voyeur transcription produced nothing. Captured overs are 48 kHz but the bundled whisper engine requires 16 kHz and was silently rejecting every over; Zeus now down-converts in-process so transcription works (#614).
- macOS: signed builds can now use the microphone (
device.audio-inputentitlement); FFTW libraries are bundled in the.appso it no longer needs Homebrew (#421, #543); the bundle is code-signed correctly without--deep(#530). - Windows: radios are discovered and the panadapter draws correctly on hosts with multiple network adapters (#574).
- PureSignal/TX: the wedge watchdog recovers in ~5 s instead of ~37 s; two-tone no longer jumps; the TUN/two-tone pump runs on a real-time thread at the exact DAC rate so the transmit FIFO can't underrun; arming/disarming PureSignal mid-transmit no longer wedges correction (#558, #559).
- ANAN-10E wire byte
0x06with a low code version is now correctly classified as HermesII (#545). - Protocol 1: TxFreq refreshes during receive so HL2 external-amp boards drive the band-voltage output (#361, #503).
- Linux AppImage: WebKitGTK GPU acceleration disabled in
AppRunto fix blank/garbled rendering on some systems. - Sliders stream their value live during a drag and commit on release (#485).
One binary, three launch modes:
- Headless service (no flag, default) — LAN-bound HTTP/HTTPS server on
port 6060/6443. Console banner only, no GUI. Use this for systemd, Docker,
Raspberry Pi, or any headless deploy. - Server mode (
--serverflag) — same backend as headless, plus a
small Photino status window showing the LAN URLs and a Stop Zeus button.
What the new Zeus Server desktop icon launches on Windows / macOS /
Linux. - Desktop mode (
--desktopflag) — full Photino native window with the
web UI inline. Loopback only, no browser tab. Use this for single-machine
local operation.
Downloads
Windows (x64 / ARM64)
- openhpsdr-zeus-0.9.0-win-x64-setup.exe
- openhpsdr-zeus-0.9.0-win-arm64-setup.exe
The installer drops two Start Menu shortcuts plus optional desktop
icons: Openhpsdr Zeus (Photino native window, --desktop) and
Openhpsdr Zeus Server (backend + small status window with the LAN
URLs and a Stop Zeus button, --server). The desktop-icon checkboxes
appear on the installer's "Additional Tasks" page — pick whichever
icons you want on the desktop. ARM64 build is native for Surface Pro X
/ Snapdragon X Elite hosts. .NET 10 runtime is bundled — no separate
install requ...
Voyeur Mode engines (voyeur-engines-v1)
Static, self-contained whisper.cpp (v1.7.4) + llama.cpp (b9610) engine binaries fetched on demand by Zeus Voyeur Mode's in-app setup. Per-RID assets: whisper-.zip / llama-.zip. Built by build-voyeur-engines.yml (osx-arm64 seeded from a verified local build).
Openhpsdr Zeus v0.8.4
Openhpsdr Zeus v0.8.4
🪟 What's new — the Windows transmit→receive delay is fixed
v0.8.4 is a hotfix on top of v0.8.3: identical to 0.8.3, plus one targeted fix for the long-standing ~2-second delay returning from transmit to receive on Windows — the radio's T/R relay hanging for about two seconds after you un-key (MOX or TUNE), and voice transmit sometimes sounding slow or robotic. macOS and Linux were never affected and are unchanged — on those platforms this upgrade is optional.
How it was fixed
On Windows, the operating system's internal clock ticks coarsely (~15.6 ms) by default. That quietly throttled the rate at which Zeus fed transmit data to the radio to roughly half what's required, and delivered it in uneven bursts — starving the radio's transmit buffer. Two visible symptoms followed: on un-key the radio held its T/R relay ~2 seconds before switching back to receive, and during transmit the half-rate feed made voice play back slow / robotic.
macOS and Linux already run a ~1 ms clock, so the identical code paced correctly there — which is exactly why this was a Windows-only problem and never reproduced on Mac or Linux.
Zeus now asks Windows for 1 ms timer resolution at startup (the same approach pro-audio applications use), restoring a smooth, full-rate transmit feed. Verified on an ANAN-G2: the T/R relay now releases instantly on both TUNE and MOX, with correct power. It is a timing-only change — no drive level, PA gain, calibration, or operator default is affected — and it also benefits the Windows Protocol-1 / Hermes-Lite-2 transmit path.
Addresses #468, #336, #444, #518.
Downloads
Windows (x64 / ARM64)
- openhpsdr-zeus-0.8.4-win-x64-setup.exe
- openhpsdr-zeus-0.8.4-win-arm64-setup.exe
Installs over any previous Zeus in place. Two Start-Menu shortcuts + optional desktop icons: Openhpsdr Zeus (desktop window) and Openhpsdr Zeus Server (backend + small status window with the LAN URL and a Stop button). .NET runtime and the Visual C++ runtime are bundled.
macOS (Apple Silicon)
- OpenhpsdrZeus-0.8.4-macos-arm64.dmg
This hotfix is built from the v0.8.3 line, before Zeus's macOS signing/notarization landed, so this DMG is not notarized — macOS Gatekeeper will block it on first open. After dragging both OpenHPSDR Zeus.app and OpenHPSDR Zeus Server.app to Applications, run this once in Terminal:
xattr -cr "/Applications/OpenHPSDR Zeus.app" "/Applications/OpenHPSDR Zeus Server.app"
Then both apps open normally. Note: this is a Windows-only fix and a no-op on macOS — if you're already on v0.8.3 there's no need to upgrade. The next full release will be signed + notarized again (no xattr step).
Linux (x64)
- openhpsdr-zeus-0.8.4-linux-x64.tar.gz — extract and run
./install-icons.sh, or launch./openhpsdr-zeus(service),./openhpsdr-zeus-desktop, or./openhpsdr-zeus-server. - OpenhpsdrZeus-0.8.4-linux-x86_64.AppImage — single-file desktop launcher.
- OpenhpsdrZeus-Server-0.8.4-linux-x86_64.AppImage — single-file server launcher.
- Both AppImages need
libwebkit2gtk-4.1-0.
Changes
Full detail in the changelog. This release is v0.8.3 plus the single Windows TX→RX delay fix (#539) — nothing else.
License
GNU GPL v2 or later. See LICENSE.
🧪 TEST BUILD — ANAN-10E detection fix (issue #493) — NOT a release
🧪 TEST BUILD — not an official release
This is a one-off test build put together to check the fix for issue #493 (ANAN-10E being detected as a Hermes Lite 2 in 0.8.3). It is not an official Zeus release — please don't treat it as one, and uninstall it / go back to a normal release once we've confirmed whether it works.
What's in it: exactly the released v0.8.3, plus a single fix that corrects the board detection so an ANAN-10E is recognised as Hermes-class instead of a Hermes Lite 2. Nothing else is changed.
Who it's for: Ronnie (ANAN-10E, Windows 11) — and anyone else hitting the same misdetection.
How to test
- Download openhpsdr-zeus-0.8.3-dryrun.fc6ccfc-win-x64-setup.exe below.
- Run it (it installs over your existing Zeus — same as a normal update).
- Launch Zeus and connect to your ANAN-10E.
- Check that the radio is now detected correctly (Hermes-class, not Hermes Lite 2).
- Let us know on issue #493 whether it's fixed. 👍
(Windows x64 only — that's what was reported. If anyone needs another platform, say so on the issue.)
Openhpsdr Zeus v0.8.3
OpenHPSDR Zeus v0.8.3 — Windows audio responsiveness
⚠️ Windows operators upgrading from v0.8.0, v0.8.1, or v0.8.2: please completely uninstall the old Zeus firstIf you've been running v0.8.0..v0.8.2 on Windows, your install was almost certainly missing the Microsoft Visual C++ Runtime (the bug this release fixes) and may have left behind broken state on disk. To make sure v0.8.3 installs cleanly and starts the right way, please fully remove the old Zeus before installing the new one.
Two ways to do that, easy first.
Easy way — Revo Uninstaller (recommended)
Revo Uninstaller Free is a free Windows tool that uninstalls a program and sweeps up the leftover files, shortcuts, and registry entries the normal Windows uninstaller misses. It's the right tool for the job and you don't need to know anything technical to use it.
- Download Revo Uninstaller Free here: https://www.revouninstaller.com/products/revo-uninstaller-free/ — click the green Free Download button on that page.
- Run the installer you just downloaded. Click Next through every screen, then Install, then Finish.
- Open Revo Uninstaller from your Start menu. It will show a grid of icons for every program you have installed.
- Find OpenHPSDR-Zeus in the grid. Click it once to select it, then click the Uninstall button at the top.
- Revo asks how thorough you want to be. Pick Advanced mode (the most thorough — finds leftovers in the registry and on disk), then click Continue / Scan.
- Revo runs the normal Zeus uninstaller first. When that finishes, Revo scans for leftovers. When the scan completes, you'll see a list of leftover items — click Select All, then Delete, then Yes to confirm.
- Click Finish. Zeus is now fully gone. Scroll down to the Downloads section below and install v0.8.3.
Alternative — PowerShell commands (no extra software to install)
If you'd rather not install Revo Uninstaller, you can do exactly the same thing with built-in Windows PowerShell. Open PowerShell as Administrator first: click the Start button, type
powershell, right-click Windows PowerShell in the results, click Run as administrator, click Yes to the UAC prompt.Then copy each line below, paste it into PowerShell, and press Enter. Do them one at a time. Most of them won't show any output — that's fine, it just means there was nothing in that location to remove.
winget uninstall "OpenHPSDR-Zeus" 2>$nullRemove-Item -Recurse -Force "$env:LOCALAPPDATA\Zeus" -ErrorAction SilentlyContinueRemove-Item -Recurse -Force "$env:APPDATA\Zeus" -ErrorAction SilentlyContinueRemove-Item -Recurse -Force "$env:LOCALAPPDATA\Programs\OpenHPSDR-Zeus" -ErrorAction SilentlyContinueRemove-Item -Recurse -Force "C:\Program Files\OpenHPSDR-Zeus" -ErrorAction SilentlyContinueRemove-Item -Force "$env:USERPROFILE\Desktop\*Zeus*.lnk" -ErrorAction SilentlyContinueRemove-Item -Force "C:\Users\Public\Desktop\*Zeus*.lnk" -ErrorAction SilentlyContinueRemove-Item -Recurse -Force "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\OpenHPSDR-Zeus" -ErrorAction SilentlyContinueWhen all eight commands have run, scroll down to the Downloads section and install v0.8.3.
macOS and Linux operators
You don't need to do anything special — install the new build over the old one normally. The wipe-first advice only applies to Windows.
What's New
This is a Windows-focused hotfix release. Every Windows operator who installed v0.8.0, v0.8.1, or v0.8.2 on a fresh Windows machine has been silently broken in one or both of these ways:
- A missing Microsoft system runtime stopped Zeus's audio and DSP libraries from loading at all — leaving the operator with a blank panadapter, no audio, and no transmit power even though MOX visibly keyed the radio.
- A growing audio buffer caused the MOX-engage delay to climb to 2-3 seconds after a few minutes of operation.
v0.8.3 ships three coordinated fixes that bring the Windows operator experience to parity with macOS and Linux for the first time. macOS and Linux operators get a few small bug fixes and the new Audio Suite master bypass — nothing in this release changes Mac or Linux audio behaviour.
Windows audio responsiveness — the headline
These three fixes work together. Each is necessary; together they make Windows feel like macOS / Linux for the first time.
-
Installer now bundles the Microsoft Visual C++ Runtime (#452, #453). The runtime is what
wdsp.dllandminiaudio.dllneed to load. Fresh Windows installs without Office, Visual Studio, or another large desktop app silently miss it. The v0.8.3 installer now installs the runtime automatically (skipped if it's already there). Installer grows from ~54 MB to ~67 MB; no manual workaround needed. Diagnosed and fixed by Doug (KB2UKA) after standing up a fresh Windows 11 VM specifically to reproduce operator complaints. -
WASAPI Pro Audio scheduling hint (#450). Tells Windows to treat Zeus's audio thread as a high-priority Pro Audio workload and to use the smallest possible buffer between Zeus and the speaker. Drops that buffer from ~100-300 ms down to ~10-30 ms. No-op on macOS (CoreAudio) and Linux (ALSA/PulseAudio). Fixed by Brian (EI6LF).
-
MOX-coupled RX audio ring drain (#403, #454). On Windows, the radio's sample clock runs slightly faster than the soundcard's clock. Zeus's RX audio buffer accumulated this drift as a growing backlog — after 10+ minutes the buffer held ~1.3 seconds of audio, so pressing MOX or TUNE produced 2-3 seconds of stale audio before silence reached your ear. v0.8.3 drains the audio buffer the instant TX engages, so the MOX-engage transition stays snappy regardless of how long the session has been running. macOS and Linux see no change. Diagnosed by Doug (KB2UKA). Root cause confirmed via the desktop-vs-browser asymmetry that Ronnie (@RonnieC82) spotted in his original report.
Audio Suite
- Master Bypass toggle (#449). One click disengages the entire Audio Suite plugin chain (Noise Gate / EQ / Compressor / Exciter / Bass / Reverb) instead of clicking six separate bypass buttons. Default on a fresh install is ON (chain inert) so brand-new operators aren't surprised by an unfamiliar processing chain transforming their first TX before they've configured it. State persists across server restarts. CFC is downstream in WDSP and is unaffected — master bypass acts on the plugin chain only. Designed by Doug (KB2UKA). See the Audio Suite wiki page for operator workflow.
Protocol & RX fixes
-
HermesC10 / ANAN-G2E receive now works (#425, #440). The G2E was connecting but producing no RX signal. Root cause: an earlier PR mis-mapped the G2E's RX path to the wrong DDC slot. Fix routes it correctly. Thanks to Stig (@lb5va) for bench-confirming the fix on his own G2E before merge.
-
PureSignal stall banner direction corrected (#438, #451). Banner pointed the wrong way after a stall; messaging refinements followed. New operator-facing PS usage doc included. Fixed by Brian (EI6LF).
-
RX trace colour now persists across restarts (#437). Changes to the panadapter trace colour used to reset to default on every backend restart. Now persisted alongside the rest of the display settings.
Cleanup
- Dead 2-DDC PureSignal scaffolding removed (#434, #436). Behind-the-scenes cleanup; no operator-visible behaviour change. Thanks to Ramón (@rampa069).
Developer / infra
-
Nightly builds are now available. A rolling pre-release nightly installer is published every night from the latest
developcode at https://github.com/Kb2uka/openhpsdr-zeus/releases/tag/nightly. Useful for testers and operators who want the freshest fixes between tagged releases. The "Latest" badge stays on this tagged release. Fixed by Brian (EI6LF). -
miniaudio.dllcommitted to the repository for fresh Windows clones (#448). Developer-workflow improvement; doesn't affect installed-app behaviour. Fixed by Brian (EI6LF).
What's still next for Windows
These three fixes get Windows to parity, but optimisation continues. The MOX-coupled drain is a workaround for the underlying clock-drift between the radio and the soundcard; a proper asynchronous resampler is future work to eliminate the drift entirely.
If you're on Windows and something feels off after upgrading to v0.8.3, please open an issue. The v0.8.0..v0.8.2 Windows bugs got missed because every maintainer was on Mac or Linux — the more Windows operator voices we hear, the faster the next refinement lands.
Thanks
Openhpsdr Zeus v0.8.2
OpenHPSDR Zeus v0.8.2 — Audio Suite installer hotfix
This is a hotfix for the v0.8.0 / v0.8.1 release line. The only code change is the Audio Suite installer fix described below; for the bulk of changes in this release line — in-process Audio Suite with live pre-MOX meters and audition, dual desktop icons, single-binary Zeus, plugin system rebuild, smoothed-SWR meter, persistence fixes, and more — see v0.8.0 release notes.
🛠 What's fixed in v0.8.2
Download Audio Suite now installs all six audio plugins, not five
If you installed v0.8.0 or v0.8.1 and clicked Download Audio Suite, you got five of the six audio plugins — Noise Gate was silently skipped. v0.8.2 fixes the one-click installer to deliver all six. Same fix bumps Bass / Exciter / Reverb from v0.1.0 to v0.2.0, which shipped alongside Noise Gate on 2026-05-19 — so the suite installer now distributes the current releases of every plugin, not last week's.
Manifest IDs and versions distributed by Download Audio Suite as of v0.8.2 (in install order; conventional voice-chain signal flow):
| Slot | Plugin | Version | Status in v0.8.2 |
|---|---|---|---|
| 1 | com.openhpsdr.zeus.samples.noisegate |
v0.1.0 | new in suite |
| 2 | com.openhpsdr.zeus.samples.eq |
v0.2.0 | unchanged |
| 3 | com.openhpsdr.zeus.samples.compressor |
v0.1.2 | unchanged |
| 4 | com.openhpsdr.zeus.samples.exciter |
v0.2.0 | bumped from v0.1.0 |
| 5 | com.openhpsdr.zeus.samples.bass |
v0.2.0 | bumped from v0.1.0 |
| 6 | com.openhpsdr.zeus.samples.reverb |
v0.2.0 | bumped from v0.1.0 |
Bench-verified end-to-end: wiped the plugins directory of all six audio plugins, clicked Download Audio Suite, all six installed fresh, all six loaded on next desktop restart.
Also in this release
- Recognized Ramón Martínez (EA5IUE) as a core contributor (#404, @brianbruff). README and ATTRIBUTIONS updated.
⚠️ Upgrade notes
If you've already installed v0.8.0 or v0.8.1, the v0.8.2 installer is a clean upgrade:
- Windows: run the new
openhpsdr-zeus-0.8.2-win-x64-setup.exe(or-arm64-) — it upgrades in place via the same AppId. - macOS: drag the new
OpenHPSDR Zeus.appandOpenHPSDR Zeus Server.appout of the v0.8.2 DMG and replace the previous ones. Don't forget the quarantine clear:xattr -cr "/Applications/OpenHPSDR Zeus.app" xattr -cr "/Applications/OpenHPSDR Zeus Server.app"
- Linux: extract the new tarball over the old one, or replace your AppImages.
If you're coming from v0.7.x or earlier, follow the v0.8.0 uninstall-first instructions — the icon rename from "Zeus" to "OpenHPSDR Zeus" still applies.
Already running the suite from v0.8.0 / v0.8.1?
The Audio Suite installer skips plugins it already sees as installed. To pick up Noise Gate + the v0.2.0 bumps after upgrading the desktop binary:
- Open Plugins → Browse in the Zeus UI.
- Uninstall the v0.1.0 versions of Bass, Exciter, and Reverb (and add Noise Gate manually if you didn't have it).
- Click Download Audio Suite — it'll install all six fresh.
- Restart Zeus when prompted.
Your plugin settings (chain order, gains, threshold curves, etc.) persist in zeus-prefs.db keyed by plugin id, so they rehydrate automatically on reinstall.
Your saved settings (chain order, drive %, VFO, mode, filter, etc.) survive the upgrade.
Downloads
Windows (x64 / ARM64)
- openhpsdr-zeus-0.8.2-win-x64-setup.exe
- openhpsdr-zeus-0.8.2-win-arm64-setup.exe
macOS (Apple Silicon)
- OpenhpsdrZeus-0.8.2-macos-arm64.dmg
Remember the xattr -cr step above.
Linux (x64)
- openhpsdr-zeus-0.8.2-linux-x64.tar.gz
- OpenhpsdrZeus-0.8.2-linux-x86_64.AppImage (desktop)
- OpenhpsdrZeus-Server-0.8.2-linux-x86_64.AppImage (backend + status window)
Both AppImages require libwebkit2gtk-4.1-0.
Full changelog
- v0.8.2 only: see CHANGELOG
[0.8.2]. - v0.8.0 feature set: see v0.8.0 release notes and CHANGELOG
[0.8.0]. - v0.8.1 → v0.8.2 diff: v0.8.1...v0.8.2.
License
GNU GPL v2 or later. See LICENSE.